इनपुट और आउटपुट बाइंडिंग प्रकारों का अन्वेषण करें

Complete 100 XP

कई सॉफ्टवेयर समाधानों में डेटा तक पहुंचना और संसाधित करना महत्वपूर्ण कार्य हैं। इनमें से कुछ परिदृश्यों पर विचार करें:

  • आपसे आवक डेटा को Azure ब्लॉब संग्रहण से Azure Cosmos DB में ले जाने का तरीका कार्यान्वित करने के लिए कहा जाता है.
  • आप आवक संदेशों को अपने एंटरप्राइज़ में किसी अन्य घटक द्वारा संसाधित करने के लिए क्यू में पोस्ट करना चाहते हैं.
  • आपकी सेवा को एक कतार से गेमर स्कोर हथियाने और एक ऑनलाइन स्कोरबोर्ड अपडेट करने की आवश्यकता है।

ये सभी उदाहरण डेटा को स्थानांतरित करने के बारे में हैं। डेटा स्रोत और गंतव्य परिदृश्य से परिदृश्य में भिन्न होते हैं, लेकिन पैटर्न समान है। आप किसी डेटा स्रोत से कनेक्ट करें, और आप पढ़ने और डेटा लिखने। Azure फ़ंक्शंस बाइंडिंग का उपयोग करके डेटा और सेवाओं के साथ एकीकृत करने में आपकी मदद करता है.

एक बंधन क्या है?

Azure फ़ंक्शंस में, बाइंडिंग आपके कोड के भीतर से डेटा से कनेक्ट करने के लिए एक घोषणात्मक तरीका प्रदान करते हैं। वे एक फ़ंक्शन में लगातार डेटा स्ट्रीम के साथ एकीकृत करना आसान बनाते हैं। आपके पास विभिन्न डेटा तत्वों तक पहुंच प्रदान करने वाले कई बाइंडिंग हो सकते हैं। यह एकीकरण शक्तिशाली है क्योंकि आप विशिष्ट कनेक्शन तर्क (जैसे डेटाबेस कनेक्शन या वेब एपीआई इंटरफेस) को कोड किए बिना अपने डेटा स्रोतों से कनेक्ट कर सकते हैं।

बाइंडिंग के प्रकार

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

  • इनपुट बाइंडिंग - स्रोत डेटासे जुड़ता है। हमारा फ़ंक्शन इन इनपुट स्रोतों से डेटा पढ़ सकता है।

  • आउटपुट बाइंडिंग - डेटा गंतव्यसे जुड़ता है। हमारा फ़ंक्शन इन आउटपुट गंतव्यों को डेटा लिख सकता है।

ट्रिगर भी हैं, जो विशेष प्रकार के इनपुट बाइंडिंग हैं जो फ़ंक्शन को चलाने का कारण बनते हैं। उदाहरण के लिए, Azure इवेंट ग्रिड सूचना को ट्रिगर के रूप में कॉन्फ़िगर किया जा सकता है. जब कोई घटना होती है, तो फ़ंक्शन चलता है।

समर्थित बाइंडिंग के प्रकार

बाध्यकारी का प्रकार परिभाषित करता है कि हम डेटा कहां पढ़ रहे हैं या भेज रहे हैं। वेब अनुरोधों का जवाब देने के लिए एक बाध्यकारी है, और विभिन्न Azure सेवाओं और तृतीय-पक्ष सेवाओं के साथ सीधे बातचीत करने के लिए बाइंडिंग का एक बड़ा चयन है।

एक बाध्यकारी प्रकार का उपयोग इनपुट, आउटपुट या दोनों के रूप में किया जा सकता है। उदाहरण के लिए, एक फ़ंक्शन ब्लॉब स्टोरेज आउटपुट बाइंडिंग पर लिख सकता है, लेकिन ब्लॉब स्टोरेज अपडेट किसी अन्य फ़ंक्शन को ट्रिगर कर सकता है।

सामान्य बाध्यकारी प्रकारों में शामिल हैं:

  • बूँद भंडारण
  • Azure Service Bus Queues
  • Azure Cosmos DB
  • Azure Event Hubs
  • बाहरी फ़ाइलें
  • बाहरी तालिकाएँ
  • HTTP समापन बिंदु

ये प्रकार सिर्फ एक नमूना हैं। अधिक हैं, प्लस फ़ंक्शंस में अधिक बाइंडिंग जोड़ने के लिए एक एक्स्टेंसिबिलिटी मॉडल है।

बाइंडिंग गुण

सभी बाइंडिंग में तीन गुणों की आवश्यकता होती है, हालांकि आपके द्वारा उपयोग किए जा रहे बाइंडिंग और स्टोरेज के प्रकार के आधार पर आपको अधिक गुणों की आपूर्ति करनी पड़ सकती है।

  • नाम - फ़ंक्शन पैरामीटर को परिभाषित करता है जिसके माध्यम से आप डेटा तक पहुंचते हैं। उदाहरण के लिए, क्यू इनपुट बाइंडिंग में, यह गुण फ़ंक्शन पैरामीटर का नाम है जो क्यू संदेश सामग्री प्राप्त करता है.

  • प्रकार - बाइंडिंग के प्रकार की पहचान करता है। उदाहरण के लिए, डेटा या सेवा का वह प्रकार जिसके साथ आप सहभागिता करना चाहते हैं.

  • दिशा - इंगित करता है कि दिशा डेटा प्रवाहित हो रहा है। उदाहरण के लिए, क्या यह इनपुट या आउटपुट बाइंडिंग है?

इसके अतिरिक्त, अधिकांश बाध्यकारी प्रकारों को चौथी संपत्ति की भी आवश्यकता होती है:

  • कनेक्शन - उस अनुप्रयोग सेटिंग कुंजी का नाम प्रदान करता है जिसमें कनेक्शन स्ट्रिंग होती है. बाइंडिंग फ़ंक्शन कोड से रहस्यों को बाहर रखने के लिए ऐप सेटिंग्स में संग्रहीत कनेक्शन स्ट्रिंग्स का उपयोग करते हैं। कनेक्शन स्ट्रिंग आपके कोड को अधिक कॉन्फ़िगर करने योग्य और सुरक्षित बनाती हैं।

बाइंडिंग बनाना

बाइंडिंग JSON में परिभाषित की गई हैं। आपके फ़ंक्शन की कॉन्फ़िगरेशन फ़ाइल में एक बाइंडिंग कॉन्फ़िगर की गई है, जिसे function.json नाम दिया गया है और आपके फ़ंक्शन कोड के समान फ़ोल्डर में रहता है।

आइए इनपुट बाइंडिंग एक नमूने की जांच करें:

JSON
    ...
    {
      "name": "headshotBlob",
      "type": "blob",
      "path": "thumbnail-images/{filename}",
      "connection": "HeadshotStorageConnection",
      "direction": "in"
    },
    ...

इस बाइंडिंग को बनाने के लिए, हम:

  1. हमारी function.json फाइल में एक बाइंडिंग बनाएं।

  2. name चर के लिए मान प्रदान करें। इस उदाहरण में, चर ब्लॉब डेटा रखता है।

  3. भंडारण typeप्रदान करें। पिछले उदाहरण में, हम ब्लॉब स्टोरेज का उपयोग कर रहे हैं।

  4. pathप्रदान करें, जो कंटेनर और उसमें जाने वाले आइटम नाम को निर्दिष्ट करता है। ब्लॉब ट्रिगर का उपयोग करते समय path संपत्ति की आवश्यकता होती है, और पथ के फ़ाइल नाम भाग के चारों ओर घुंघराले ब्रेसिज़ के साथ, यहां दिखाए गए शैली में प्रदान किया जाना चाहिए। यह सिंटैक्स एक बाध्यकारी अभिव्यक्ति बनाता है जो आपको अन्य बाइंडिंग में और आपके फ़ंक्शन के कोड में ब्लॉब के नाम को संदर्भित करने की अनुमति देता है। इस उदाहरण में, फ़ाइल नाम नामक फ़ंक्शन पर एक पैरामीटर फ़ंक्शन को ट्रिगर करने वाले ब्लॉब फ़ाइल नाम से पॉप्युलेट किया जाएगा।

  5. एप्लिकेशन की सेटिंग फ़ाइल में परिभाषित connection स्ट्रिंग सेटिंग नाम प्रदान करें। नाम का उपयोग आपके संग्रहण खाते से कनेक्ट करने के लिए कनेक्शन स्ट्रिंग ढूँढने के लिए कुंजी के रूप में किया जाता है.

  6. direction को inके रूप में परिभाषित करें। यह बूँद से डेटा पढ़ता है।

बाइंडिंग का उपयोग आपके फ़ंक्शन में डेटा से कनेक्ट करने के लिए किया जाता है। इस उदाहरण में, हमने थंबनेल के रूप में हमारे फ़ंक्शन द्वारा प्रसंस्करण के लिए उपयोगकर्ता छवियों को जोड़ने के लिए एक इनपुट बाइंडिंग का उपयोग किया।


अगली यूनिट: व्यायाम - इनपुट और आउटपुट बाइंडिंग प्रकारों का अन्वेषण करें

पिछला अगला