如何以编程方式将文件添加到AWS S3 Bucket?

时间:2018-03-13 23:35:26

标签: amazon-web-services amazon-s3 aws-lambda

我正在尝试编写一个lambda函数,每次触发时都会捕获我的PC网络摄像头的图像。我想以编程方式将它们添加到S3存储桶而不用相同的密钥覆盖它们(例如" image.jpg")。每次调用函数时,文件名递增的最佳方法是什么(例如:image1.jpg,image2.jpg等)?注意:我使用Boto3上传到S3存储桶。

2 个答案:

答案 0 :(得分:2)

您可以在DynamoDB或参数存储中存储当前计数器。

或者只使用分辨率足够的时间戳并完成它。

答案 1 :(得分:1)

一种简单的方法是在存储/上传到s3时将日期时间添加到图像名称,这样您就可以在存储桶中使用新的密钥名称。下面给出的代码将完成您的工作。

import boto3
import datetime

i = datetime.datetime.now()
ptr=str(i)  
smg='group1'+ptr+'.jpeg'

s3 = boto3.resource('s3')
s3.meta.client.upload_file('local/file/group1.jpeg', 'bucket_name', smg)