এই নিবন্ধে, আমরা দেখব কিভাবে Python-এ Boto3 লাইব্রেরি ব্যবহার করে বিভিন্ন AWS সার্ভিসের সাথে সংযোগ স্থাপন করা যায়।
উদাহরণ
AWS S3-এ সংযোগ।
AWS Glue Job-এ সংযোগ।
AWS SQS এবং অন্যগুলোতে সংযোগ।
এই সমস্যাটি সমাধানের পদ্ধতি/এলগরিদম
ধাপ ১ − Boto3 লাইব্রেরি ব্যবহার করে একটি AWS সেশন তৈরি করুন।
ধাপ ২ − ক্লায়েন্ট-এ AWS সার্ভিসের নাম পাস করুন লো-লেভেল সার্ভিস অ্যাক্সেস পেতে।
অথবা, রিসোর্স-এ AWS সার্ভিসের নাম পাস করুন হাই-লেভেল অবজেক্ট-ওরিয়েন্টেড সার্ভিস অ্যাক্সেস/হাই-লেভেল ইন্টারফেস পেতে।
উদাহরণ
বিভিন্ন AWS সার্ভিসের সাথে সংযোগ করতে নিচের কোডটি ব্যবহার করুন −
import boto3
# AWS ক্লায়েন্ট পেতে
def getconnection_AWSClient(service_name):
session = boto3.session.Session()
# ইউজার কাস্টমাইজড এক্সেস কী, সিক্রেট কী এবং টোকেনও পাস করতে পারেন
s3_client = session.client(service_name)
return s3_client
print(getconnection_AWSClient('s3')) # S3 সংযোগের জন্য
print(getconnection_AWSClient('glue')) # Glue সংযোগের জন্য
print(getconnection_AWSClient('sqs')) # SQS সংযোগের জন্য এবং অন্যান্য সার্ভিস
# AWS রিসোর্স পেতে
def getconnection_AWSResource(service_name):
session = boto3.session.Session()
# ইউজার কাস্টমাইজড এক্সেস কী, সিক্রেট কী এবং টোকেনও পাস করতে পারেন
s3_resource = session.resource(service_name)
return s3_resource
print(getconnection_AWSResource('s3')) # S3 সংযোগের জন্য
print(getconnection_AWSResource('sqs')) # SQS সংযোগের জন্য এবং অন্যান্য সার্ভিস
আউটপুট
<botocore.client.S3 object at 0x00000216C4CB89B0> <botocore.client.Glue object at 0x00000216C5129358> <botocore.client.SQS object at 0x00000216C4E03E10> s3.ServiceResource() sqs.ServiceResource()
লক্ষ্য করুন যে রিসোর্স সব সার্ভিস সাপোর্ট করে না। উদাহরণস্বরূপ, যদি ইউজার রিসোর্স ব্যবহার করে glue সার্ভিসের সাথে সংযোগ করার চেষ্টা করে, তবে AWS নিচের এক্সেপশন ফেলবে −
boto3.exceptions.ResourceNotExistsError: The 'glue' resource does not exist.
Consider using a boto3.client('glue') instead of a resource for 'glue'
নিচের সার্ভিসগুলো রিসোর্স দ্বারা সাপোর্টেড −
cloudformation
cloudwatch
dynamodb
ec2
glacier
iam
opsworks
s3
sns
sqs