问题描述
下面的 Lambda 与对象创建事件触发器一起工作得很好,但不会在删除对象事件时复制对象。打开版本控制(切换到带有标记的删除而不是永久删除)不会改变它。 Lambda 角色附加了 arn:aws:iam::aws:policy/AmazonS3FullAccess 和 arn:aws:iam::aws:policy/AWSLambda_FullAccess 策略。 这个功能有什么问题?
import json
import boto3
# boto3 S3 initialization
s3_client = boto3.client("s3")
def lambda_handler(event,context):
source_bucket_name = event['Records'][0]['s3']['bucket']['name']
destination_bucket_name = source_bucket_name + '-glacier'
print(f'copying from {source_bucket_name} to {destination_bucket_name}')
print("Event :",event)
# Filename of an object (with path)
file_key_name = event['Records'][0]['s3']['object']['key']
# copy Source Object
copy_source_object = {'Bucket': source_bucket_name,'Key': file_key_name}
# S3 copy object operation
s3_client.copy_object(copySource=copy_source_object,Bucket=destination_bucket_name,Key=file_key_name,StorageClass='GLACIER')
return {
'statusCode': 200,'body': json.dumps('Hello from S3 events Lambda!')
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)