डेटा और अंतर्दृष्टि की लगभग रीयल-टाइम डिलीवरी व्यवसायों को अपने ग्राहकों की ज़रूरतों पर तेज़ी से प्रतिक्रिया करने में सक्षम बनाती है। रीयल-टाइम डेटा विभिन्न स्रोतों से आ सकता है, जिसमें सोशल मीडिया, IoT डिवाइस, इंफ्रास्ट्रक्चर मॉनिटरिंग, कॉल सेंटर मॉनिटरिंग और बहुत कुछ शामिल हैं। कई स्रोतों से डेटा की व्यापकता और गहराई के कारण, व्यवसाय अपने ग्राहकों की गोपनीयता की रक्षा के लिए समाधान ढूंढते हैं और संवेदनशील डेटा को अंतिम सिस्टम से एक्सेस करने से रोकते हैं। आपको पहले व्यक्तिगत रूप से पहचान योग्य जानकारी (पीआईआई) नियम इंजन पर भरोसा करना पड़ता था जो झूठी सकारात्मक या मिस डेटा को चिह्नित कर सकता था, या आपको अपने स्ट्रीमिंग डेटा में पीआईआई की पहचान करने के लिए कस्टम मशीन लर्निंग (एमएल) मॉडल बनाना और बनाए रखना था। आपको इन इंजनों या मॉडलों का समर्थन करने के लिए आवश्यक बुनियादी ढांचे को लागू करने और बनाए रखने की भी आवश्यकता है।
इस प्रक्रिया को कारगर बनाने और लागत कम करने में सहायता के लिए, आप इसका उपयोग कर सकते हैं Amazon Comprehend, एक प्राकृतिक भाषा प्रसंस्करण (एनएलपी) सेवा जो असंरचित पाठ में लोगों, स्थानों, भावनाओं और विषयों जैसी अंतर्दृष्टि और संबंधों को खोजने के लिए एमएल का उपयोग करती है। अब आप ग्राहक ईमेल, सपोर्ट टिकट, उत्पाद समीक्षा, सोशल मीडिया आदि में PII का पता लगाने और उसे सुधारने के लिए Amazon Comprehend ML क्षमताओं का उपयोग कर सकते हैं। कोई एमएल अनुभव की आवश्यकता नहीं है। उदाहरण के लिए, आप PII निकायों का पता लगाने के लिए समर्थन टिकटों और नॉलेज आलेखों का विश्लेषण कर सकते हैं और दस्तावेज़ों को अनुक्रमित करने से पहले टेक्स्ट को संशोधित कर सकते हैं। उसके बाद, दस्तावेज़ PII संस्थाओं से मुक्त होते हैं और उपयोगकर्ता डेटा का उपभोग कर सकते हैं। PII संस्थाओं को संशोधित करने से आपको अपने ग्राहक की गोपनीयता की रक्षा करने और स्थानीय कानूनों और विनियमों का अनुपालन करने में मदद मिलती है।
इस पोस्ट में, आप सीखेंगे कि एमेजॉन कॉम्प्रिहेन्ड को अपने स्ट्रीमिंग आर्किटेक्चर में कैसे लागू किया जाए ताकि पीआईआई इकाइयों को लगभग वास्तविक समय में रिडक्ट किया जा सके। अमेज़न Kinesis डेटा Firehose साथ में AWS लाम्बा.
यह पोस्ट उन चुनिंदा क्षेत्रों से डेटा को फिर से तैयार करने पर केंद्रित है, जो किनेसिस डेटा फ़ायरहोज़ का उपयोग करके स्ट्रीमिंग आर्किटेक्चर में शामिल हैं, जहां आप एंड-यूज़र या डाउनस्ट्रीम एप्लिकेशन द्वारा उपभोग के लिए डेटा की अतिरिक्त व्युत्पन्न प्रतियां बनाना, स्टोर करना और बनाए रखना चाहते हैं। यदि आप उपयोग कर रहे हैं अमेज़न Kinesis डेटा स्ट्रीम या पीआईआई रिडक्शन के बाहर अतिरिक्त उपयोग के मामले हैं, देखें Amazon Kinesis डेटा एनालिटिक्स, Amazon अनुवाद और Amazon Comprehend के साथ SQL फ़ंक्शन का उपयोग करके स्ट्रीमिंग डेटा का अनुवाद, संशोधन और विश्लेषण करें, जहां हम दिखाते हैं कि आप कैसे उपयोग कर सकते हैं Amazon Kinesis डेटा एनालिटिक्स स्टूडियो द्वारा संचालित अपाचे ज़ेपेलिन और अपाचे झपकी स्ट्रीमिंग डेटा में टेक्स्ट फ़ील्ड का अंतःक्रियात्मक विश्लेषण, अनुवाद और पुनर्निर्धारण करने के लिए।
समाधान अवलोकन
निम्नलिखित आंकड़ा वास्तविक समय में स्ट्रीमिंग डेटा के पीआईआई रिडक्शन का उपयोग करने के लिए एक उदाहरण आर्किटेक्चर दिखाता है अमेज़न सरल भंडारण सेवा (अमेज़न S3), Kinesis डेटा Firehose डेटा परिवर्तन, Amazon Comprehend, तथा AWS लाम्बा. इसके अतिरिक्त, हम उपयोग करते हैं अजगर के लिए AWS SDK (Boto3) लैम्ब्डा कार्यों के लिए। जैसा कि आरेख में दर्शाया गया है, S3 रॉ बकेट में गैर-रिडक्टेड डेटा होता है, और S3 रिडक्टेड बकेट में Amazon Comprehend का उपयोग करने के बाद रिडक्टेड डेटा होता है। DetectPiiEntities
लैम्ब्डा फ़ंक्शन के भीतर एपीआई।
लागत शामिल है
Kinesis Data Firehose, Amazon S3 और Lambda लागतों के अलावा, इस समाधान के लिए Amazon Comprehend से उपयोग की लागत भी लगेगी। आपके द्वारा भुगतान की जाने वाली राशि रिकॉर्ड्स की कुल संख्या का एक कारक है जिसमें PII और लैम्ब्डा फ़ंक्शन द्वारा संसाधित किए गए वर्ण शामिल हैं। अधिक जानकारी के लिए देखें अमेज़ॅन किनेसिस डेटा फायरहोज मूल्य निर्धारण, अमेज़न समझ मूल्य निर्धारण, तथा AWS लैंबडा मूल्य निर्धारण.
एक उदाहरण के रूप में, मान लें कि आपके पास 10,000 लॉग रिकॉर्ड हैं, और जिस मुख्य मान से आप PII को संशोधित करना चाहते हैं वह 500 वर्ण है। 10,000 लॉग रिकॉर्ड्स में से 50 की पहचान पीआईआई युक्त के रूप में की गई है। लागत विवरण इस प्रकार हैं:
पीआईआई लागत शामिल है:
- प्रत्येक कुंजी मान का आकार = 500 वर्ण (1 इकाई = 100 वर्ण)
- प्रति रिकॉर्ड इकाइयों की संख्या (100 वर्ण) (न्यूनतम 3 इकाइयाँ) = 5
- कुल इकाइयाँ = 10,000 (रिकॉर्ड) x 5 (प्रति रिकॉर्ड इकाइयाँ) x 1 (प्रति रिकॉर्ड अमेज़न समझ अनुरोध) = 50,000
- मूल्य प्रति यूनिट = $ 0.000002
- ConstainPiiEntities API का उपयोग करके PII के साथ लॉग रिकॉर्ड की पहचान करने की कुल लागत = $0.1 [50,000 इकाइयाँ x $0.000002]
पुनरीक्षित पीआईआई लागत:
- PII युक्त कुल इकाइयाँ = 50 (रिकॉर्ड) x 5 (प्रति रिकॉर्ड इकाइयाँ) x 1 (प्रति रिकॉर्ड अमेज़न समझ अनुरोध) = 250
- मूल्य प्रति यूनिट = $ 0.0001
- DetectPiiEntities API का उपयोग करके PII के स्थान की पहचान करने के लिए कुल लागत = [इकाइयों की संख्या] x [प्रति इकाई लागत] = 250 x $0.0001 = $0.025
पहचान और सुधार के लिए कुल लागत:
- कुल लागत: $0.1 (यदि फ़ील्ड में PII है तो सत्यापन) + $0.025 (पीआईआई वाले फ़ील्ड को संशोधित करें) = $0.125
एडब्ल्यूएस क्लाउडफॉर्मेशन के साथ समाधान तैनात करें
इस पोस्ट के लिए, हम प्रदान करते हैं a एडब्ल्यूएस CloudFormation स्ट्रीमिंग डेटा रिडक्शन टेम्पलेट, जो दोहराने योग्य परिनियोजन को सक्षम करने के लिए कार्यान्वयन का पूरा विवरण प्रदान करता है। परिनियोजन पर, यह टेम्पलेट दो S3 बकेट बनाता है: एक Amazon Kinesis डेटा जेनरेटर (KDG) से प्राप्त कच्चे नमूना डेटा को संग्रहीत करने के लिए, और दूसरा संशोधित डेटा संग्रहीत करने के लिए। इसके अतिरिक्त, यह किनेसिस डेटा फायरहोज डिलीवरी स्ट्रीम के साथ बनाता है DirectPUT
इनपुट के रूप में, और एक लैम्ब्डा फ़ंक्शन जो अमेज़ॅन कॉम्प्रिहेंड को कॉल करता है इसमें शामिल हैंPiiइकाइयाँ और डिटेक्टPiiएंटिटीज पीआईआई डेटा की पहचान करने और उसमें सुधार करने के लिए एपीआई। लैम्ब्डा फ़ंक्शन पर्यावरण चर में उपयोगकर्ता इनपुट पर निर्भर करता है ताकि यह निर्धारित किया जा सके कि पीआईआई के लिए किन प्रमुख मूल्यों का निरीक्षण किया जाना चाहिए।
इस समाधान में लैम्ब्डा फ़ंक्शन का पेलोड आकार 100 केबी तक सीमित है। यदि एक पेलोड प्रदान किया जाता है जहां टेक्स्ट 100 केबी से अधिक है, तो लैम्ब्डा फ़ंक्शन इसे छोड़ देगा।
समाधान परिनियोजित करने के लिए, निम्न चरणों को पूरा करें:
- यूएस ईस्ट (एन. वर्जीनिया) में CloudFormation स्टैक लॉन्च करें
us-east-1
: - एक स्टैक नाम दर्ज करें, और अन्य मापदंडों को उनके डिफ़ॉल्ट पर छोड़ दें
- चुनते हैं मैं स्वीकार करता हूं कि AWS CloudFormation कस्टम नाम के साथ IAM संसाधन बना सकता है।
- चुनें स्टैक बनाएँ.
संसाधनों को मैन्युअल रूप से तैनात करें
यदि आप AWS CloudFormation का उपयोग करने के बजाय मैन्युअल रूप से आर्किटेक्चर का निर्माण करना पसंद करते हैं, तो इस खंड में चरणों को पूरा करें।
S3 बकेट बनाएं
निम्नलिखित चरणों के साथ अपनी S3 बकेट बनाएं:
- अमेज़न S3 कंसोल पर, चुनें बाल्टी नेविगेशन फलक में
- चुनें बाल्टी बनाएँ.
- अपने कच्चे डेटा के लिए एक बाल्टी और अपने संशोधित डेटा के लिए एक बकेट बनाएं।
- आपके द्वारा अभी-अभी बनाई गई बाल्टियों के नाम नोट करें।
लैम्ब्डा फ़ंक्शन बनाएं
लैम्ब्डा फ़ंक्शन बनाने और तैनात करने के लिए, निम्नलिखित चरणों को पूरा करें:
- लैम्ब्डा कंसोल पर, चुनें फ़ंक्शन बनाएं.
- चुनें खरोंच से लेखक.
- के लिए फ़ंक्शन का नाम, दर्ज
AmazonComprehendPII-Redact
. - के लिए क्रम, चुनें अजगर 3.9.
- के लिए आर्किटेक्चर, चुनते हैं x86_64.
- के लिए निष्पादन भूमिका, चुनते हैं लैम्ब्डा अनुमतियों के साथ एक नई भूमिका बनाएँ.
- फ़ंक्शन बनाने के बाद, निम्न कोड दर्ज करें:
- चुनें तैनाती.
- नेविगेशन फलक में, चुनें विन्यास।
- पर जाए पर्यावरण चर.
- चुनें संपादित करें.
- के लिए कुंजी, दर्ज
keys
. - के लिए वैल्यू , वे प्रमुख मान दर्ज करें जिनसे आप PII को अल्पविराम और स्थान से अलग करके पुन: संपादित करना चाहते हैं। उदाहरण के लिए, दर्ज करें
Tweet1
,Tweet2
यदि आप इस पोस्ट के अगले भाग में दिए गए नमूना परीक्षण डेटा का उपयोग कर रहे हैं। - चुनें सहेजें.
- पर जाए सामान्य विन्यास.
- चुनें संपादित करें.
- का मूल्य बदलें मध्यांतर 1 मिनट तक।
- चुनें सहेजें.
- पर जाए अनुमतियाँ.
- के तहत भूमिका का नाम चुनें निष्पादन भूमिका.
आप पर पुनर्निर्देशित हैं AWS पहचान और अभिगम प्रबंधन (आईएएम) कंसोल. - के लिए अनुमतियाँ जोड़ें, चुनें नीतियों को संलग्न करें.
- दर्ज
Comprehend
खोज बार में और नीति चुनेंComprehendFullAccess
. - चुनें नीतियों को संलग्न करें.
फायरहोज डिलीवरी स्ट्रीम बनाएं
अपनी फायरहोज डिलीवरी स्ट्रीम बनाने के लिए, निम्नलिखित चरणों को पूरा करें:
- Kinesis डेटा Firehose कंसोल पर, चुनें वितरण स्ट्रीम बनाएं.
- के लिए स्रोत, चुनते हैं सीधा पुट.
- के लिए गंतव्य, चुनते हैं अमेज़न S3.
- के लिए डिलीवरी स्ट्रीम का नाम, दर्ज
ComprehendRealTimeBlog
. - के अंतर्गत एडब्ल्यूएस लैम्ब्डा के साथ स्रोत रिकॉर्ड बदलें, चुनते हैं सक्षम.
- के लिए AWS लाम्बा समारोह, आपके द्वारा बनाए गए फ़ंक्शन के लिए ARN दर्ज करें, या फ़ंक्शन पर ब्राउज़ करें
AmazonComprehendPII-Redact
. - के लिए बफर आकार, मान को 1 एमबी पर सेट करें।
- के लिए बफर अंतराल, इसे 60 सेकंड के लिए छोड़ दें।
- के अंतर्गत गंतव्य सेटिंग्स, संशोधित डेटा के लिए आपके द्वारा बनाए गए S3 बकेट का चयन करें।
- के अंतर्गत बैकअप सेटिंग्स, कच्चे रिकॉर्ड के लिए आपके द्वारा बनाए गए S3 बकेट का चयन करें।
- के अंतर्गत अनुमति, या तो IAM भूमिका बनाएं या अपडेट करें, या उचित अनुमतियों के साथ मौजूदा भूमिका चुनें।
- चुनें वितरण स्ट्रीम बनाएं.
स्ट्रीमिंग डेटा समाधान को किनेसिस डेटा जेनरेटर के साथ परिनियोजित करें
आप Kinesis डेटा फ़ायरहोज़ में नमूना डेटा डालने और समाधान का परीक्षण करने के लिए Kinesis डेटा जेनरेटर (KDG) का उपयोग कर सकते हैं। इस प्रक्रिया को सरल बनाने के लिए, हम एक लैम्ब्डा फ़ंक्शन और क्लाउडफॉर्मेशन टेम्पलेट प्रदान करते हैं ताकि एक अमेज़ॅन कॉग्निटो उपयोगकर्ता और केडीजी का उपयोग करने के लिए उचित अनुमति प्रदान करें।
- पर Amazon Kinesis डेटा जेनरेटर पेज, चुनें CloudFormation के साथ एक कॉग्निटो यूजर बनाएं.आपका स्टैक बनाने के लिए आपको AWS CloudFormation कंसोल पर पुनर्निर्देशित किया गया है।
- उस उपयोगकर्ता के लिए उपयोगकर्ता नाम और पासवर्ड प्रदान करें जिससे आप केडीजी में लॉग इन करते हैं।
- अन्य सेटिंग्स को उनके डिफ़ॉल्ट पर छोड़ दें और अपना स्टैक बनाएं।
- पर आउटपुट टैब, केडीजी यूआई लिंक चुनें।
- लॉगिन करने के लिए अपना प्रयोक्तानाम और पासवर्ड दर्ज करें।
Amazon S3 में परीक्षण रिकॉर्ड भेजें और सत्यापन मान्य करें
समाधान का परीक्षण करने के लिए, निम्न चरणों को पूरा करें:
- पिछले चरण में आपके द्वारा बनाए गए KDG URL में लॉग इन करें।
- वह क्षेत्र चुनें जहां एडब्ल्यूएस क्लाउडफॉर्मेशन स्टैक तैनात किया गया था।
- के लिए स्ट्रीम/डिलीवरी स्ट्रीम, आपके द्वारा बनाई गई डिलीवरी स्ट्रीम चुनें (यदि आपने टेम्प्लेट का उपयोग किया है, तो इसका प्रारूप है
accountnumber-awscomprehend-blog
). - अन्य सेटिंग्स को उनके डिफ़ॉल्ट पर छोड़ दें।
- रिकॉर्ड टेम्पलेट के लिए, आप अपने स्वयं के परीक्षण बना सकते हैं, या निम्न टेम्पलेट का उपयोग कर सकते हैं। यदि आप परीक्षण के लिए नीचे दिए गए नमूना डेटा का उपयोग कर रहे हैं, तो आपके पास अद्यतन परिवेश चर होना चाहिए
AmazonComprehendPII-Redact
लैम्ब्डा समारोह करने के लिएTweet1
,Tweet2
. यदि CloudFormation के माध्यम से तैनात किया गया है, तो पर्यावरण चर को अपडेट करेंTweet1
,Tweet2
बनाए गए लैम्ब्डा फ़ंक्शन के भीतर। नमूना परीक्षण डेटा नीचे है: - चुनें डेटा भेजें, और अपनी स्ट्रीम पर रिकॉर्ड भेजने के लिए कुछ सेकंड का समय दें।
- कुछ सेकंड के बाद, केडीजी जेनरेटर बंद करें और डिलीवर की गई फाइलों के लिए अपने S3 बकेट की जांच करें।
रॉ S3 बकेट में अपरिष्कृत डेटा का एक उदाहरण निम्नलिखित है:
निम्नलिखित संशोधित S3 बकेट में संशोधित डेटा का एक उदाहरण है:
संवेदनशील जानकारी को संशोधित संदेशों से हटा दिया गया है, यह विश्वास प्रदान करते हुए कि आप इस डेटा को अंतिम सिस्टम के साथ साझा कर सकते हैं।
साफ - सफाई
जब आप इस समाधान के साथ प्रयोग करना समाप्त कर लें, तो इस उदाहरण में परिनियोजित सभी संसाधनों को हटाने के लिए AWS CloudFormation कंसोल का उपयोग करके अपने संसाधनों को साफ़ करें। यदि आपने मैन्युअल चरणों का पालन किया है, तो आपको दो बकेट को मैन्युअल रूप से हटाना होगा, AmazonComprehendPII-Redact
समारोह, ComprehendRealTimeBlog
स्ट्रीम, के लिए लॉग समूह ComprehendRealTimeBlog
स्ट्रीम, और बनाई गई कोई भी IAM भूमिकाएँ।
निष्कर्ष
इस पोस्ट ने आपको दिखाया कि पीआईआई रिडक्शन को अपने निकट-वास्तविक-समय स्ट्रीमिंग आर्किटेक्चर में कैसे एकीकृत किया जाए और उड़ान में रिडक्शन करके डेटा प्रोसेसिंग समय को कम किया जाए। इस परिदृश्य में, आप अपने अंतिम-उपयोगकर्ताओं को संशोधित डेटा प्रदान करते हैं और एक डेटा लेक व्यवस्थापक बाद में उपयोग के लिए कच्ची बाल्टी को सुरक्षित करता है। आप टोन या भावना की पहचान करने, डेटा के भीतर इकाइयों की पहचान करने और प्रत्येक संदेश को वर्गीकृत करने के लिए अमेज़ॅन कॉम्प्रिहेंड के साथ अतिरिक्त प्रसंस्करण भी बना सकते हैं।
हमने इस पोस्ट के हिस्से के रूप में प्रत्येक सेवा के लिए अलग-अलग चरण प्रदान किए हैं, और एक क्लाउडफॉर्मेशन टेम्पलेट भी शामिल किया है जो आपको अपने खाते में आवश्यक संसाधनों का प्रावधान करने की अनुमति देता है। इस साँचे का उपयोग केवल अवधारणा या परीक्षण परिदृश्यों के प्रमाण के लिए किया जाना चाहिए। इसके लिए डेवलपर गाइड देखें Amazon Comprehend, lambda, तथा किनेसिस डेटा फायरहोज किसी भी सेवा सीमा के लिए।
PII पहचान और संशोधन के साथ आरंभ करने के लिए, देखें व्यक्तिगत रूप से पहचान योग्य जानकारी (PII). इस पोस्ट में उदाहरण आर्किटेक्चर के साथ, आप किनेसिस डेटा फायरहोज डेटा ट्रांसफॉर्मेशन का उपयोग करके किसी भी अमेज़ॅन कॉम्प्रिहेंड एपीआई को निकट-वास्तविक समय डेटा के साथ एकीकृत कर सकते हैं। Kinesis Data Firehose के साथ आप अपने निकट-वास्तविक-समय डेटा के साथ क्या बना सकते हैं, इसके बारे में अधिक जानने के लिए, देखें अमेज़ॅन किनेसिस डेटा फ़ायरहोज़ डेवलपर गाइड. यह समाधान उन सभी AWS क्षेत्रों में उपलब्ध है जहां Amazon Comprehend और Kinesis Data Firehose उपलब्ध हैं।
लेखक के बारे में
जो मोरोट्टी अमेज़ॅन वेब सर्विसेज (एडब्ल्यूएस) में एक समाधान आर्किटेक्ट है, जो पूरे मिडवेस्ट यूएस में एंटरप्राइज़ ग्राहकों की सहायता करता है। उन्होंने तकनीकी भूमिकाओं की एक विस्तृत श्रृंखला का आयोजन किया है और ग्राहक की कला को संभव दिखाने का आनंद लेते हैं। अपने खाली समय में, वह अपने परिवार के साथ नए स्थानों की खोज करने और अपनी खेल टीम के प्रदर्शन का अधिक विश्लेषण करने के साथ गुणवत्तापूर्ण समय बिताने का आनंद लेते हैं।
श्रीहर्ष अदारी अमेज़ॅन वेब सर्विसेज (एडब्ल्यूएस) में एक वरिष्ठ समाधान आर्किटेक्ट हैं, जहां वे ग्राहकों को एडब्ल्यूएस पर अभिनव समाधान विकसित करने के लिए व्यावसायिक परिणामों से पीछे की ओर काम करने में मदद करते हैं। इन वर्षों में, उन्होंने उद्योग वर्टिकल में डेटा प्लेटफॉर्म ट्रांसफॉर्मेशन पर कई ग्राहकों की मदद की है। उनकी विशेषज्ञता के मुख्य क्षेत्र में प्रौद्योगिकी रणनीति, डेटा विश्लेषिकी और डेटा विज्ञान शामिल हैं। अपने खाली समय में, उन्हें टेनिस खेलना, टीवी शो देखना और तबला बजाना पसंद है।