Ich möchte mit Boto3 einen S3-Bucket konfigurieren, um jedes Mal, wenn ein Objekt in diesem Bucket erstellt wird, ein AWS-Lambda aufzurufen. Hier ist mein Code:Kann keine s3-Benachrichtigung für Lambda mit Boto3 hinzufügen
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:*'
],
},
]})
ich den Fehler:
botocore.exceptions.ClientError: An error occurred (InvalidArgument) when calling the PutBucketNotificationConfiguration operation: Unable to validate the following destination configurations
Dank. Das hat mir Kopfschmerzen erspart. Wenn Sie CloudFormation zum Bereitstellen Ihrer Lambda-Funktion verwenden, können Sie die erforderliche Berechtigung auch direkt aus der Vorlage hinzufügen: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission .html –
+1 dafür. Ran in das gleiche Problem beim Versuch, eine s3-Benachrichtigung für eine SQS-Warteschlange hinzuzufügen; Es begann zu arbeiten, nachdem ich die richtigen Berechtigungen/Politik auf dem SQS Ende hinzugefügt hatte. – 3cheesewheel