Tải lên và truy xuất tệp

Giới thiệu về AWS Boto trong Python

Maksim Pecherskiy

Data engineer

Bucket và đối tượng

Bucket với đối tượng

Giới thiệu về AWS Boto trong Python

Một bucket

Bucket S3

  • Bucket có tên
  • Tên là chuỗi
  • Tên phải duy nhất trên toàn bộ S3
  • Chứa nhiều đối tượng

Một đối tượng

Đối tượng S3

  • Đối tượng có key
  • Tên là đường dẫn đầy đủ từ gốc bucket
  • Key là duy nhất trong bucket
  • Chỉ thuộc về một bucket cha
Giới thiệu về AWS Boto trong Python

Tạo client

s3 = boto3.client(
  's3', 
  region_name='us-east-1', 
  aws_access_key_id=AWS_KEY_ID, 
  aws_secret_access_key=AWS_SECRET
)

Máy khách giao tiếp với S3

Giới thiệu về AWS Boto trong Python

Tải tệp lên

s3.upload_file(
  Filename='gid_requests_2019_01_01.csv', 
  Bucket='gid-requests', 
  Key='gid_requests_2019_01_01.csv')

Tải đối tượng lên bucket

Giới thiệu về AWS Boto trong Python

Tải tệp lên

Tệp trong S3

Giới thiệu về AWS Boto trong Python

Tải thêm đối tượng

Tải thêm đối tượng

Giới thiệu về AWS Boto trong Python

Liệt kê đối tượng trong bucket

response = s3.list_objects(
  Bucket='gid-requests', 
  MaxKeys=2,
  Prefix='gid_requests_2019_')

print(response)

Phản hồi liệt kê đối tượng

Giới thiệu về AWS Boto trong Python

Liệt kê đối tượng trong bucket

Liệt kê đối tượng trong bucket

Giới thiệu về AWS Boto trong Python

Liệt kê đối tượng trong bucket

Liệt kê đối tượng trong bucket

Giới thiệu về AWS Boto trong Python

Liệt kê đối tượng trong bucket

Liệt kê đối tượng trong bucket

Giới thiệu về AWS Boto trong Python

Lấy metadata đối tượng

response = s3.head_object(
  Bucket='gid-requests', 
  Key='gid_requests_2018_12_30.csv')

print(response)

Phương thức head object

Giới thiệu về AWS Boto trong Python

Lấy metadata đối tượng

Phản hồi metadata đối tượng

Giới thiệu về AWS Boto trong Python

Tải xuống tệp

s3.download_file(
  Filename='gid_requests_downed.csv',
  Bucket='gid-requests', 
  Key='gid_requests_2018_12_30.csv')

Tải xuống tệp

Giới thiệu về AWS Boto trong Python

Xóa đối tượng

s3.delete_object(
  Bucket='gid-requests', 
  Key='gid_requests_2018_12_30.csv')

Xóa một đối tượng

Giới thiệu về AWS Boto trong Python

Tóm tắt

  • Bucket giống như thư mục
  • Đối tượng giống như tệp
  • boto3.client()
  • s3.upload_file()
  • s3.list_objects()
  • s3.head_object()
  • s3.download_file()
  • s3.delete_object()

Bucket

Giới thiệu về AWS Boto trong Python

Hãy tạo một số đối tượng!

Giới thiệu về AWS Boto trong Python

Preparing Video For Download...