AWS, viết tắt của Amazon Web Services, là một nền tảng cloud phổ biến và đáng tin cậy. Nó cung cấp một loạt các dịch vụ, bao gồm EC2 cho máy chủ, S3 cho lưu trữ, Load Balancing, và nhiều dịch vụ khác nữa. Ngoài ra, AWS cung cấp các API cho phép quản lý các dịch vụ này bằng nhiều ngôn ngữ lập trình khác nhau. Dưới đây là một số ví dụ về cách sử dụng Python để kết nối và điều khiển các dịch vụ AWS.
Để sử dụng API của AWS, người dùng cần cài đặt thư viện Boto3 của Python.
Cài đặt thư viện Boto3
Để cài đặt boto3 chúng ta sử dụng trình quản lý package pip3 của Python
pip3 install boto3
Kiểm tra version sau khi cài đặt bằng lệnh pip3 show boto3
Kết nối tới dịch vụ AWS bằng Python 3
Kết nối tới dịch vụ EC2
Source code tham khảo
import boto3 ACCESS_KEY = '' SECRET_KEY = '' REGION_NAME = 'ap-northeast-1' session = boto3.Session( aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY, region_name=REGION_NAME, ) ec2Client = session.client('ec2') ec2Resource = session.resource('ec2') response = ec2Client.describe_instances() for reservation in response["Reservations"]: for instance in reservation["Instances"]: # This sample print will output entire Dictionary object # print(instance) # You can also create a resource object from the instance item as well ec2 = ec2Resource.Instance(instance["InstanceId"]) # print(ec2)
Kết nối tới dịch vụ S3
Source code tham khảo
import boto3 ACCESS_KEY = '' SECRET_KEY = '' REGION_NAME = 'ap-northeast-1' session = boto3.Session( aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY, region_name=REGION_NAME, ) s3Client = session.client('s3') # List all buckets on your account. response = s3Client.list_buckets() for bucket in response['Buckets']: print(bucket)
Kết nối tới dịch vụ Route53
Source code tham khảo
import boto3 ACCESS_KEY = '' SECRET_KEY = '' REGION_NAME = 'ap-northeast-1' session = boto3.Session( aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY, region_name=REGION_NAME, ) r53Client = session.client('route53') response = r53Client.list_hosted_zones() for hostedZone in response['HostedZones']: response = r53Client.get_hosted_zone( Id=hostedZone['Id'] ) print(hostedZone) print(response)
Để kết nối tới dịch vụ của AWS các bạn cần 2 tham số là ACCESS_KEY và SECRET_KEY.