Chia sẻ kiến thức

[Python] Kết nối tới dịch vụ AWS sử dụng thư viện Boto3

0

AWS (Amazon Web Services) là một dịch vụ đám mây nổi tiếng. Nó cung cấp cho chúng ta rất nhiều dịch vụ như dịch vụ máy chủ EC2, lưu trữ S3, Cân bằng tải,… 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. Dưới đây là một số ví dụ sử dụng Python để kết nối và quản lý các dịch vụ AWS.

Để sử dụng API AWS, bạn cần cài đặt thư viện Boto3 của Python

Cài đặt Boto3. thư viện

Để cài đặt boto3, chúng tôi sử dụng trình quản lý gói pip3 của Python

pip3 install boto3

Kiểm tra phiên bản sau khi cài đặt bằng lệnh pip3 show boto3

Kết nối với Dịch vụ AWS bằng Python 3

Kết nối với EC2. dịch vụ

Mã nguồn để 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 với S3. dịch vụ

Mã nguồn để 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 với Route53. dịch vụ

Mã nguồn để 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 với dịch vụ AWS bạn cần có 2 tham số là ACCESS_KEY và SECRET_KEY, để tạo được 2 key này bạn hãy tham khảo bài viết sau:

Nguồn: vinasupport.com

Leave a comment