Trong bài viết này, chúng ta sẽ thấy cách bạn có thể sử dụng thư viện Boto3 trong Python để kết nối với các dịch vụ AWS khác nhau.
Ví dụ
-
Kết nối với AWS S3.
-
Kết nối với AWS Glue Job
-
Kết nối với AWS SQS và nhiều hơn nữa.
Phương pháp tiếp cận / Thuật toán để giải quyết vấn đề này
Bước 1 - Tạo phiên AWS bằng thư viện Boto3.
Bước 2 - Chuyển tên dịch vụ AWS trong ứng dụng khách để có quyền truy cập dịch vụ cấp thấp.
Hoặc, chuyển tên dịch vụ AWS trong tài nguyên để có được quyền truy cập dịch vụ hướng đối tượng cấp cao / giao diện cấp cao.
Ví dụ
Đoạn mã sau kết nối với các dịch vụ AWS khác nhau -
import boto3 # Để tải AWS Clientdef getconnection_AWSClient (service_name):session =boto3.session.Session () # Người dùng có thể chuyển khóa truy cập tùy chỉnh, khóa_có_mỡ và mã thông báo s3_client =session.client (service_name) trả về s3_clientprint (getconnection_AWSClient ( 's3')) # cho kết nối s3 (getconnection_AWSClient ('keo')) # cho kết nối keo (getconnection_AWSClient ('sqs')) # cho kết nối sqs và các dịch vụ khác # Để tải AWS Resourcedef getconnection_AWSResource (service_name):session =boto3. session.Session () # Người dùng có thể chuyển khóa truy cập tùy chỉnh, khóa bí mật và mã thông báo cũng như s3_resource =session.resource (service_name) return s3_resourceprint (getconnection_AWSResource ('s3')) # cho s3 connectionprint (getconnection_AWSResource ('sqs')) # cho kết nối sqs và các dịch vụ khác
Đầu ra
Đối tượngs3.ServiceResource () sqs () Lưu ý rằng tài nguyên không hỗ trợ tất cả các dịch vụ để kết nối. Ví dụ:nếu người dùng cố gắng kết nối dịch vụ keo bằng tài nguyên , sau đó AWS đưa ra ngoại lệ sau - boto3.exceptions.ResourceNotExistsError:Tài nguyên 'keo' không tồn tại.
Cân nhắc sử dụng boto3.client ('keo') thay vì tài nguyên cho 'keo'
Các dịch vụ sau được hỗ trợ bởi tài nguyên -
thông tin đám mây
đồng hồ điện toán đám mây
động cơ
ec2
sông băng
tôi
hoạt động
s3
sns
sqs