繁体   English   中英

使用 boto3 将文件上传到特定文件夹中的 s3 存储桶

[英]Using boto3 to upload files to s3 bucket within specific folder

我有下面的代码将文件上传到我的 s3 存储桶。 但是,如果存在,我希望将 go 文件放入特定文件夹中。 如果该文件夹不存在,则应创建该文件夹,然后添加该文件。

这是我使用添加我的文件的行。

response = s3_client.upload_file(file_name, bucket, object_name)

我想要的文件夹名称是:

<Year>/<Month>/<day>/<this is the file>

显然,我们每天都需要创建新文件夹。 我怎么能用boto3做到这一点?

无需创建文件夹 只需将 object 上传到特定路径即可使文件夹自动“出现”。

因此,您的代码只需要找出上传 object 的正确完整路径(密钥)。 假设您希望它 go 到具有今天日期的文件夹,您需要在object_name中创建正确的路径:

from datetime import datetime

target_key = datetime.now().strftime('%Y/%m/%d/') + object_name

response = s3_client.upload_file(file_name, bucket, target_key)

但是,请注意 AWS Lambda function 在 UTC 时区运行,因此您可能需要根据当地时区调整时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM