नमस्कार

हिंदी भाषा के इस लेख में आपका स्वागत है, आपके प्रतिक्रिया का हमें इंतेज़ार रहेगा और हम आशा करते है की यह लेख आपके लिए उपयोगी साबित होगी।



Credits

Translated from: Azure Logic Apps: Call nested Logic Apps directly from Logic Apps Designer
Author: 

परिचय

Microsoft उत्पाद एकीकरण टीम उनके मासिक webcast (है कि आप इसे यहाँ देख सकते हैं) पर इस महीने अब तर्क की तरह क्षुधा में उपलब्ध हैं जो नई सुविधाओं में से कुछ की घोषणा की:

  • "अब किसी को ट्रिगर से चलाएँ"
  • डिज़ाइनर में HTTP Webhook
  • SQL Azure कनेक्टर अब संग्रह प्रक्रिया का समर्थन करता है
  • Azure कार्य एकीकरण और कुछ अन्य सुविधाएँ

मेरे पिछले लेख में मैं नया "Azure कार्यों के एकीकरण के बारे में" (यहाँ और यहाँ) बात की थी। उत्पाद समूह ने घोषणा की "नेस्टेड वर्कफ़्लो Designer में कॉल", और अच्छी खबर के लिए की क्षमता थी कि विशेषताओं में से एक है कि यह हमारे लिए "खेलने के लिए" वर्तमान में उपलब्ध है।

यह एक महान विशेषता है कि करने के लिए हमें की अनुमति देगा है:
  • पुन: प्रयोज्य टुकड़े बनाएँ
  • कुछ तर्क Apps सीमाएँ overcome, और क्या मेरा मतलब है कि द्वारा उदाहरण के लिए है:
    • एक से अधिक क्रिया हालत शाखा के अंदर जोड़ने की क्षमता (यह वास्तव में एक झूठे बयान है);
    • या एक से अधिक क्रिया लूप के अंदर जोड़ने की क्षमता;

नेस्टेड वर्कफ़्लोज़ कॉल, या तर्क Apps, एक और तर्क App से वास्तव में नहीं एक नई सुविधा है। हम पिछले सकता है जैसा कि आप इस पोस्ट में देख सकते हैं इस लक्ष्य को हासिल: का उपयोग नेस्टेड Azure तर्क Apps.. या Invoking बहती है एक और तर्क App से   । तथापि, यह एक "प्रथम श्रेणी" अनुभव नहीं था और हम इस लक्ष्य को प्राप्त करने में सक्षम होना करने के लिए कुछ समाधान को कार्यान्वित करने के लिए मजबूर किया गया... अब और नहीं! अब यह तरीका ज्यादा सरल और के साथ एक अच्छा उपयोगकर्ता अनुभव डिज़ाइनर में!

"बच्चे" तर्क App बनाने

पहली बात यह है कि आप की जरूरत है पता करने के लिए है कि, अगर आप एक तर्क App है कि आप किसी अन्य तर्क App के माध्यम से कॉल कर सकते हैं बनाना चाहते हैं:

  • ""मैनुअल-जब कोई HTTP अनुरोध प्राप्त किया हैकी जरूरत है कि तर्क App का ट्रिगर
  • और यह करना चाहिए एक "प्रतिक्रिया" क्रिया के साथ समाप्त
क्या होगा अगर हम तर्क App में हमारे बच्चे "प्रतिक्रिया" क्रिया जोड़ें नहीं है:
  • पैरेंट चाइल्ड कार्यप्रवाह कॉल करेगा
  • चाइल्ड कार्यप्रवाह क्रियान्वित की जाएगी
  • लेकिन पैरेंट कार्य प्रवाह निम्न त्रुटि के साथ विफल हो जाएगा:

नेस्टेड वर्कफ़्लो '{बच्चे तर्क App Name}' पर प्रतीक्षा करने के लिए, यह एक प्रतिक्रिया कार्रवाई होना चाहिए।

चलो कैसे हम सीधे तर्क Apps डिजाइनर से नेस्टेड तर्क Apps कॉल कर सकते हैं प्रदर्शन करने के लिए एक सरल परिदृश्य बनाएँ। इस नमूने में हम एक बच्चे तर्क अनुप्रयोग बनाने के लिए चाहते हैं कि:

  • यह ट्रिगर मैन्युअल रूप से, जो एक HTTP पोस्ट के माध्यम से इसका मतलब है के है;
    • इस स्थिति में, चलो विचार निम्न JSON संदेश
{   
   "Request": {   
      "text" "text that we want to put in file content"    
   }   
}
  • उसके बाद यह गतिशील रूप से फ़ाइल नाम जनरेट करने के लिए एक Azure फ़ंक्शन को कॉल होगा;
  • एक Dropbox फ़ाइल बनाएँ
    • फ़ाइल का नाम यह है प्रदान Azure फ़ंक्शन द्वारा;
    • और संदेश की सामग्री यह इस तर्क App से चलाता है जो HTTP अनुरोध में पारित कर दिया है।
  • और अंत में फ़ाइल के निर्माण की स्थिति पर आधारित एक HTTP प्रतिसाद दिया;

कि हम की जरूरत को पूरा करने के लिए:

  • Azure पोर्टल पर "तर्क Apps" विकल्प पर क्लिक करें और एक नया तर्क अनुप्रयोग बनाने के लिए "जोड़ें" क्लिक करें।
  • "बनाएँ तर्क app" पैनल में हम इसे देने के लिए की जरूरत है:
    • एक "नाम", उदाहरण के लिए "AddFileToDropbox"
    • वांछित "सदस्यता" का चयन करें (यदि आपने एक से अधिक)
    • वांछित "संसाधन समूह' का चयन करें या एक नया बनाएँ
    • और अंत में 'App सेवा योजना' परिभाषित किसी मौजूदा योजना का चयन करके या एक नया जोड़ें
  • "शुरू करने के लिएबनाएँ" परिनियोजन प्रक्रिया के लिए क्लिक करें।

हम परिनियोजन प्रक्रिया समाप्त करने के लिए कुछ सेकंड प्रतीक्षा करने के लिए है, हम सूचना क्षेत्र में सूचित किया जाएगा एक बार यह खत्म हो गया है। प्रक्रिया विवरण अधिक तर्क क्षुधा बनाने के लिए आप जाँच कर सकते हैं यहाँ.

यदि हम तर्क Apps सूची से, तर्क तर्क Apps डिज़ाइनर, खोलें करने के लिए ऊपर बनाई गई App का चयन करें हम तो करने के लिए की जरूरत है:
  • पर "मैनुअल-जब कोई HTTP अनुरोध प्राप्त हुआ है" ट्रिगर "दिखाएँ Microsoft प्रबंधन APIs" विकल्प खोज बॉक्स में, से क्ल���क करें

  • अब, हम JSON संदेश स्कीमा हो जाएगा भेजें, HTTP ट्रिगर करने के लिए इतना है कि हम आसानी से चरणों बनाएँ कर सकते हैं देने के लिए की जरूरत है।
    • दुर्भाग्य से, अभी के लिए अभी भी डिजाइनर से सीधे स्कीमा को कॉन्फ़िगर करने के लिए संभव नहीं है

    • अब हम "कोड देखें" में स्विच करें और कॉन्फ़िगर करने के लिए की जरूरत उत्पाद समूह टीम इस सुविधा के लिए सुधर रही है, जबकि स्कीमा पर"ट्रिगर"->"मैन्युअल"->"आदानों"-> "स्कीमा" गुण है कि अभी के लिए यह एक खाली स्कीमा,

    • हम उपयोग कर सकते हैं JSON स्कीमा जनरेट करने के लिए JSONSchema.net   आसानी से उस कार्य के लिए हमें करने के लिए ऑनलाइन उपकरण।
    • हम सिर्फ हमारे JSON संदेश नमूना पिछले ऊपर प्रदान करते हैं, और "स्कीमा जनरेट" क्लिक करने के लिए की जरूरत है

    • हम तो वेबसाइट से JSON स्कीमा की प्रतिलिपि बनाएँ और चिपकाएँ देखें स्कीमा गुण हमारे तर्क एप्लिकेशन पर कोड के लिए यह करने के लिए की जरूरत है

  • अब है कि हम हमारे ट्रिगर सेट है, चलो हमारे तर्क App के अगले चरण पर ले जाएँ।
  • धन चिह्न का चयन करें, और तब चुनें "जोड़ें कोई क्रिया"

  • जब आप "एक क्रिया जोड़ें" का चयन करें, फिर से खोज बॉक्स प्रस्तुत किया जाएगा सभी कनेक्टर्स उनके उपलब्ध कार्यों के साथ सूचीबद्ध हैं थे। लेकिन अब, पर खोज बॉक्स विकल्प का चयन कर सकते हैं: "मेरे सदस्यता में Azure कार्य दिखाएँ"

  • से (आप अगर पहले से ही यह) "मेरी सदस्यता में Azure कार्य दिखाएँ" चलो का चयन करें खोज बॉक्स का चयन करें या एक नया WebHook नोड फ़ंक्शन कॉल बनाएँ: "CreateFileName"
module.exports = function (context, data) {
          
  var Tweet = data.Tweet;
  var d = new Date().getTime();
  var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' .replace(/[xy]/g, function(c) {
        var r = (d + Math.random()*16)%16 | 0;
        d = Math.floor(d/16);   
        return (c=='x' ? r : (r&0x3|0x8)).toString(16);
  });   
          
  // Response of the function to be used later.   
  context.res = {      
    body: {   
      FileName: 'NewTweet_' + uuid + ".txt"   
    }           
  };
    • हम JSON एक खाली संदेश के रूप में "इनपुट पेलोड"ऑब्जेक्ट सेट करेंगे, तो यह फ़ंक्शन किसी भी इनपुट की जरूरत नहीं है:
{}

  • एक बार फिर, धन चिह्न का चयन करें, और तब चुनें "जोड़ें कोई क्रिया"
  • खोज बॉक्स में, से "Dropbox" टाइप करें और 'Dropbox है-बनाएँ फ़ाइल' क्रिया का चयन करें

    • "फ़ोल्डर पथ", चलो कहते हैं कि जड़ लिखकर सेट करें: /
      • नोट:: भी "..." बटन करने के लिए अपने Dropbox फ़ोल्डर नेविगेट करने के लिए कि आप का उपयोग कर सकते हैं
    • "फ़ाइल नामपर" क्लिक करें और "शरीर" पैरामीटर इनपुट के रूप में "CreateFileName" समारोह के उत्पादन में से सेट
      • आप इस कदम करने की ज़रूरत नहीं है, लेकिन कारण है कि क्यों मैं यह करना है क्योंकि मैं एक छोटे से आलसी हूँ और मैं डिजाइनर आधा काम मेरे लिए क्या चाहते हैं
    • "फ़ाइल सामग्री" पाठ बॉक्स पर क्लिक करें, और फिर 'पाठके "एक HTTP अनुरोध प्राप्त होने पर" इनपुट के रूप में आउटपुट से पैरामीटर सेट

    • "दृश्य कोड" विकल्प में तर्क Apps डिजाइनर क्लिक करें शीर्ष पर, हमारे लिए "फ़ाइल नाम" ठीक करने के लिए इनपुट पैरामीटर
    • उसके बाद हम मूल्यों की उम्मीद करने के लिए "बनाएँ फ़ाइल" आदानों संपादित करने की आवश्यकता
      • "आदानोंप्रश्नों में प्रवेश करें"->"" ->"नाम"गुण करने के लिए परिवर्तित करें:
@{body('CreateFileName')['FileName']}

  • यदि हम तर्क Apps Designer करने के लिए, परिवर्तित करें "डिजाइनर" विकल्प, क्लिक करके अब हम कि डिजाइनर पहले से ही यह गुण renders और अपेक्षित पैरामीटर सेट देखेंगे।
  • एक बार फिर, धन चिह्न का चयन करें, और तब चुनें "जोड़ें कोई क्रिया"
  • खोज बॉक्स में, से "प्रतिक्रिया" टाइप करें और 'प्रतिक्रिया' क्रिया का चयन करें
    • "स्थिति कोड" मान "200" के साथ सेट करें
    • और "शरीर" "फ़ाइल बनाया गया था " और फ़ाइल का नाम पैरामीटर के रूप में आउटपुट से "CreateFileName" फ़ंक्शन के इनपुट के रूप में सेट करें

"सहेजें"आपके तर्क App है और हम अब उपयोग/इस वर्कफ़्लो अन्य तर्क Apps से कॉल करने के लिए तैयार हैं।

"माता पिता" तर्क App बनाने

हम अब एक और तर्क App-माता पिता-चलो बनाते हैं, तो यह 'CallNestedLogicAppDemo' कॉल:

  • हैशटैग '#LogicApps' युक्त एक नया कलरव के लिए देखो करने के लिए एक "चहचहाना-एक नया कलरव प्रकट होता है, जब" ट्रिगर, जोड़ें
  • धन चिह्न का चयन करें, और तब चुनें "जोड़ें कोई क्रिया"
  • जब आप "एक क्रिया जोड़ें" का चयन करें, खोज बॉक्स प्रस्तुत किया जाएगा सभी उपलब्ध कार्य गए थे। लेकिन अब, पर खोज बॉक्स विकल्प का चयन कर सकते हैं: "तर्क एक ही क्षेत्र में ऐप् स दिखाएँ"

  • यह आप सभी उपलब्ध तर्क आप अपने मौजूदा तर्क एप्लिकेशन से कॉल कर सकते हैं Apps दिखाएगा
    • चलो "कि हम पहले बनाAddFileToDropbox" का चयन करें
  • जब आप तर्क App है कि आप कॉल करने के लिए चाहते हैं का चयन करें, डिजाइनर हम नेस्टेड तर्क App करने के लिए पारित करने के लिए की जरूरत है कि स्कीमा जानकारी युक्त क्रिया प्रस्तुत करना होगा
    • हमारे मामले में, "पाठ"।

कैसे शांत है कि! ये!

  • "यह के रूप में सेट होना चाहिएट्रिगर नाम" बदलें नहीं: 'मैनुअल'
    • क्यों? क्योंकि यह डिफ़ॉल्ट ट्रिगर प्रकार तर्क App अपने पिछले एक बच्चे से है।
  • और "पाठ" गुण में हम 'ट्वीट पाठ"आउटपुट से 'एक नया कलरव प्रकट होता है, जब' के पैरामीटर सेट करने के लिए की जरूरत है

एक बार फिर से, प्रकट करने के लिए "सहेजें" आपके तर्क app और एक कलरव के लिए रुको, हम देखेंगे कि एक नई फ़ाइल अपने Dropbox में जोड़ा गया था:

आप अनुप्रयोग यदि इसे सफलतापूर्वक चलता है, या कोई त्रुटि उत्पन्न हुई, तो यह देखने के लिए तर्क के रन और क्या, कब तक यह चलाने के लिए लिया, जानकारी और outputs के, दूसरों के बीच भी जाँच कर सकते हैं

दुर्भाग्य से, यहाँ हम है कि हम BizTalk Orchestration डीबगर, "दृश्य कहा जाता orchestration" करने की क्षमता पर एक इसी तरह की सुविधा नहीं है। यह है कि यहाँ एक इसी तरह की एक 'दृश्य कहा जाता वर्कफ़्लो रन' महान होगा। मैं इस अनुरोध पर उपयोगकर्ता आवाज जोड़   और अगर तुम इसे पसंद तुम वहाँ जाओ और वोट कर सकते हैं।

आप इस लक्ष्य को हासिल करने के लिए चाहते हैं, तो आप की जरूरत है बच्चे तर्क app करने के लिए जाओ और चलाता है यह देखने के लिए, और सभी कदम उचित हैं, तो चेक मार डाला।

अच्छी बात यह है कि हम अब कई तर्क कि हम या भविष्य में बनाएगा ऐप् स में इस "AddFileToDropbox" पुनः प्रयोग कर सकते हैं।

माता-पिता हमेशा सफलतापूर्वक क्योंकि निष्पादित करेंगे आप हमेशा अपने बच्चे से तर्क App स्थिति 200 लौट रहे!

खैर, हाँ, वास्तव में हमारी अंतिम चरण में, हम प्रवाह के सभी पिछले चरण सफलतापूर्वक निष्पादित किया जाएगा माता पिता तर्क App के लिए एक 200 स्थिति है, लेकिन यह केवल होगा यदि लौट रहे हैं, अन्यथा एक त्रुटि स्थिति प्राप्त किया जाएगा।

पर परीक्षण इस परिदृश्य डाल करने के लिए, हम "Dropbox है-बनाएँ फ़ाइल" क्रिया हमारे 'AddFileToDropbox' तर्क हमेशा एक फ़ाइल समान नाम के साथ 'Demo1.txt' बनाने के लिए अनुप्रयोग में बदल सकते हैं। हम तो दो प्रकट करने के लिए प्रतीक्षा करने के लिए की जरूरत है या अधिक अलग tweets और परिणाम हो जाएगा:
  • प्रथम निष्पादन सफलतापूर्वक निष्पादित हो जाएगा
  • और क्रमिक executions असफल हो जायेगी

निम्न त्रुटि के साथ:

{   
    "statusCode" : 502,
    "headers": {},   
    "body": {   
        "error": {   
            "code" "NoResponse",   
            "message" "The server did not received a response from an upstream server. Request tracking id '08587405217965861441'."   
        }   
    }   
}

हम बच्चे के निष्पादन की जाँच करें, तो हम कि तर्क App "Dropbox-फ़ाइल बनाएँ" कार्रवाई में विफल रहा है और "प्रतिक्रिया" कार्रवाई निरस्त किया गया हो जाएगा देखेंगे

संदर्भ

यह आलेख मूल रूप में प्रकाशित किया गया था कॉल करने की क्षमता तर्क Apps तर्क Apps डिजाइनर से सीधे नेस्टेड   । लेकिन फिक्सिंग और इतने पर वर्तनी नई, गुम या महत्वपूर्ण सामग्री जोड़ने द्वारा, इस लेख में सुधार करने के लिए स्वतंत्र महसूस कृपया।

अन्य भाषाएँ

यह आलेख निम्न भाषाओं में भी उपलब्ध है:

यह भी देखें

TechNet Wiki तर्क ऐप् स से संबंधित लेख की एक बड़ी राशि को खोजने के लिए एक अन्य महत्वपूर्ण जगह है। TechNet Wiki पर Microsoft Azure अन����प्रयोग सेवा संसाधनों श्रेष्ठ प्रविष्टि बिंदु है.