যখন একজন ইউজার ল্যাম্বডা বা প্রোগ্রামিং কোড ব্যবহার করে AWS সার্ভিস ব্যবহার করতে চায়, তখন প্রথমে একটি সেশন সেট আপ করতে হয় AWS সার্ভিস অ্যাক্সেস করার জন্য।
একটি AWS সেশন ডিফল্ট ও কাস্টমাইজড দুভাবেই হতে পারে চাহিদা অনুযায়ী।
সমস্যা বিবরণ − Python-এ Boto3 লাইব্রেরি ব্যবহার করে একটি AWS সেশন তৈরি করা।
এই সমস্যাটি সমাধানের পদ্ধতি/এলগরিদম
ধাপ ১ − 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
ধাপ ২ − Boto3 ইনস্টল করুন কমান্ড দিয়ে - pip install boto3।
ধাপ ৩ − Boto3 লাইব্রেরি ইমপোর্ট করুন।
ধাপ ৪ − যদি ডিফল্ট ক্রেডেনশিয়াল দিয়ে সেশন তৈরি করতে হয়, তবে কোনো প্যারামিটার ছাড়াই Session() ব্যবহার করুন।
ধাপ ৫ − যদি সেশন কাস্টমাইজড হয়, তবে নিচের প্যারামিটারগুলো পাস করুন −
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)