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