【发布时间】:2019-10-02 10:59:40
【问题描述】:
我创建了一个 Lambda,每次我将文件添加到 s3://test-bucket-01/ 时都会触发它,它将 s3://test-bucket-01/ 中的所有文件复制到 s3:// test-bucket-02/
我希望它只添加刚刚添加的新文件?
当前代码:
import boto3
s3 = boto3.resource('s3')
def lambda_handler(event, context):
bucket = s3.Bucket('test-bucket-01')
dest_bucket = s3.Bucket('tb-bucket-02')
print(bucket)
print(dest_bucket)
for obj in bucket.objects.all():
dest_key = obj.key
print(dest_key)
s3.Object(dest_bucket.name, dest_key).copy_from(CopySource = {'Bucket': obj.bucket_name, 'Key': obj.key})
结果:
Function Logs:
START RequestId: XXXXXXX-XXXXXXX-XXXXXXX Version: $LATEST
s3.Bucket(name='test-bucket-01')
s3.Bucket(name='test-bucket-02')
test-data-01.json
test-data-02.json
test-data-03.json
【问题讨论】:
标签: python amazon-web-services amazon-s3 aws-lambda boto