AWS (Amazon Web Services) là dịch vụ cloud nổi tiếng. Nó cung cấp cho chúng ta rất nhiều các dịch vụ như dịch vụ máy chủ EC2, lưu trữ S3, Load Balancing, … Ngoài ra AWS còn cung cấp rất nhiều API để quản lý các dịch vụ này bằng các ngôn ngữ khác nhau. Sau đây là 1 số ví dụ sử dụng Python để kết nối và quản lý các dịch vụ của AWS.
Để sử dụng AWS API các bạn 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, để tạo 2 key này vui lòng tham khảo bài viết sau:
Nguồn: vinasupport.com