Sie haben eine Amazon S3-Ereignisquelle konfiguriert, um eine AWS Lambda-Funktion auszulösen, wenn Objekte in einem bestimmten S3-Bucket erstellt oder aktualisiert werden. Die Lambda-Funktion verwendet den Bucket-Namen und den Objektschlüssel aus dem Ereignis, um das Objekt zu lesen und dessen Inhalt zu parsen, und schreibt dann die geparsten Daten in eine DynamoDB-Tabelle. Die Ausführungsrolle der Lambda-Funktion hat Berechtigungen zum Lesen des S3-Buckets und zum Schreiben in DynamoDB, aber die Funktion wird nicht aufgerufen, wenn Objekte hinzugefügt oder geändert werden. Was behebt das Problem?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Fügen Sie der Lambda-Funktion eine ressourcenbasierte Richtlinie hinzu, die Amazon S3 die Berechtigung erteilt, die Funktion für diesen Bucket aufzurufen..
Warum dies die Antwort ist
Das Problem liegt darin, dass Amazon S3 nicht die erforderliche Berechtigung hat, die Lambda-Funktion aufzurufen. Standardmäßig können AWS-Dienste nicht einfach andere Dienste aufrufen. Eine ressourcenbasierte Richtlinie (auch bekannt als Berechtigungsrichtlinie) muss der Lambda-Funktion hinzugefügt werden, um S3 explizit zu erlauben, die Funktion auszulösen. Diese Richtlinie definiert, welche Prinzipale (in diesem Fall der S3-Dienst für den spezifischen Bucket) welche Aktionen (lambda:InvokeFunction) auf der Ressource (der Lambda-Funktion) ausführen dürfen. Die Option, eine S3-Bucket-Richtlinie hinzuzufügen, ist falsch, da Bucket-Richtlinien den Zugriff auf den S3-Bucket selbst steuern, nicht die Berechtigung, andere Dienste aufzurufen. Die SQS-Optionen sind Workarounds für die Verarbeitung von Ereignissen oder Fehlern, aber sie beheben nicht das grundlegende Problem, dass S3 die Lambda-Funktion nicht direkt aufrufen kann.
Bestehen Sie Ihre Prüfung – ohne endlose Antwortsuche
Erhalten Sie jede verifizierte Frage und Erklärung für diese Prüfung an einem Ort und sparen Sie Stunden der Vorbereitung. Über 1.000 Zertifizierungen · Über 20 Sprachen · Kostenloser Start.
Bestehen Sie Ihre Prüfung schneller → Keine Karte erforderlich