Hướng dẫn get file from s3 bucket python - lấy tệp từ s3 bucket python
Ví dụ này cho thấy cách tải xuống một tệp từ xô S3, sử dụng s3.bucket.doad_file ().S3.Bucket.download_file(). Show Điều kiện tiên quyếtĐể thiết lập và chạy ví dụ này, trước tiên bạn phải:
Tải xuống một tập tinVí dụ dưới đây cố gắng tải xuống một đối tượng S3 vào một tệp. Nếu dịch vụ trả về lỗi 404, nó sẽ in một thông báo lỗi cho biết rằng đối tượng không tồn tại. import boto3 import botocore BUCKET_NAME = 'my-bucket' # replace with your bucket name KEY = 'my_image_in_s3.jpg' # replace with your object key s3 = boto3.resource('s3') try: s3.Bucket(BUCKET_NAME).download_file(KEY, 'my_local_image.jpg') except botocore.exceptions.ClientError as e: if e.response['Error']['Code'] == "404": print("The object does not exist.") else: raise Các phương thức được cung cấp bởi AWS SDK cho Python để tải xuống các tệp tương tự như các phương thức được cung cấp để tải lên các tệp. Phương thức import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME') Phương thức s3 = boto3.client('s3') with open('FILE_NAME', 'wb') as f: s3.download_fileobj('BUCKET_NAME', 'OBJECT_NAME', f) Giống như anh em họ tải lên của họ, các phương thức tải xuống được cung cấp bởi các lớp S3 import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')0 và import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')1 và mỗi lớp cung cấp chức năng giống hệt nhau. Sử dụng bất kỳ lớp nào là thuận tiện. Cũng giống như các phương thức tải lên, các phương thức tải xuống hỗ trợ các tham số import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')2 và import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')3 tùy chọn. Danh sách các cài đặt import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')2 hợp lệ cho các phương thức tải xuống được chỉ định trong thuộc tính import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')5 của đối tượng import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')6 tại import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')7. Tham số import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')3 của phương thức tải xuống được sử dụng cho cùng mục đích với phương thức tải lên. Các phương thức tải lên và tải xuống đều có thể gọi cùng một lớp import boto3 s3 = boto3.client('s3') s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')3. Từ một ví dụ trong tài liệu chính thức, định dạng chính xác là:
Bạn cũng có thể sử dụng một đối tượng giống như tệp được mở ở chế độ nhị phân.
Mã trong câu hỏi sử dụng s3 = boto3.client('s3') with open('FILE_NAME', 'wb') as f: s3.download_fileobj('BUCKET_NAME', 'OBJECT_NAME', f)0, không cung cấp bất kỳ thông tin đăng nhập nào. Định dạng để xác thực một máy khách được hiển thị ở đây:
Và cuối cùng, bạn cũng có thể sử dụng lại phiên được xác thực mà bạn đã tạo để lấy xô, sau đó tải xuống sau đó tệp từ thùng.
Chúng ta có thể đọc tệp từ S3 mà không cần tải xuống không?Đọc các đối tượng mà không tải chúng xuống tương tự, nếu bạn muốn tải lên và đọc các đoạn dữ liệu văn bản nhỏ như trích dẫn, tweet hoặc bài báo, bạn có thể làm điều đó bằng cách sử dụng phương thức tài nguyên S3 ()).you can do that using the S3 resource method put(), as demonstrated in the example below (Gist).
Làm cách nào để xem các tệp trong thùng S3?Trong bảng điều khiển Amazon S3, chọn Xô S3 của bạn, chọn tệp bạn muốn mở hoặc tải xuống, chọn hành động, sau đó chọn mở hoặc tải xuống.Nếu bạn đang tải xuống một đối tượng, chỉ định nơi bạn muốn lưu nó.Quy trình lưu đối tượng phụ thuộc vào trình duyệt và hệ điều hành mà bạn đang sử dụng.. If you are downloading an object, specify where you want to save it. The procedure for saving the object depends on the browser and operating system that you are using.
Làm cách nào để tải xuống từ thùng s3 với boto3?Tải xuống một tập tin từ một thùng S3.. Định cấu hình thông tin đăng nhập AWS của bạn, như được mô tả trong QuickStart .. Tạo một thùng S3 và tải một tệp lên thùng .. Thay thế các giá trị khóa và các giá trị khóa trong đoạn mã bằng tên của nhóm của bạn và khóa cho tệp đã tải lên .. |