जब कोई उपयोगकर्ता लैम्ब्डा या प्रोग्रामिंग कोड का उपयोग करके AWS सेवाओं का उपयोग करना चाहता है, तो पहले AWS सेवाओं तक पहुंचने के लिए एक सत्र सेट अप करने की आवश्यकता होती है।
AWS सत्र डिफ़ॉल्ट के साथ-साथ आवश्यकताओं के आधार पर कस्टमाइज़्ड भी हो सकता है।
समस्या विवरण
Python में Boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं।
इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदम
चरण 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 - यदि डिफ़ॉल्ट क्रेडेंशियल के साथ सत्र बना रहे हैं, तो बिना पैरामीटर के Session() का उपयोग करें।
चरण 5 - यदि सत्र कस्टमाइज़्ड है, तो निम्न पैरामीटर पास करें -
aws_access_key_id (string) -- AWS एक्सेस कुंजी आईडी
aws_secret_access_key (string) -- AWS सीक्रेट एक्सेस कुंजी
aws_session_token (string) -- AWS अस्थायी सत्र टोकन
region_name (string) -- नए कनेक्शन बनाते समय डिफ़ॉल्ट क्षेत्र
profile_name (string) -- उपयोग करने के लिए प्रोफ़ाइल का नाम। यदि नहीं दिया गया है, तो डिफ़ॉल्ट प्रोफ़ाइल उपयोग की जाती है।
उदाहरण
डिफ़ॉल्ट और साथ ही कस्टमाइज़्ड क्रेडेंशियल के लिए AWS सत्र बनाने का कोड -
import boto3
# डिफ़ॉल्ट सत्र बनाने के लिए:
def create_aws_session():
session = boto3.session.Session() # यह डिफ़ॉल्ट सत्र बनाता है और किसी भी AWS सेवा से कनेक्ट करने के लिए उपयोग किया जा सकता है
return session
print(create_aws_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)
# यहां region_name और profile_name वैकल्पिक पैरामीटर हैं और डिफ़ॉल्ट मान None है
print(session)
return session
आउटपुट
# यदि डिफ़ॉल्ट region_name मौजूद नहीं है या NONE है और region_name पैरामीटर में पास नहीं किया गया है Session(region_name=None) Session(region_name=None) # यदि डिफ़ॉल्ट region_name मौजूद है और region_name क्रेडेंशियल फ़ाइल/कॉलिंग पैरामीटर में पास किया गया है Session(region_name=YOUR_REGION_NAME) Session(region_name= YOUR_REGION_NAME)