Nhóm S3 trong Python là gì?

Boto3 là ​​SDK hoặc thư viện Python có thể quản lý và truy cập nhiều dịch vụ khác nhau của AWS, chẳng hạn như Amazon S3, EC2, Dynamo DB, SQS, Cloudwatch, v.v. , thông qua tập lệnh python. Boto3 có cách tiếp cận dựa trên dữ liệu để tạo các lớp trong thời gian chạy từ các tệp mô tả JSON được chia sẻ giữa các SDK. Do Boto 3 được tạo từ các tệp JSON được chia sẻ này nên người dùng sẽ nhận được các bản cập nhật nhanh chóng cho các dịch vụ mới nhất và một API nhất quán trên các dịch vụ. Nó cung cấp API hướng đối tượng và dễ sử dụng cũng như truy cập dịch vụ trực tiếp cấp thấp

Các tính năng chính của boto3

  • Nó được xây dựng dựa trên botocore- một thư viện Python được sử dụng để gửi các yêu cầu API tới AWS và nhận phản hồi từ dịch vụ
  • Hỗ trợ Python2. 7+ và 3. 4+ nguyên bản
  • Boto3 cung cấp các phiên và thông tin xác thực & cấu hình mỗi phiên, cùng với các thành phần thiết yếu như xác thực, tham số và xử lý phản hồi
  • Có giao diện nhất quán và cập nhật

Làm việc với AWS S3 và Boto3

Nguồn. https. //dashbird. io/blog/boto3-aws-python/

Cài đặt boto3 và Xây dựng AWS S3 Client

Cài đặt boto3 vào ứng dụng của bạn

Trên Terminal, sử dụng mã

pip list

Đoạn mã trên sẽ liệt kê các gói đã cài đặt. Nếu Boto3 chưa được cài đặt, hãy cài đặt nó bằng mã sau

pip install boto3

Xây dựng ứng dụng khách S3 để truy cập các phương thức dịch vụ

Tạo ứng dụng khách S3 giúp truy cập các đối tượng được lưu trữ trong môi trường S3 và đặt thông tin đăng nhập, bao gồm aws_access_key_id và aws_secret_access_key. Điều cần thiết là phải có thông tin đăng nhập như Khóa truy cập và Khóa bí mật để truy cập bộ chứa S3 và chạy mã sau

# Import the necessary packages
import boto3
# Now, build a client
S3 = boto3.client[
    's3',
    aws_access_key_id = 'enter your_aws_access_key_id ',
    aws_secret_access_key = ' enter your_aws_secret_access_key ',
    region_name = ' enter your_aws_region_name '
]

Hoạt động của AWS S3 với boto3

Tạo thùng

Để tạo một bộ chứa S3, hãy sử dụng phương thức create_bucket[] với các tham số Bộ chứa và ACL. ACL đại diện cho Danh sách kiểm soát truy cập quản lý quyền truy cập vào các đối tượng và bộ chứa S3. Điều quan trọng cần lưu ý là tên Nhóm phải là duy nhất trên toàn bộ nền tảng AWS

my_bucket = "enter your s3 bucket name that has to be created"
bucket = s3.create_bucket[
ACL='private',
Bucket= my_bucket
]

Để liệt kê tất cả các nhóm có sẵn, hãy sử dụng phương thức list_buckets[]

bucket_response = s3.list_buckets[]
# Output the bucket names
print['Existing buckets are:']
for bucket in bucket_response ['Buckets']:
    print[f'  {bucket["Name"]}']

Một nhóm trong S3 có thể bị xóa bằng phương thức delete_bucket[]. Bộ chứa phải trống, có nghĩa là nó không chứa bất kỳ đối tượng nào để thực hiện thao tác xóa

my_bucket = "enter your s3 bucket name that has to be deleted"
response = s3.delete_bucket[Bucket= my_bucket]
print["Bucket has been deleted successfully !!!"]

Liệt kê các tệp từ một nhóm

Các tệp hoặc đối tượng từ bộ chứa S3 có thể được liệt kê bằng phương thức list_objects hoặc phương thức list_objects_v2

my_bucket = "enter your s3 bucket name from which objects or files has to be listed out"
response = s3.list_objects[Bucket= my_bucket,
                           MaxKeys=10, 
                           Preffix="only_files_starting_with_this_string"]

Đối số MaxKeys biểu thị số lượng đối tượng tối đa được liệt kê. Đối số tiền tố liệt kê các Đối tượng có khóa [tên] chỉ bắt đầu bằng một tiền tố cụ thể

Một cách khác để liệt kê các đối tượng

    s3 = boto3.client["s3"]
    my_bucket = " enter your s3 bucket name from which objects or files has to be listed out "
    response = s3.list_objects_v2[Bucket=my_bucket]
    files = response.get["Contents"]
    for file in files:
        print[f"file_name: {file['Key']}, size: {file['Size']}"]

Để tải tệp lên thùng s3, hãy sử dụng phương thức upload_file[] có các tham số sau

  • Tập tin. nó xác định đường dẫn của tệp sẽ được tải lên
  • Chìa khóa. nó đại diện cho mã định danh duy nhất cho một đối tượng trong một nhóm
  • Gầu múc. tên bộ chứa mà tệp phải được tải lên

________số 8_______

Để tải xuống tệp hoặc đối tượng cục bộ từ bộ chứa, hãy sử dụng phương thức download_file[] với các tham số Khóa, Bộ chứa và Tên tệp

my_bucket = "enter your s3 bucket name from which object or files has to be downloaded"
file_name = "enter file to be downloaded"
key_name = "enter unique identifier"
s3.download_file[Filename= file_name, Bucket= my_bucket, Key= key_name]

Để xóa một tệp hoặc đối tượng khỏi một nhóm, hãy sử dụng phương thức delete_object[] với các tham số Khóa và Nhóm

pip install boto3
0

Lấy siêu dữ liệu của đối tượng

Để lấy thông tin chi tiết của tệp hoặc đối tượng, chẳng hạn như thời gian sửa đổi lần cuối, lớp lưu trữ, độ dài nội dung, kích thước theo byte, v.v. , hãy sử dụng phương thức head_object[] với các tham số Key và Bucket

pip install boto3
1

Phần kết luận

AWS S3 là một trong những hệ thống lưu trữ đối tượng đáng tin cậy, linh hoạt và bền bỉ nhất cho phép người dùng lưu trữ và truy xuất dữ liệu. AWS định nghĩa boto3 là ​​thư viện Python hoặc SDK [Bộ công cụ phát triển phần mềm] để tạo, quản lý và định cấu hình các dịch vụ AWS, bao gồm cả S3. Boto3 vận hành các dịch vụ AWS theo cách có lập trình từ các ứng dụng và dịch vụ của bạn

  • AWS S3 là một dịch vụ lưu trữ đối tượng giúp lưu trữ và truy xuất tệp nhanh chóng
  • Boto3 là ​​SDK hoặc thư viện Python có thể quản lý Amazon S3, EC2, Dynamo DB, SQS, Cloudwatch, v.v.
  • Máy khách Boto3 cung cấp giao diện cấp thấp cho các dịch vụ AWS, trong khi tài nguyên là bản tóm tắt cấp cao hơn máy khách
  • Sử dụng thư viện Boto3 với Amazon S3 cho phép người dùng tạo, liệt kê, xóa và cập nhật Bộ chứa S3, Đối tượng, Chính sách bộ chứa S3, v.v. , từ các chương trình hoặc tập lệnh Python theo cách nhanh hơn

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả

Thùng S3 được sử dụng để làm gì?

Bộ chứa Amazon S3 là tài nguyên lưu trữ đám mây công cộng có sẵn trong Dịch vụ lưu trữ đơn giản [S3] của Amazon Web Services [AWS], cung cấp dịch vụ lưu trữ đối tượng. Amazon S3 buckets, which are similar to file folders, store objects, which consist of data and its descriptive metadata.

Làm cách nào để sử dụng nhóm S3 trong Python?

Cách tải lên và tải xuống tệp từ AWS S3 bằng Python [2022] .
Bước 1. Thiết lập một tài khoản. .
Bước 2. Tạo người dùng. .
Bước 3. Tạo một thùng. .
Bước 4. Tạo một chính sách và thêm nó vào người dùng của bạn. .
Bước 5. Tải xuống AWS CLI và định cấu hình người dùng của bạn. .
Bước 6. Tải lên tệp của bạn. .
Bước 7. Kiểm tra xem xác thực có hoạt động không

Nói một cách đơn giản, thùng S3 là gì?

Xô là chỗ chứa các đối tượng . Để lưu trữ dữ liệu của bạn trong Amazon S3, trước tiên bạn tạo một bộ chứa và chỉ định tên bộ chứa cũng như Khu vực AWS. Sau đó, bạn tải dữ liệu của mình lên bộ chứa đó dưới dạng đối tượng trong Amazon S3. Mỗi đối tượng có một khóa [hoặc tên khóa], là mã định danh duy nhất cho đối tượng trong nhóm.

S3 Python là gì?

Một trong những thành phần cốt lõi của nó là S3, dịch vụ lưu trữ đối tượng do AWS cung cấp . Với tính khả dụng và độ bền ấn tượng, nó đã trở thành cách tiêu chuẩn để lưu trữ video, hình ảnh và dữ liệu. Bạn có thể kết hợp S3 với các dịch vụ khác để xây dựng các ứng dụng có khả năng mở rộng vô hạn. Boto3 là ​​tên của Python SDK cho AWS.

Chủ Đề