欢迎访问宙启技术站
智能推送

Python中使用Boto3批量上传文件到AWSS3存储桶

发布时间:2023-12-28 01:33:05

在Python中使用Boto3库可以方便地与AWS S3存储桶进行交互。以下是一个使用Boto3批量上传文件到AWS S3存储桶的例子:

首先,确保已安装了Boto3库。可以使用以下命令在Python中安装Boto3:

pip install boto3

接下来,导入Boto3库并创建与AWS S3服务的连接。

import boto3

# 创建与AWS S3服务的连接
s3 = boto3.resource('s3')

在连接创建成功后,可以使用upload_file方法将文件上传到AWS S3存储桶中。

# 批量上传文件
def upload_files_to_s3(bucket_name, file_list):
    for file_path in file_list:
        try:
            # 上传文件
            s3.meta.client.upload_file(file_path, bucket_name, file_path)
            print(f"成功上传文件:{file_path}")
        except Exception as e:
            print(f"上传文件失败:{file_path}")
            print(e)

在上面的例子中,bucket_name是存储桶的名称,file_list是要上传的文件列表。

使用这个函数时,只需提供存储桶的名称和要上传的文件列表即可。

# 定义存储桶的名称
bucket_name = 'my-bucket'

# 定义要上传的文件列表
file_list = ['file1.txt', 'file2.txt', 'file3.txt']

# 调用函数上传文件
upload_files_to_s3(bucket_name, file_list)

这个例子将会按照文件列表中的顺序,依次上传文件到指定的存储桶中。

需要注意的是,AWS S3存储桶必须具有正确的权限,以便Python脚本能够上传文件。可以通过AWS管理控制台或使用AWS CLI命令进行配置。

另外,还有许多其他的Boto3函数和方法可以用来管理AWS S3存储桶,例如upload_fileobj方法可以上传文件对象,delete_object方法可以删除存储桶中的文件,list_objects方法可以列出存储桶中的所有对象等等。