使用Python的S3Connection()将本地文件夹中的文件上传到S3存储桶
发布时间:2024-01-16 16:27:55
使用Python的S3Connection()将本地文件夹中的文件上传到S3存储桶可以使用boto库。boto是一个AWS SDK的Python开发库,提供了与AWS服务通信的功能,包括S3。
首先需要安装boto库,可以使用以下命令进行安装:
pip install boto
接下来,可以按照以下步骤使用S3Connection()将本地文件夹中的文件上传到S3存储桶:
1.导入boto库:
import os import boto from boto.s3.connection import S3Connection from boto.s3.key import Key
2.创建S3连接:
conn = S3Connection('ACCESS_KEY', 'SECRET_KEY') # 替换ACCESS_KEY和SECRET_KEY为你的AWS凭证
3.获取S3存储桶:
bucket = conn.get_bucket('bucket_name') # 替换bucket_name为你的S3存储桶名称
4.遍历本地文件夹中的文件:
local_folder = '/path/to/local/folder' # 替换local_folder为本地文件夹的路径
for root, dirs, files in os.walk(local_folder):
for file_name in files:
file_path = os.path.join(root, file_name)
5.创建S3键:
s3_key = Key(bucket)
s3_key.key = file_name
6.上传文件到S3存储桶:
s3_key.set_contents_from_filename(file_path)
完整的代码如下所示:
import os
import boto
from boto.s3.connection import S3Connection
from boto.s3.key import Key
conn = S3Connection('ACCESS_KEY', 'SECRET_KEY')
bucket = conn.get_bucket('bucket_name')
local_folder = '/path/to/local/folder'
for root, dirs, files in os.walk(local_folder):
for file_name in files:
file_path = os.path.join(root, file_name)
s3_key = Key(bucket)
s3_key.key = file_name
s3_key.set_contents_from_filename(file_path)
请注意,要替换ACCESS_KEY、SECRET_KEY以及bucket_name为你自己的AWS凭证和S3存储桶名称。另外,将local_folder替换为你的本地文件夹路径。
这样就可以使用Python的S3Connection()将本地文件夹中的文件上传到S3存储桶了。上传完成后,可以在S3存储桶中看到对应的文件。
