Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để kết nối các dịch vụ AWS khác nhau bằng thư viện Boto3 trong Python?

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ượng
    s3.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