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

使用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存储桶中看到对应的文件。