सेवडेटा, लोडडेटा और क्लियरडेटा फ़ंक्शन

इन पर लागू होता है: कैनवास ऐप्स

अनुप्रयोग होस्ट के स्टोरेज से संग्रह सहेजता है और फिर से लोड करता है.

नोट

इन फ़ंक्शन का उपयोग अब ऐप चलाते समय वेब ब्राउज़र में प्रायोगिक सुविधा के रूप में किया जा सकता है. यह सुविधा मूलभूत रूप से अक्षम है. सक्षम करने के लिए, सेटिंग>आगामी विशेषताएं>प्रयोगात्मक>सक्षम किया गया SaveData, LoadData, ClearData वेब प्लेयर नेविगेट करें." और चालू करें। इस प्रायोगिक सुविधा के संबंध में फ़ीडबैक सबमिट करने के लिए, Power Apps समुदाय फ़ोरम पर जाएं.

विवरण

SaveData फ़ंक्शन संग्रह को बाद में उपयोग के लिए एक नाम के तहत संग्रहीत करता है.

LoadData फ़ंक्शन नाम से अनुसार किसी संग्रह को पुनः लोड करता है जिसे पहले SaveData से सहेजा गया था. आप किसी अन्य स्रोत से संग्रह लोड करने के लिए इस फ़ंक्शन का उपयोग नहीं कर सकते.

ClearData फ़ंक्शन किसी विशिष्ट नाम के अंतर्गत स्टोरेज को साफ़ करता है या यदि कोई नाम नहीं दिया गया है तो अनुप्रयोग से जुड़े सभी स्टोरेज को साफ़ करता है.

नोट

  • SaveData, LoadData और ClearData के बीच साझा नाम एक कुंजी है, न कि फ़ाइल नाम. यह जटिल नहीं होना चाहिए क्योंकि प्रत्येक ऐप के लिए नाम अद्वितीय है और इसमें नाम में विरोधाभास होने का कोई खतरा नहीं है. नाम में इनमें से कोई भी वर्ण नहीं होने चाहिए: *".?:\<>|/.
  • टीमों और वेब ब्राउज़र में चल रहे Power Apps के लिए SaveData 1 MB डेटा तक सीमित है. मोबाइल प्लेयर में चलने वाले Power Apps के लिए कोई निश्चित सीमा नहीं है लेकिन नीचे चर्चा की गई व्यावहारिक सीमाएँ हैं.
  • संवेदनशील डेटा को वेब में संग्रहीत करने के लिए SaveData का उपयोग न करें क्योंकि यह सादे पाठ में संग्रहीत किया जाएगा।

ऐप-स्टार्टअप प्रदर्शन को बेहतर बनाने के लिए इन फ़ंक्शन का उपयोग करें:

  • पहले रन में App.OnStart सूत्र में डेटा कैश करना.
  • अगले रनों में स्थानीय कैश पुनः लोड करना.

आप इन फ़ंक्शन को अपने ऐप में साधारण ऑफ़लाइन क्षमताएं जोड़ने के लिए भी उपयोग कर सकते हैं.

आप इन स्थितियों में इन फ़ंक्शन का उपयोग ब्राउज़र में नहीं कर सकते हैं:

  • Power Apps Studio में ऐप्स ऑथर करना.

अपने ऐप का परीक्षण करने के लिए, इसे किसी iPhone या Android डिवाइस पर Power Apps मोबाइल में चलाएं.

ये फ़ंक्शन उपलब्ध ऐप मेमोरी की मात्रा के द्वारा सीमित हैं क्योंकि ये इन-मेमोरी संग्रह पर काम करते हैं. उपलब्ध मेमोरी निम्न कारकों के आधार पर भिन्न हो सकती है:

  • डिवाइस और ऑपरेटिंग सिस्टम.
  • वह मेमोरी जो Power Apps प्लेयर उपयोग करता है.
  • स्क्रीन और नियंत्रण के साथ ऐप की जटिलता.

बड़ा डेटा संग्रहीत करते समय, आप डिवाइसेस के जिन प्रकार पर ऐप को चलाने की अपेक्षा करते हैं, उन पर अपेक्षित परिदृश्यों के साथ अपने ऐप का परीक्षण करें. आमतौर पर 30 MB और 70 MB के बीच उपलब्ध मेमोरी की अपेक्षा करें.

ये फ़ंक्शंस संग्रह पर निर्भर करते हैं जिन्हें Collect या ClearCollect से अप्रत्यक्ष रूप से परिभाषित किया जाता है. संग्रह को परिभाषित करने के लिए आपको Collect या ClearCollect को कॉल करके उसमें डेटा लोड करने की आवश्यकता नहीं है. पिछले SaveData के बाद LoadData का उपयोग करते समय यह एक सामान्य स्थिति है. संग्रह की संरचना को अप्रत्यक्ष रूप से परिभाषित करने के लिए, सभी कुछ जो चाहिए वह एक सूत्र में इन फ़ंक्शन की उपस्थिति है. अधिक जानकारी के लिए, चर बनाना और निकालना देखें.

लोड किए गए डेटा को संग्रह में जोड़ा जाएगा. अगर आप एक खाली संग्रह के साथ शुरू करना चाहते हैं, तो LoadData को कॉल करने से पहले Clear फ़ंक्शन का उपयोग करें.

डेटा सुरक्षा

SaveData के साथ संग्रहीत डेटा के अलगाव और एन्क्रिप्शन पर ध्यान से विचार करें और तय करें कि क्या यह आपकी आवश्यकताओं के लिए उपयुक्त है, खासकर यदि डिवाइस कई उपयोगकर्ताओं द्वारा साझा किए जाते हैं।

SaveData के साथ संग्रहीत डेटा को Power Apps प्लेयर्स द्वारा अन्य Power Apps से अलग किया जाता है। डेटा को ऐप की ऐप आईडी के आधार पर संग्रहीत किया जाता है, स्वचालित रूप से SaveData नाम स्थान को अलग कर दिया जाता है। Power Apps

ऑपरेटिंग सिस्टम और ब्राउज़र डिवाइस पर और वेबसाइटों के साथ Power Apps और अन्य ऐप्स के बीच डेटा को अलग करने के लिए ज़िम्मेदार है। उदाहरण के लिए, ऑपरेटिंग सिस्टम Microsoft Outlook में संग्रहीत डेटा को Power Apps में संग्रहीत डेटा से अलग करने के लिए जिम्मेदार है, और उस डेटा को Bing.com या PowerApps.com जैसी वेबसाइटों से भी अलग करने के लिए जिम्मेदार है। ऑपरेटिंग सिस्टम की अंतर्निहित ऐप सैंडबॉक्स सुविधाओं का उपयोग SaveData भंडारण के लिए किया जाता है जो आमतौर पर उपयोगकर्ता के लिए पहुंच योग्य या छिपा हुआ नहीं होता है।

एक ही ऐप का उपयोग करते समय, ऑपरेटिंग सिस्टम और ब्राउज़र विभिन्न ऑपरेटिंग सिस्टम स्तर के उपयोगकर्ताओं के बीच डेटा को अलग करने के लिए भी जिम्मेदार होते हैं। उदाहरण के लिए, यदि दो अलग-अलग उपयोगकर्ता एक कंप्यूटर साझा करते हैं और दो अलग-अलग विंडोज लॉगिन क्रेडेंशियल का उपयोग करते हैं, तो ऑपरेटिंग सिस्टम दो विंडोज उपयोगकर्ताओं के बीच डेटा को अलग करने के लिए जिम्मेदार है।

यदि ऑपरेटिंग सिस्टम उपयोगकर्ता एक ही है तो डेटा अलग-अलग Power Apps उपयोगकर्ताओं के बीच अलग हो भी सकता है और नहीं भी। प्रत्येक Power Apps खिलाड़ी इसके साथ एक जैसा व्यवहार नहीं करता। उदाहरण के लिए, एक ही विंडोज उपयोगकर्ता के रूप में लॉग इन करते समय, Power Apps प्लेयर में, उपयोगकर्ता Power Apps से साइन आउट होता है और एक अलग Power Apps उपयोगकर्ता के रूप में साइन इन होता है। Power Apps उपयोगकर्ता के परिवर्तन से पहले किसी ऐप में संग्रहीत डेटा, उसी ऐप के भीतर दूसरे Power Apps उपयोगकर्ता के लिए पहुंच योग्य हो सकता है। डेटा को हटाया भी जा सकता है और पहला Power Apps उपयोगकर्ता अब उस तक पहुंच नहीं पाएगा. खिलाड़ियों के बीच व्यवहार भिन्न-भिन्न होता है। Power Apps

ऑपरेटिंग सिस्टम डेटा को एन्क्रिप्ट भी कर सकता है या आप मोबाइल डिवाइस प्रबंधन टूल जैसे Microsoft Intune का उपयोग कर सकते हैं। वेब ब्राउज़र में ऐप चलाते समय संग्रहित डेटा एन्क्रिप्ट नहीं किया जाता है.

सिंटैक्स

SaveData( Collection, Name )
LoadData( Collection, Name [, IgnoreNonexistentFile ])

  • संग्रह - आवश्यक. संग्रह जिसे संग्रहीत या लोड किया जाना है.
  • नाम - आवश्यक. संग्रहण का नाम. डेटा के समान सेट को सहेजने और लोड करने के लिए नाम समान होना चाहिए. नाम स्थान अन्य ऐप्स के साथ साझा नहीं किया जाता है. नामों में इनमें से कोई भी वर्ण नहीं होने चाहिए: *".?:\<>|/.
  • IgnoreNonexistentFile - वैकल्पिक. यदि फ़ाइल पहले से मौजूद नहीं है तो क्या करें, यह दर्शाने वाला बूलियन मान. त्रुटि वापस लौटाने के लिए गलत (डिफ़ॉल्ट) का उपयोग करें और त्रुटि को दबाने के लिए सही का उपयोग करें.

ClearData( [नाम] )

  • नाम - वैकल्पिक. स्टोरेज का नाम पहले SaveData के साथ सहेजा गया है. यदि नाम प्रदान नहीं किया गया है, तो अनुप्रयोग से जुड़े सभी स्टोरेज साफ़ हो जाते हैं.

उदाहरण

सूत्र विवरण परिणाम
SaveData( LocalCache, "MyCache" ) LocalCache संग्रह को उपयोगकर्ता के डिवाइस पर "MyCache" नाम के तहत सहेजें, जो कि LoadData द्वारा बाद में पुनर्प्राप्त करने के लिए उपयुक्त है. डेटा "MyCache" नाम के अंतर्गत अनुप्रयोग होस्ट में सहेजा गया है.
LoadData( LocalCache, "MyCache" ) "MyCache" नाम के तहत, उपयोगकर्ता के डिवाइस से LocalCache संग्रह लोड करता है, जिसे पहले SaveData करने के लिए कॉल करके संग्रहीत किया गया था. डेटा "MyCache" नाम के अंतर्गत अनुप्रयोग होस्ट से लोड किया गया है.
ClearData( "MyCache" ) "MyCache" नाम से स्टोरेज को साफ़ करता है. इस नाम के अंतर्गत स्टोर कोई भी डेटा अब LoadData के माध्यम से उपलब्ध नहीं होगा. डेटा "MyCache" नाम के अंतर्गत अनुप्रयोग होस्ट से हटा दिया गया है.
ClearData() इस अनुप्रयोग से जुड़े सभी स्टोरेज को साफ़ करें. अन्य अनुप्रयोग्स द्वारा स्टोर किया गया डेटा प्रभावित नहीं होता है. अनुप्रयोग होस्ट से सभी डेटा हटा दिया गया है.

सरल ऑफ़लाइन उदाहरण

निम्न सरल उदाहरण, ऑफ़लाइन रहते हुए, दैनिक आइटम्स के नाम और चित्र कैप्चर और संग्रहीत करता है. यह बाद में उपयोग के लिए डिवाइस के स्थानीय संग्रहण में जानकारी संग्रहीत करता है. यह बिना डेटा खोए ऐप को बंद करने या डिवाइस को पुनरारंभ करने देता है.

नोट

यह उदाहरण छवियों को कैप्चर करने के लिए कैमरा नियंत्रण का उपयोग करता है. चूंकि SaveData टीम या वेब ब्राउज़र में चलते समय 1 MB डेटा तक सीमित है, इसलिए यह उदाहरण कुछ से अधिक छवियों के साथ काम नहीं करेगा. साथ ही, कैमरे के आधार पर, यह एक छवि के साथ भी काम नहीं कर सकता है. इस पूरे उदाहरण के माध्यम से काम करने के लिए एक डिवाइस का उपयोग करें, या Teams या वेब ब्राउज़र में चलाने के लिए इस उदाहरण के कैमरा नियंत्रण और चित्र भाग को हटा दें.

  1. टैबलेट लेआउट के साथ एक रिक्त कैनवास ऐप बनाएं. अधिक जानकारी के लिए, एक टेम्प्लेट से ऐप बनाना पढ़ें और रिक्त ऐप के अंतर्गत टैबलेट लेआउट का चयन करें.

  2. एक पाठ इनपुटनियंत्रण और कैमरा नियंत्रण जोड़ें और उन्हें दिखाए अनुसार व्यवस्थित करें:

    रिक्त स्क्रीन पर एक टेक्स्ट इनपुट और कैमरा नियंत्रण जोड़ा गया।

  3. एक बटन नियंत्रण जोड़ें.

  4. बटन नियंत्रण पर डबल-क्लिक करें ताकि बटन पाठ में आइटम जोड़ने (या पाठ गुण को संशोधित करने ) के लिए बटन पाठ को बदला जा सके.

  5. इस बटन नियंत्रण के OnSelect गुण को इस सूत्र पर सेट करें जो हमारे संग्रहण में आइटम जोड़ देगा.

    Collect( MyItems, { Item: TextInput1.Text, Picture: Camera1.Photo } )
    

  6. एक अन्य बटन नियंत्रण जोड़ें.

  7. बटन पाठ को डेटा सहेजने (या पाठ गुण को संशोधित करने ) के लिए बदलने के लिए बटन नियंत्रण पर डबल-क्लिक करें.

  8. बटन नियंत्रण के OnSelect गुण को इस सूत्र पर सेट करें ताकि हमारे संग्रहण को स्थानीय डिवाइस पर सहेजा जा सके:

    SaveData( MyItems, "LocalSavedItems" )
    

    इस बटन का परीक्षण करना आपको आकर्षित कर सकता है क्योंकि इससे कुछ भी प्रभावित नहीं होता है. लेकिन आपको केवल एक त्रुटि दिखाई देगी क्योंकि आप वेब ब्राउज़र में लेखन कर रहे हैं. इस सूत्र का परीक्षण करने के लिए अगले चरणों का पालन करने से पहले, ऐप को पहले सहेजें और डिवाइस पर खोलें:

  9. एक तीसरा बटन नियंत्रण जोड़ें.

  10. बटन पाठ को डेटा लोड करें (या Text गुण को संशोधित करने ) के लिए बदलने के लिए बटन नियंत्रण पर डबल-क्लिक करें.

  11. बटन नियंत्रण के OnSelect गुण को इस सूत्र पर सेट करें ताकि हमारे संग्रहण को स्थानीय डिवाइस से लोड किया जा सके:

    LoadData( MyItems, "LocalSavedItems" )
    

  12. एक लंबवत लेआउट के साथ गैलरी नियंत्रण जोड़ें जिसमें एक चित्र और पाठ क्षेत्र शामिल हैं:

    गैलरी विविधता चयन, छवि और पाठ क्षेत्रों के साथ

  13. संकेत दिए जाने पर, इस गैलरी के लिए डेटा स्रोत के रूप में मेरे आइटम संग्रहण का चयन करें. इससे गैलरी नियंत्रण का आइटम्स गुण सेट हो जाएगा:

    डेटा स्रोत का गैलरी चयन।गैलरी टेम्प्लेट में छवि नियंत्रण को इसकी छवि संपत्ति को ThisItem.Picture पर डिफ़ॉल्ट करना चाहिए और लेबल नियंत्रण दोनों को होना चाहिए उनके Text गुणों को ThisItem.Item पर डिफ़ॉल्ट करें। अगर निम्न चरणों में आइटम जोड़ने के बाद आपको गैलरी में कुछ नहीं दिखाई देता है, तो इन सूत्रों की जाँच करें.

  14. नियंत्रण की स्थिति अन्य नियंत्रणों के दाईं ओर करें:

    गैलरी को स्क्रीन के दाईं ओर पुनः स्थापित किया गया है।

  15. अपना ऐप सहेजें. यदि यह पहली बार सहेजा गया है, तो इसे प्रकाशित करने की कोई आवश्यकता नहीं है. यदि यह पहली बार नहीं है, तो सहेजने के बाद ऐप प्रकाशित करें.

  16. अपने ऐप को किसी डिवाइस जैसे फ़ोन या टैबलेट पर खोलें. SaveData और LoadData को स्टूडियो या वेब ब्राउज़र में उपयोग नहीं किया जा सकता है. यदि आपको अपना ऐप तुरंत दिखाई नहीं देता है, तो ऐप सूची को ताज़ा करें, ऐप को आपके डिवाइस पर प्रदर्शित होने में कुछ सेकंड लग सकते हैं. अपने खाते से साइन आउट करना और वापस जाना भी मदद कर सकता है.

    ऐप बिना कोई आइटम जोड़े चल रहा है।एक बार आपका ऐप डाउनलोड हो जाने के बाद, आप नेटवर्क से डिस्कनेक्ट कर सकते हैं और ऐप को ऑफ़लाइन चला सकते हैं।

  17. नाम दर्ज करें और किसी आइटम का चित्र लें.

  18. आइटम जोड़ें बटन का चयन करें. अपने संग्रह को लोड करने के लिए आइटम जोड़ने को कई बार दोहराएं.

    ऐप तीन आइटम जोड़कर चल रहा है।

  19. डेटा सहेजें बटन का चयन करें. यह आपके डेटा को आपके स्थानीय डिवाइस के आपके संग्रह में सहेजेगा.

  20. ऐप बंद करें. मेमोरी में आपका संग्रह सभी आइटम के नामों और चित्रों सहित खो जाएगा, लेकिन फिर भी वे डिवाइस के संग्रहण में रहेंगे.

  21. ऐप को दोबारा लॉन्च करें. मेमोरी में संग्रह, गैलरी में दोबारा खाली दिखाई देगा.

    ऐप फिर से बिना किसी आइटम के चल रहा है।

  22. डेटा लोड करें बटन का चयन करें. संग्रह आपके डिवाइस पर संग्रहीत डेटा से दोबारा पॉप्यूलेट होगा और आपके आइटम गैलरी में वापस आ जाएंगे. इस बटन द्वारा LoadData फ़ंक्शन कॉल करने से पहले संग्रह खाली था, संग्रहण से डेटा लोड करने से पहले Collect or ClearCollect को कॉल करने की कोई आवश्यकता नहीं थी.

    लोडडेटा फ़ंक्शन को कॉल करने के बाद तीन आइटम के साथ चलने वाला ऐप बहाल हो गया।

  23. डेटा लोड करें बटन का दोबारा चयन करें. संग्रहीत डेटा को संग्रह के अंत में जोड़ा जाएगा और गैलरी पर एक स्क्रॉल बार दिखाई देगा. यदि आप जोड़ने के बजाय प्रतिस्थापित करना चाहते हैं, तो LoadData फ़ंक्शन को कॉल करने से पहले संग्रह को साफ़ करने के लिए पहले Clear फ़ंक्शन का उपयोग करें.

    लोडडेटा फ़ंक्शन को दो बार कॉल करने के बाद छह आइटमों के साथ चलने वाला ऐप बहाल हो गया।

अधिक उन्नत ऑफ़लाइन उदाहरण

एक विस्तृत उदाहरण के लिए, सरल ऑफ़लाइन क्षमताओं पर एक आलेख देखें.