Wie behebe ich Amazon S3-Ereignisbenachrichtigungen, die meine Lambda-Funktion nicht aufgerufen haben?
Ich möchte Fehler bei Amazon Simple Storage Service (Amazon S3)-Ereignisbenachrichtigungen beheben, die meine AWS Lambda-Funktion nicht aufgerufen haben.
Lösung
Führe zur Fehlerbehebung bei Amazon S3-Ereignisbenachrichtigungen für Lambda-Funktionen die folgenden Schritte aus, um die Berechtigungen und Konfigurationseinstellungen zu überprüfen:
- Öffne die Amazon-S3-Konsole und navigiere dann zum S3 Bucket.
- Wähle die Registerkarte Eigenschaften.
- Wähle unter **Ereignisbenachrichtigungen ** die Ereignisbenachrichtigung aus, und wähle dann Bearbeiten.
- Überprüfe unter **Allgemeine Konfiguration ** die Einstellungen für Präfix und Suffix.
- (Optional) Wenn du ein Präfix oder Suffix verwendest, bestätige Folgendes:
Der Objektschlüssel im Bucket entspricht den Richtlinien für die Benennung von Objektschlüsseln.
Alle Sonderzeichen liegen in URL-kodiertem (prozentcodiertem) Format vor. - Bestätige unter Ziel, dass der ARN der Lambda-Funktion mit einer gültigen Funktion übereinstimmt.
- Wähle Änderungen speichern.
- Öffne die Lambda-Konsole und wähle dann Funktionen.
- Wähle unter Funktionsname die Lambda-Funktion aus.
- Wähle die Registerkarte Konfiguration und anschließend Berechtigungen.
- Wähle unter Ressourcenbasierte Richtlinienauszüge die Richtlinie, und klicke dann auf Richtlinie ansehen.
- Stelle sicher, dass die ressourcenbasierte Richtlinie es Amazon S3 ermöglicht, die Lambda-Funktion aufzurufen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:REGION:ACCOUNT_ID:function:FUNCTION_NAME", "Condition": { "StringEquals": { "AWS:SourceAccount": "ACCOUNT_ID" }, "ArnLike": { "AWS:SourceArn": "arn:aws:s3:::BUCKET_NAME" } } } ] }
Hinweis: Ersetze REGION, ACCOUNT_ID, FUNCTION_NAME und BUCKET_NAME durch die AWS-Region, das AWS-Konto, den Funktionsnamen und den Bucket-Namen. Das AWS:SourceAccount ist das Konto, dem der Bucket gehört, und ArnLike ist der ARN des Buckets.
In der vorherigen ressourcenbasierten Richtlinie ist der Prinzipal s3.amazonaws.com berechtigt, die API-Aktion lambda:InvokeFunction für den Ressourcen-ARN auszuführen.
**Wichtig:**Amazon S3 übermittelt Ereignisbenachrichtigungen in der Regel innerhalb von Sekunden, manchmal kann es aber auch eine Minute oder länger dauern. Weitere Informationen findest du unter Amazon S3-Ereignisbenachrichtigungen.
Ähnliche Informationen
Wie erlaube ich meiner Lambda-Funktion den Zugriff auf meinen Amazon S3 Bucket?
- Themen
- Storage
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 4 Jahren
AWS OFFICIALAktualisiert vor 3 Jahren
AWS OFFICIALAktualisiert vor 4 Jahren