Azure Blob Storage
उद्देश्य
event grid functionality और service bus queues के माध्यम से Glasswall Halo API का उपयोग करके Azure Blob Storage में स्वचालित फ़ाइल sanitization सेट अप करें।
Azure Blob Storage एकीकरण गाइड
- पूर्वापेक्षाएँ
- चरण 1 - service bus namespace बनाएँ
- चरण 2 - service bus queue बनाएँ
- चरण 3 - source blob storage account events सेट अप करें
- चरण 4 - एक function app बनाएँ
- चरण 5 - एक function बनाएँ
पूर्वापेक्षाएँ
- Azure Portal खाता
- Source Azure Blob Storage खाता
- Destination Azure Blob Storage खाता
- Glasswall उदाहरण कोड
नोट्स:
- सुनिश्चित करें कि सभी configuration parameters सही नामों के साथ Azure Function App में जोड़े गए हैं। किसी भी mismatch के कारण विफलताएँ होंगी।
- हमने इस use case को प्रदर्शित करने के लिए केवल sample code प्रदान किया है। यह केवल flat files को संभालता है और इसमें sophisticated logging mechanisms नहीं हैं।
चरण 1 - Service Bus namespace बनाएँ
सबसे पहले, आपको एक Service Bus namespace और एक queue बनानी होगी ताकि आप event grid messages प्राप्त कर सकें।
नोट: tier और settings आपके load या it से संबंधित हैं।
-
Azure Portal में sign in करें।
-
All services > Integration > Service Bus पर जाएँ।
-
Basics टैब में Create namespace पेज पर, एक Namespace बनाएँ।
नोट: प्रदान किया गया sample code सभी tiers के साथ काम करेगा, इसलिए अपने उपयोग के अनुसार उपयुक्त settings चुनें, और सभी अनिवार्य configuration दर्ज करें।

Service Bus namespace और queue बनाने के बारे में अधिक विस्तृत जानकारी के लिए, कृपया Azure documentation देखें।
चरण 2 - Service Bus queue बनाएँ
namespace बन जाने के बाद, हमें events पोस्ट करने के लिए एक queue बनानी होगी।
-
Service Bus namespace पेज पर, बाएँ navigation menu में Queues चुनें।
-
Queues पेज पर, toolbar में + queue चुनें।

नोट: namespace की तरह, settings भी आपकी पसंद पर निर्भर हैं – इस sample के लिए हम केवल defaults का उपयोग कर रहे हैं।
- queue के लिए एक नाम दर्ज करें, और अन्य values को उनके defaults पर ही रहने दें।
आप जो नाम चुनते हैं वह महत्वपूर्ण नहीं है, क्योंकि sample code को जो भी set किया गया हो उसके अनुसार configure किया जा सकता है।

- Create चुनें।
Service Bus namespace और queue बनाने के बारे में अधिक विस्तृत जानकारी के लिए, कृपया Azure documentation देखें।
चरण 3 - source Blob Storage account events सेट अप करें
Service Bus namespace और queue बनाने के बाद, source Blob Storage account को इस तरह configure करें कि वह queue में messages के रूप में events भेजे।
हालाँकि इन events को सीधे Azure Function trigger करने के लिए configure किया जा सकता है, प्रत्येक event को 30 seconds के भीतर acknowledge करना आवश्यक है। अधिकांश files जल्दी process हो जाती हैं, लेकिन बड़ी files या अधिक load की अवधि में यह समय-सीमा पार हो सकती है।
इस सीमा से बचने के लिए, हम recommend करते हैं कि Event Grid को Service Bus queue पर events deliver करने के लिए configure किया जाए और Azure Function को queue से messages consume करने दिया जाए। यह तरीका event ingestion को processing से अलग करके अधिक resilience और flexibility प्रदान करता है।
- events सेट अप करने के लिए, source storage account पर जाएँ और Events > More options > Service Bus queue चुनें।

-
event subscription details के अंतर्गत एक Name दर्ज करें।
-
topic details के अंतर्गत एक System topic name दर्ज करें।
-
Filter to event type dropdown से Blob created चुनें।
इसका अर्थ है कि storage account में Blob Storage के भीतर हर नई file के लिए एक message होगा।
- अंत में, endpoint detail के अंतर्गत पिछले चरण में बनाई गई queue चुनें।


अब उस storage account में upload की गई हर file के लिए queue में एक नया Service Bus message रखा जाएगा, जिसे हम आगे बनाने वाले function के माध्यम से consume किया जाएगा।
चरण 4 - एक Function App बनाएँ
आपके functions के execution को host करने के लिए आपके पास एक Function App होना चाहिए। आपने अभी जो Service Bus messages बनाए हैं, उन्हें consume करने वाला Azure function नए file की पहचान करने के लिए event grid details का उपयोग कर सकेगा।
Glasswall के पास C# में एक working example है, जो निम्न कार्य करता है:
- नए file की पहचान करता है।
- file तक पहुँचता है।
- इसे Glasswall Halo’s Synchronous API के लिए एक request में भेजता है।
- destination storage account में उसी नाम का एक container बनाता है (यदि वह पहले से मौजूद नहीं है)।
- या तो regenerated file लिखता है (मूल के समान नाम से) या यदि उसे regenerate नहीं किया जा सका तो एक text file लिखता है।
-
Function App बनाने के लिए, Create a resource page पर जाएँ।
-
New page में, Compute > Function app चुनें।
-
नीचे दी गई settings Glasswall के example function के लिए काम करेंगी। आपको इन settings को अपने इच्छित function code और hosting option के अनुसार समायोजित करना चाहिए:

Function App बनाने के बारे में अधिक विस्तृत जानकारी के लिए, कृपया Azure documentation देखें।
चरण 5 - एक function बनाएँ
Function App बन जाने के बाद, आप function बना सकते हैं।
- Function App overview में, आपका code deploy कराने के विभिन्न तरीकों के लिए मार्गदर्शन दिया जाता है।
अपने चुने हुए codebase के लिए सबसे उपयुक्त method चुनें।


- यदि आप Glasswall का sample code उपयोग कर रहे हैं, तो निम्न configuration को Settings > Configuration के माध्यम से Function App में जोड़ना होगा।
सभी मान Azure Portal में संबंधित संसाधनों से प्राप्त किए जा सकते हैं। Glasswall Halo तक पहुंच के लिए या तो अपने instance और authentication का उपयोग करें, या परीक्षण उद्देश्यों के लिए हमारी sales team से संपर्क करें ताकि हमारे public endpoint का उपयोग करने के लिए basic authentication credentials प्राप्त किए जा सकें।
कॉन्फ़िगरेशन
| कुंजी | मान |
|---|---|
| Azure_servicebus_connectionstring | service bus के लिए connection string |
| Azure_servicebus_newfiles_queuename | नए blob events के लिए queue name |
| Azure_storage_account_name | स्रोत storage account नाम |
| Azure_storage_account_key | स्रोत storage account key |
| Azure_storage_destination_connectionstring | गंतव्य storage account connection string |
| cdr_username | Halo API basic auth के लिए username |
| cdr_password | Halo API basic auth के लिए password |
| cdr_url | CDR-file endpoint के लिए URL (उदा. https://api.glasswall.com/api/v3/cdr-file) |

बधाई हो! सभी चरण पूरे होने के बाद, source Azure Blob Storage account में रखी गई कोई भी फ़ाइल अब Glasswall की उन्नत CDR तकनीक द्वारा प्रोसेस की जाती है और परिणामस्वरूप या तो एक पुनर्निर्मित साफ़ दस्तावेज़ मिलता है या एक सुरक्षित text file जिसमें एक error message होता है।