नमस्कार

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



Credits

Translated from: Logic Apps -Working with Cache and Enterprise Messaging in Logic Apps
Author: 


परिचय

तर्क App Ipaas वर्कफ़्लो और एकीकरण परत बादल (Microsoft azure) में चलाने के लिए Microsoft से की पेशकश की है। डिजिटल रूपांतरण और एकाधिक PaaS और सास प्रसाद के संदर्भ में प्रौद्योगिकी के विकास के साथ, एक मजबूत एकीकरण परत हद तक अपनी तकनीकी क्षमता के संगठन की आवश्यकता है।

डिजाइन सिद्धांतों पर तर्क अनुप्रयोग सिस्टम क्लाउड पर या आधार पर चला रहे हैं, चाहे बिंदु एकीकरण (क्लाउड में या आधार पर) से बचने के लिए एक अच्छा विकल्प बनाता है। एक बेहतर एकीकरण कहानी प्रमुख enabler व्यापार करने के लिए है। वास्तुकला कल पर नज़र रख कर डिजाइन किया जाना चाहिए।

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


समाधान डिजाइन:

इस समाधान में, हम इंटरफ़ेस fictions कंपनी मिलेनियम कार सेवा जो भेज रहा है खरीद क्रम समतल फ़ाइल में मोटर पार्ट्स सूची करने के लिए कंपनी के लिए विकसित कर रहे हैं। मोटर पार्ट्स सूची कंपनी आदेश अनुरोध तृतीय पक्षों से मिलता है और उन्हें प्रक्रिया के रूप में प्राप्त करने के लिए एक WebAPI उजागर हो गई। सभी खरीद आदेश उसी दिन पर निरंतर खरीद के विवरण के साथ संबद्ध guid होना चाहिए। इस नमूने में, हम azure समारोह में कैश GUID को संग्रहीत और कार्य प्रवाह तर्क App के भीतर कैश्ड मान का उपयोग करने के लिए का उपयोग किया जाएगा।

नीचे सूचीबद्ध किया जा रहा कार्य प्रवाह क्रिया

  1. मिलेनियम कार सेवा करने के लिए वेब अनुप्रयोग के माध्यम से CSV स्वरूप में ब्लॉब कंटेनर खरीद आदेश भेजें
  2. तर्क App मिलेनियम कार सेवा से एक नई खरीद आदेश के लिए देखो करने के लिए प्रत्येक 5 मिनट में ब्लॉब संग्रहण कंटेनर polls है।
  3. खरीद आदेश प्राप्त होने के पश्चात तर्क Apps धर्मान्तरित समतल फ़ाइल का उपयोग कर xml में CSV तर्क Apps और एकीकरण खाते से उपलब्ध घटक व्याख्या करना।
  4. समतल फ़ाइल xml में परिवर्तित करने, के बाद तर्क Apps GUID जनरेट करता है और जनरेटेड Id कैश में संग्रहीत करने के लिए Azure फ़ंक्शन कॉल।
  5. GUID के लिए 24 घंटे कैश में संग्रहीत किया जाता है और इसे नए guid के साथ पुनर्नवीनीकरण बीतना समय के बाद
  6. तर्क Apps खरीद आदेश HTTP समापन बिंदु करने के लिए GUID के साथ सबमिट करें।

शर्त

परिदृश्य के साथ काम करने के लिए, आप Microsoft Azure करने के लिए एक मान्य सदस्यता की आवश्यकता है। 
आप मुफ्त के लिए सदस्यता पर रजिस्टर कर सकते हैं 
लिंक:  Jump https://azure.microsoft.com/en-us/free/ Jump  

Azure ब्लॉब संग्रहण और कंटेनर

Azure ब्लॉब संग्रहण असंरचित डेटा के किसी भी प्रकार की दुकान कर सकते हैं। आप छवि, दस्तावेजों,. txt आदि की तरह डेटा की एक किस्म की दुकान कर सकते हैं। पढ़ने और डेटा लेखन ब्लॉब संग्रह करने के लिए अच्छी तरह से Microsoft दस्तावेज़ीकरण में वर्णित किया जा रहा है https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-how-to-use-blobs Jump 
इस ट्यूटोरियल के लिए, हम चरणों के नीचे निम्नलिखित द्वारा Azure पोर्टल में ब्लॉब संग्रह बना देगा:
  • अपने मान्य MSDN सदस्यता के साथ Azure पोर्टल https://portal.azure.com/ में लॉगिन।
  • जोड़ें पर क्लिक करें -> नई -> संग्रहण -> संग्रहण खाता 

 

  • बनाएँ भंडारण पर ब्लेड प्रकार ब्लॉब संग्रहण और संसाधन समूह के साथ आप का चयन करने के लिए लोअरकेस और का चयन करें खाता प्रकार में भंडारण के नाम में अपने थ ब् लॉब संग्रह चलाने के लिए चाहते हैं। अपने संसाधन समूह के अंतर्गत ब्लॉब संग्रह की एक नई आवृत्ति बनाने के लिए ठीक पर क्लिक करें।

  • नई बनाई गई थ ब् लॉब संग्रह संसाधन समूह के भीतर करने के लिए नेविगेट करें और ब्लॉब संग्रह के भीतर एक नए कंटेनर बनाने के लिए कंटेनर को क्लिक करें। लोअरकेस और का चयन करें सूची में प्रकार करने के लिए एक कंटेनर, निजी में कंटेनर का नाम दर्ज करें या बूँद। एक बार जानकारी सफलतापूर्वक दर्ज कर रहे हैं पर क्लिक करें बनाएँ बटन नकारात्मक पक्ष पर
  


  • भंडारण विवरण की प्रतिलिपि बनाएँ, जैसे ब्लॉब संग्रह का नाम और प्राथमिक कुंजी के लिए जो तर्क अनुप्रयोग के भीतर API कनेक्शन के लिए उपयोग किया जाएगा। एक बार सफलतापूर्वक बनाई गई संग्रहण खाते की जाँच करें



Azure कार्य App और फ़ंक्शंस

परिचय खंड एक सर्वर बादल में कस् टम कोड निष्पादित करने के लिए कम वातावरण प्रदान करने के लिए Azure फ़ंक्शन का वर्णन। यह खंड Azure अनुप्रयोग फ़ंक्शन और फ़ंक्शन अनुप्रयोग जो तर्क Apps के साथ इस्तेमाल किया जाएगा के भीतर कार्य बनाने के लिए आवश्यक कदम के माध्यम से चलना होगा।
  • Azure पोर्टल में लॉगिन https://portal.azure.com/ Jump अपने मान्य MSDN सदस्यता के साथ।
  • और खोज बॉक्स प्रकार फ़ंक्शन अनुप्रयोग में जोड़ें पर क्लिक करें।
  • फ़िल्टर परिणाम से फ़ंक्शन अनुप्रयोग का चयन करें, और बनाएँ पर क्लिक करें।

  • पर बनाएँ फ़ंक्शन app की एक नई आवृत्ति को बनाने के लिए फ़ंक्शन अनुप्रयोग विवरण फ़ंक्शन अनुप्रयोग नाम, का चयन करें सदस्यता, संसाधन समूह और क्लिक करें दर्ज करें।

  • फ़ंक्शन अनुप्रयोग के भीतर बनाएँ का चयन करें भाषा सी #, और दो webhook फ़ंक्शन GetCachedKey फ़ंक्शन और SetCacheKey फ़ंक्शन बनाएँ

  • समारोह के भीतर एक बिन निर्देशिका बनाएँ और System.Runtime.Caching.dll Kuddu नियंत्रण के माध्यम से फ़ंक्शन अनुप्रयोग में फ़ंक्शन अनुप्रयोग सेटिंग क्लिक करके प्रतिलिपि बनाएँ
  • या तो शीर्ष पर बड़े धन चिह्न क्लिक करके, या कंसोल MKDIR बिन में निम्न टाइप करके फ़ोल्डर बनाने से प्रारंभ करें
  • उसके बाद कैशिंग DLL मशीन पर Windows निर्देशिका से टाइपिंग/इस स्ट्रिंग चिपकाने से प्रतिलिपि बनाएँ:
    D:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.Runtime.Caching.dll d:\Home\bin की प्रतिलिपि बनाएँ

  • भीतर GetCaheKeyfunction नीचे सूचीबद्ध कोड की प्रतिलिपि बनाएँ
#r "Newtonsoft.Json"
#r "System.Runtime.Caching.dll"
 
using System;
using System.Net;
using Newtonsoft.Json;
using System.Runtime.Caching;
 
public static async Task< string > Run(HttpRequestMessage req, TraceWriter log)
{
    string inputData = await req.Content.ReadAsStringAsync();
     string tempmessage =ExtractjsonMsg(inputData);
      log.Info(tempmessage);
     string tempmessage1 =GetCacheValue(tempmessage);
      log.Info(tempmessage1);
    return tempmessage1;
 
}
  public static string GetCacheValue(string CacheK)
        {
            var cache = MemoryCache.Default;
 
            if (cache.Contains(CacheK))
            {
                string val= cache.Get(CacheK).ToString();
              
                 return val;
            }
            else
            {
                 
                return "key not found";
            }
 
 
 }
 
 public static string ExtractjsonMsg(string reqContent)
{
    string temp = reqContent.Replace("{\"InputData\":\""string.Empty);
    string temp1 = temp.Replace("\\\"""\"");
    return temp1.Remove(temp1.Length - 2, 2);
      
}
  • जैसे पिछले फंक्शन एक और कार्य करने के लिए कैश Guid को बचाने के लिए ' SaveCacheKeyFunction' बना। बिन फ़ोल्डर जोड़ें और कैशिंग dll बिन फ़ोल्डर में प्रतिलिपि बनाएँ और SetCaheKeyfunction के भीतर नीचे सूचीबद्ध कोड की प्रतिलिपि बनाएँ
#r "Newtonsoft.Json"
#r "System.Runtime.Caching.dll"
 
using System;
using System.Net;
using Newtonsoft.Json;
using System.Runtime.Caching;
 
public static async Task< string > Run(HttpRequestMessage req, TraceWriter log)
{
    string inputData = await req.Content.ReadAsStringAsync();
     string tempmessage =ExtractMsg(inputData);
     string tempmessage1 =SaveCacheValue(tempmessage);
     if (tempmessage1 == string.Empty || tempmessage1 == "")
            {
                return string .Empty;
            }
    else
    {
        return tempmessage1;
    }
}
   public static string SaveCacheValue(string token)
        
            string CacheKey = "GuidValue";
            ObjectCache cache = MemoryCache.Default;  
            CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
            cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddHours(24.0);
            cache.Add(CacheKey, token, cacheItemPolicy);
            return token;
        }
 
 public static string ExtractMsg(string reqContent)
{
    string temp = reqContent.Replace("{\"InputData\":\""string.Empty);
    string temp1 = temp.Replace("\\\"""\"");
    return temp1.Remove(temp1.Length - 2, 2);
}


एकीकरण खाते

एकीकरण खाता स्कीमा, नक्शे, प्रमाण पत्र पार्टियों और समझौते को संग्रहीत करने के लिए उपयोग किया जाता है। एकीकरण खाता एंटरप्राइज़ मैसेजिंग सिस्टम के साथ काम करने के लिए प्रमुख enabler है। एकीकरण खाते के बारे में अधिक पर MSDN दस्तावेज़ों को देखो पता करने के लिए https://docs.microsoft.com/en-us/azure/app-service-logic/app-service-logic-enterprise-integration-accounts Jump 
इस समाधान के लिए एकीकरण फ्लैट फ़ाइल स्कीमा और किसी भी मैपर यदि आवश्यक संग्रहीत करने के लिए "technetwiki" नामक खाता नीचे सूचीबद्ध चरणों का पालन करें एक एकीकरण खाता बनाने के लिए दस्तावेज बनाना https://docs.microsoft.com/en-us/azure/app-service-logic/app-service-logic-enterprise-integration-accounts
Jump
नमूना खरीद आदेश फ्लैट फ़ाइल लग रहा है सहस्राब्दी कार सेवा से मोटर भागों, भागों की आवश्यकता की संख्या और स्थान जहां भागों की जरूरत है डिलीवर करने के लिए होते हैं। नीचे दिखाए गए नमूना अ��ुरोध

Bearings,12,auckland
Bumper,05,wellington
Radiator,06,christchurch
Radiator,04,wellington

समतल फ़ाइल हम की जरूरत है समतल फ़ाइल स्कीमा विज़ार्ड भेज दिया पर डाउनलोड करने के लिए उद्यम एकीकरण पैक के साथ उपलब्ध का उपयोग करने के लिए संगत XML स्वरूप में कनवर्ट करने के लिए https://www.microsoft.com/en-us/download/details.aspx?id=53016 Jump । यदि आप मान्य BizTalk टेम्पलेट आपकी मशीन पर स्थापित है, तो आप भी इसी XSD से नमूना बनाने के लिए समतल फ़ाइल स्कीमा जनरेशन विज़ार्ड के साथ फ्लैट फ़ाइल साझा काम कर सकते हैं।



  • एकीकरण पिछले अनुभाग में बनाए गए खातों के लिए जनरेट किए गए फ्लैट फ़ाइल स्कीमा जोड़ें। पॉप्युलेट स्कीमा नाम PurchaseOrderFF करने के लिए। स्कीमा अपलोड की प्रक्रिया को पूरा करने के लिए ठीक पर क्लिक करें

  • स्कीमा, नक्शे या प्रमाण पत्र सही ढंग से स्थापित कर रहे हैं, यह सत्यापित करने के लिए एकीकरण खाते का ओवरव्यू अनुभाग पर क्लिक करें।




तर्क अनुप्रयोग वर्कफ़्लो कैशिंग और एंटरप्राइज़ संदेश सेवा के लिए

बनाने के लिए अगला चरण है अनुप्रयोग कैशिंग और समतल फ़ाइल के उपयोग को लागू करने के लिए तर्क में कार्यप्रवाह डीकोड फ्लैट फ़ाइलें xml स्वरूप में अनुवाद करने के लिए घटक। इस तर्क App में हम सिर्फ xml के साथ सामग्री प्रकार के रूप में काम करेंगे। आप xml पेलोड वर्कफ़्लो में किसी भी स्थान पर json स्वरूप में कनवर्ट करने के लिए @json फ़ंक्शन का उपयोग कर सकते हैं।

तर्क अनुप्रयोग वर्कफ़्लो बनाने के लिए कदम प्रक्रिया द्वारा कदम:
  • Azure पोर्टल नया तर्क एप्लिकेशन जोड़ने में और नाम, संसाधन समूह में, स्थान की तरह आवश्यक फ़ील्ड पॉप्युलेट

  • तर्क अनुप्रयोग के भीतर टेम्पलेट की सूची में से, तर्क App खरोंच से बनाने के लिए रिक्त तर्क अनुप्रयोग टेम्पलेट का चयन करें।

  • तर्क App करने के लिए डिज़ाइन दृश्य और जोड़ें पुनरावृत्ति ट्रिगर और polling अंतराल सेट 5 मि. पुनरावर्तन ट्रिगर करने के लिए शुरू होता है तर्क app की एक नई आवृत्ति निर्दिष्ट अंतराल और बचाता है तर्क App के बाद जाना।

  • तर्क App ब्लेड के भीतर का चयन करें और सहेजें "एकीकरण खा��ा technetwiki जो स्कीमा खरीद क्रम में सपाट फ़ाइल स्कीमा अपलोड किया गया है"। यह करने के लिए XML रूपांतरण तर्क ऐप्स के भीतर समतल फ़ाइल के लिए आवश्यक है।






  • Microsoft प्रबंधित कनेक्टर का चयन करें फ्लैट फ़ाइल के भीतर डीकोड और स्कीमा पर PurchaseOrderFFटाइप करें। xsd स्कीमा नाम और सामग्री के रूप में सामग्री की बूँद के रूप में।

  • GetCacheKeyFunction फ़ंक्शन अनुप्रयोग से का चयन करें और एक JSON सामग्री कैश्ड मान के लिए खोज करने के लिए नाम मान युग्म में गुजरती हैं। GetCacheKeyFunction से लौटाया गया मान के लिए एक शर्त क्रिया जोड़ें।

  • कैश खाली हो जाएगा के रूप में कुंजी पहले भाग में मौजूद नहीं होगा, "कुंजी नहीं मिला" प्रतिक्रिया और तर्क अनुप्रयोग किसी अन्य फ़ंक्शन कॉल SetCacheKeyFunction कार्य Azure फ़ंक्शन अनुप्रयोग के भीतर करने के लिए आग जाएगा कॉल GetCacheKeyFunction करने के लिए वापस आ जाएगी। इस फ़ंक्शन guid में इस्तेमाल किया जा करने के लिए कैश में आगे चलाने, तहत बयान अगर हालत पहली रन में क्रियान्वित किया जाएगा बचाने के लिए होगा।

  • अगला तर्क अनुप्रयोग वर्कफ़्लो के भीतर हम foreach कार्रवाई की है जो प्रत्येक आदेश xml नोड के माध्यम से पुनरावृति और इसे एक दिन लेन-देन के लिए शीर्ष लेख के रूप में निरंतर guid के साथ HTTP समापन बिंदु के लिए होस्ट करेंगे है। Xpath फ़ंक्शन तर्क App अभिव्यक्ति xml नोड के माध्यम से iterate करने के लिए उपयोग किया जाता है। तर्क App अभिव्यक्ति भाषा के बारे में अधिक देखें msdn वेब लिंक जानने के लिए https://docs.microsoft.com/en-us/rest/api/logic/definition-language Jump



  • पहला तर्क रन के माध्यम से जाना जाएगा App स्थिति बयान का सच हिस्सा थे टोकन स्मृति कैश में सहेजा जा रहा है। रन विवरण नीचे दर्शाया गया है

  • दूसरा रन हैडर मान कैश से ले जाएगा और HTTP के माध्यम से पारित किया जा रहा है पोस्ट। दूसरा रन प्रवाह में नीचे दिखाया गया है। आप सत्यापित कर सकते हैं कि दूसरा रन Settoken फ़ंक्शन अनुप्रयोग कॉल भेज दिया गया है के रूप में यह जो नल नहीं है कैश से ket मिल गया है।

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


यह भी देखें

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

अन्य भाषाएँ

यह विकी लेख नीचे क्रामन्तिक की हुई भाषाओ में भी उपलभ्द है :