我想使用boto3配置s3存储桶,以便每次在该存储桶中创建对象时调用AWS lambda . 这是我的代码:
s3 = ..boto3 resource
bucket_notification = s3.BucketNotification(bucket_name)
lambda_arn = .. arn for lambda
response = bucket_notification.put(
NotificationConfiguration={'LambdaFunctionConfigurations': [
{
'LambdaFunctionArn': lambda_arn,
'Events': [
's3:ObjectCreated:*'
],
},
]})
我收到错误:
botocore.exceptions.ClientError:调用PutBucketNotificationConfiguration操作时发生错误(InvalidArgument):无法验证以下目标配置
1 回答
必须在lambda端添加权限才能允许S3调用lambda函数 . 请注意,如果使用AWS Lambda GUI手动创建事件源映射,然后删除事件源映射,则该权限仍然存在!所以你不会得到上述错误 .
但是,如果从头开始然后尝试添加通知,则会发生上述错误 .
权限通过以下方式添加: