जब कोई उपयोगकर्ता लैम्ब्डा या प्रोग्रामिंग कोड का उपयोग करके एडब्ल्यूएस सेवाओं का उपयोग करना चाहता है, तो एडब्ल्यूएस सेवाओं तक पहुंचने के लिए पहले एक सत्र को स्थापित करने की आवश्यकता होती है।
AWS सत्र डिफ़ॉल्ट होने के साथ-साथ आवश्यकताओं के आधार पर अनुकूलित भी हो सकता है।
समस्या का विवरण - AWS सत्र बनाने के लिए Python में Boto3 लाइब्रेरी का उपयोग करें।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1 - AWS सत्र बनाने के लिए, पहले प्रमाणीकरण क्रेडेंशियल सेट करें। उपयोगकर्ता इसे IAM कंसोल में ढूंढ सकते हैं या वैकल्पिक रूप से, क्रेडेंशियल फ़ाइल को मैन्युअल रूप से बना सकते हैं। डिफ़ॉल्ट रूप से, इसका स्थान ~/.aws/credentials . पर होता है
उदाहरण
[default] aws_access_key_id = YOUR_ACCESS_KEY aws_secret_access_key = YOUR_SECRET_ACCESS_KEY aws_session_token = YOUR_SESSION_TOKEN region = REGION_NAME
चरण 2 - कमांड का उपयोग करके Boto3 इंस्टॉल करें - pip install boto3
चरण 3 - Boto3 लाइब्रेरी इंपोर्ट करें।
चरण 4 - यदि डिफ़ॉल्ट क्रेडेंशियल के साथ सत्र बना रहे हैं, तो सत्र () . का उपयोग करें बिना किसी पैरामीटर के।
चरण 5 - यदि सत्र को अनुकूलित किया गया है, तो निम्नलिखित पैरामीटर पास करें -
-
aws_access_key_id (स्ट्रिंग) -- AWS एक्सेस कुंजी आईडी
-
aws_secret_access_key (स्ट्रिंग) -- AWS गुप्त एक्सेस कुंजी
-
aws_session_token (स्ट्रिंग) -- AWS अस्थायी सत्र टोकन
-
Region_name (स्ट्रिंग) -- नए कनेक्शन बनाते समय डिफ़ॉल्ट क्षेत्र
-
profile_name (स्ट्रिंग) - उपयोग करने के लिए प्रोफ़ाइल का नाम। यदि नहीं दिया गया है, तो डिफ़ॉल्ट प्रोफ़ाइल का उपयोग किया जाता है।
उदाहरण
निम्न कोड डिफ़ॉल्ट के साथ-साथ अनुकूलित क्रेडेंशियल के लिए एक AWS सत्र बनाता है -
import boto3 # To create default session: def create_aws_session(): session = boto3.session.Session() #it creates the default session and can use to connect with any AWS service return session print(create_aws_session()) # To Create customized session: def create_customized_session(aws_access_key, aws_secret_key, aws_token, region_name=None,profile_name=None): session = boto3.session.Session(aws_access_key_id=aws_access_key, aws_secret_access_key=aws_secret_key, aws_session_token = aws_token, region_name=region_name, profile_name = profile_name) # Here, region_name and profile_name are optional parameters and default value is None Print(session) return session
आउटपुट
#if default region_name is not present or NONE and region_name is not passed in #credential file/calling parameter Session(region_name=None) Session(region_name=None) #if default region_name is present and region_name is passed in credential file/calling #parameter Session(region_name=YOUR_REGION_NAME) Session(region_name= YOUR_REGION_NAME)