ในบทความนี้ เราจะมาดูกันว่าคุณสามารถใช้ไลบรารี Boto3 ใน Python เพื่อเชื่อมต่อกับบริการต่างๆ ของ AWS ได้อย่างไร
ตัวอย่าง
-
เชื่อมต่อกับ AWS S3
-
เชื่อมต่อกับงานกาว AWS
-
เชื่อมต่อกับ AWS SQS และอื่นๆ อีกมากมาย
แนวทาง/อัลกอริทึมในการแก้ปัญหานี้
ขั้นตอนที่ 1 − สร้างเซสชัน AWS โดยใช้ไลบรารี Boto3
ขั้นตอนที่ 2 − ส่งชื่อบริการ AWS ในไคลเอนต์เพื่อรับการเข้าถึงบริการระดับต่ำ
หรือส่งชื่อบริการของ AWS ในทรัพยากรเพื่อรับการเข้าถึงบริการเชิงวัตถุระดับสูง/อินเทอร์เฟซระดับสูง
ตัวอย่าง
รหัสต่อไปนี้เชื่อมต่อกับบริการต่างๆ ของ AWS -
import boto3 # To get AWS Client def getconnection_AWSClient(service_name): session = boto3.session.Session() # User can pass customized access key, secret_key and token as well s3_client = session.client(service_name) return s3_client print(getconnection_AWSClient('s3')) # for s3 connection print(getconnection_AWSClient('glue')) # for glue connection print(getconnection_AWSClient('sqs')) # for sqs connection and other services # To get AWS Resource def getconnection_AWSResource(service_name): session = boto3.session.Session() # User can pass customized access key, secret_key and token as well s3_resource = session.resource(service_name) return s3_resource print(getconnection_AWSResource('s3')) # for s3 connection print(getconnection_AWSResource('sqs')) # for sqs connection and other services
ผลลัพธ์
<botocore.client.S3 object at 0x00000216C4CB89B0> <botocore.client.Glue object at 0x00000216C5129358> <botocore.client.SQS object at 0x00000216C4E03E10> s3.ServiceResource() sqs.ServiceResource()
โปรดทราบว่าทรัพยากรไม่รองรับบริการทั้งหมดที่จะเชื่อมต่อ ตัวอย่างเช่น หากผู้ใช้พยายามเชื่อมต่อบริการกาวโดยใช้ทรัพยากร จากนั้น AWS จะแสดงข้อยกเว้นต่อไปนี้ −
boto3.exceptions.ResourceNotExistsError:ไม่มีทรัพยากร 'กาว'
ลองใช้ boto3.client('glue') แทนทรัพยากรสำหรับ 'glue'
บริการต่อไปนี้ได้รับการสนับสนุนโดยทรัพยากร -
-
การก่อตัวของเมฆ
-
นาฬิกาคลาวด์
-
ไดนาโมดบ
-
ec2
-
ธารน้ำแข็ง
-
ฉัน
-
opsworks
-
s3
-
sns
-
sqs