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


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

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web