Amazon web services 如何以编程方式将文件添加到AWS S3存储桶?

Amazon web services 如何以编程方式将文件添加到AWS S3存储桶?,amazon-web-services,amazon-s3,aws-lambda,Amazon Web Services,Amazon S3,Aws Lambda,我正在尝试编写一个lambda函数,它可以在每次触发时捕获我的PC网络摄像头提要的图像。我希望通过编程将它们添加到S3 bucket中,而不使用相同的键(如“image.jpg”)覆盖它们。如果每次调用函数时文件名都会增加(例如:image1.jpg、image2.jpg等),那么最好的方法是什么?注意:我正在使用Boto3上传到S3存储桶。您可以将当前计数器存储在DynamoDB或参数存储中 或者只需使用一个具有足够分辨率的时间戳就可以了。您可以将当前计数器存储在DynamoDB或参数存储中

我正在尝试编写一个lambda函数,它可以在每次触发时捕获我的PC网络摄像头提要的图像。我希望通过编程将它们添加到S3 bucket中,而不使用相同的键(如“image.jpg”)覆盖它们。如果每次调用函数时文件名都会增加(例如:image1.jpg、image2.jpg等),那么最好的方法是什么?注意:我正在使用Boto3上传到S3存储桶。

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


或者只需使用一个具有足够分辨率的时间戳就可以了。

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


或者只需使用具有足够分辨率的时间戳就可以了。

一个简单的方法是在存储/上传到s3时将日期时间添加到图像的名称中,这样您的bucket中就会始终有一个新的密钥名称。下面给出的代码将完成您的工作

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)

一个简单的方法是在存储/上传到s3时将日期时间添加到图像的名称中,这样您的bucket中将始终有一个新的密钥名称。下面给出的代码将完成您的工作

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)

你试过什么但没用?你试过什么但没用?