Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Tutorial: Amazon S3 S3-Operationen auf Objektebene protokollieren mit EventBridge
Sie können die API Operationen auf Objektebene in Ihren Amazon S3 S3-Buckets protokollieren. Bevor Amazon diese Ereignisse zuordnen EventBridge kann, AWS CloudTrailmüssen Sie einen Trail einrichten und konfigurieren, um diese Ereignisse zu empfangen.
In diesem Tutorial erstellen Sie einen CloudTrail Trail, eine AWS LambdaFunktion und anschließend eine Regel in der EventBridge Konsole, die diese Funktion als Reaktion auf ein S3-Datenereignis aufruft.
Schritte:
Schritt 1: Konfiguriere deinen Trail AWS CloudTrail
Um Datenereignisse für einen S3-Bucket in AWS CloudTrail und zu protokollieren EventBridge, erstellen Sie zunächst einen Trail. Ein Trail erfasst API Anrufe und zugehörige Ereignisse in Ihrem Konto und übermittelt dann die Protokolldateien an einen von Ihnen angegebenen S3-Bucket. Sie können einen vorhandenen Trail aktualisieren oder einen Trail erstellen.
Weitere Informationen finden Sie unter Datenereignisse im Benutzerhandbuch für AWS CloudTrail .
Sie erstellen einen Trail wie folgt:
Öffnen Sie die CloudTrail Konsole unter https://console.aws.amazon.com/cloudtrail/
. -
Wählen Sie Trails, Create trail (Trail erstellen).
-
Geben Sie unter Trail name einen Namen für den Trail ein.
-
Wählen Sie für Speicherort die Option Neuen S3-Bucket erstellen aus.
-
Geben Sie AWS KMS unter Alias einen Alias für den KMS Schlüssel ein.
-
Wählen Sie Weiter aus.
-
Wählen Sie für Ereignistyp die Option Datenereignisse aus.
-
Führen Sie für Datenereignisse eine der folgenden Aktionen aus:
-
Um Datenereignisse für alle Amazon S3-Objekte in einem Bucket zu protokollieren, geben Sie einen S3-Bucket und ein leeres Präfix an. Wenn ein Ereignis auf einem Objekt in diesem -Bucket eintritt, wird das Ereignis vom Trail verarbeitet und protokolliert.
-
Geben Sie einen S3-Bucket und das Objektpräfix an, um Datenereignisse für bestimmte Amazon-S3-Objekte in einem Bucket zu protokollieren. Tritt ein Ereignis auf einem Objekt in dem -Bucket auf und das Objekt beginnt mit dem angegebenen Präfix, wird das Ereignis vom Trail verarbeitet und protokolliert.
-
-
Wählen Sie für jede Ressource aus, ob Lese-Ereignisse, Schreib-Ereignisse oder beide protokolliert werden sollen.
-
Wählen Sie Weiter aus.
-
Wählen Sie Create Trail (Trail erstellen) aus.
Schritt 2: Erstellen einer AWS Lambda -Funktion
Erstellen Sie eine Lambda-Funktion, um Datenereignisse für die S3 Buckets zu protokollieren.
Eine Lambda-Funktion erstellen
Öffnen Sie die AWS Lambda Konsole unter https://console.aws.amazon.com/lambda/
. -
Wählen Sie Funktion erstellen.
-
Wählen Sie Von Grund auf neu schreiben aus.
-
Geben Sie einen Namen und eine Beschreibung für die Lambda-Funktion ein. Geben Sie der Funktion beispielsweise den Namen
LogS3DataEvents
. -
Behalten Sie die übrigen Optionen als Standardwerte bei und wählen Sie Funktion erstellen aus.
-
Doppelklicken Sie auf der Registerkarte Code der Funktionsseite auf index.js.
-
Ersetzen Sie den vorhandenen Code mit folgendem Code.
'use strict'; exports.handler = (event, context, callback) => { console.log('LogS3DataEvents'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
-
Wählen Sie Bereitstellen.
Schritt 3: Erstellen einer Regel
Erstellen Sie eine Regel, um die Lambda-Funktion auszuführen, die Sie in Schritt 2 erstellt haben. Diese Regel wird als Antwort auf ein Amazon-S3-Datenereignis ausgeführt.
So erstellen Sie eine Regel
Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/
. -
Wählen Sie im Navigationsbereich Rules aus.
-
Wählen Sie Regel erstellen aus.
-
Geben Sie einen Namen und eine Beschreibung für die Regel ein. Nennen Sie die Regel beispielsweise
TestRule
. -
Wählen Sie für Event Bus den Event Bus aus, den Sie dieser Regel zuordnen möchten. Wenn Sie möchten, dass diese Regel mit Ereignissen aus Ihrem eigenen Konto übereinstimmt, wählen Sie Standard aus. Wenn ein AWS -Service in Ihrem Konto ein Ereignis ausgibt, wird es stets an den Standard-Event-Bus Ihres Kontos weitergeleitet.
-
Bei Rule type (Regeltyp) wählen Sie Rule with an event pattern (Regel mit einem Ereignismuster) aus.
-
Wählen Sie Weiter aus.
-
Als Event source (Ereignisquelle) wählen Sie AWS -Services aus.
-
Gehen Sie bei Event pattern (Ereignismuster) wie folgt vor:
-
Wählen Sie für Ereignisquelle die Option Simple Storage Service (S3) aus der Dropdown-Liste aus.
-
Wählen Sie als Ereignistyp aus der Drop-down-Liste die Option API Aufruf auf Objektebene über CloudTrail aus.
-
Wählen Sie Bestimmte Operation (en) und wählen Sie dann. PutObject
-
Standardmäßig gilt die Regel für Datenereignisse in allen Buckets in der Region. Damit die Datenereignisse für bestimmte Buckets gelten, wählen Sie Specify bucket(s) by name (Bucket(s) nach Name angeben) aus und geben dann einen oder mehrere Buckets ein.
-
-
Wählen Sie Weiter aus.
-
Bei Target types (Zieltypen) wählen Sie AWS -Service aus.
-
Wählen Sie für Ziel auswählen die Option Lambda-Funktion aus der Dropdown-Liste aus.
-
Wählen Sie für Funktion die
LogS3DataEvents
-Lambda-Funktion aus, die Sie in Schritt 1 erstellt haben. -
Wählen Sie Weiter.
-
Wählen Sie Weiter.
-
Überprüfen Sie die Details der Regel und wählen Sie dann Create rule (Regel erstellen) aus.
Schritt 4: Testen der Regel
Um die Regel zu testen, fügen Sie ein Objekt in Ihrem S3-Bucket ein. Sie können überprüfen, ob die Lambda-Funktion aufgerufen wurde.
So zeigen Sie die Protokolle für die Lambda-Funktion an
-
Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie im Navigationsbereich Protokolle aus.
-
Wählen Sie den Namen der Protokollgruppe für Ihre Lambda-Funktion aus (
/aws/lambda/
).function-name
-
Wählen Sie den Namen des Protokoll-Streams aus, um die von der Funktion für die von Ihnen gestartete Instance bereitgestellten Daten anzuzeigen.
Sie können Ihre CloudTrail Logs auch in dem S3-Bucket überprüfen, den Sie für Ihren Trail angegeben haben. Weitere Informationen finden Sie im AWS CloudTrail Benutzerhandbuch unter Abrufen und Anzeigen Ihrer CloudTrail Protokolldateien.
Schritt 5: Bestätigen des Erfolgs
Wenn Sie das Lambda-Ereignis in den CloudWatch Protokollen sehen, haben Sie dieses Tutorial erfolgreich abgeschlossen. Wenn das Ereignis nicht in Ihren CloudWatch Protokollen enthalten ist, beginnen Sie mit der Fehlerbehebung, indem Sie überprüfen, ob die Regel erfolgreich erstellt wurde. Wenn die Regel korrekt aussieht, überprüfen Sie, ob der Code Ihrer Lambda-Funktion korrekt ist.
Schritt 6: Bereinigen Ihrer Ressourcen
Sie können jetzt die Ressourcen, die Sie für dieses Tutorial erstellt haben, löschen, es sei denn, Sie möchten sie behalten. Indem Sie AWS Ressourcen löschen, die Sie nicht mehr verwenden, verhindern Sie, dass Ihr AWS Konto unnötig belastet wird.
Um die EventBridge Regel (n) zu löschen
-
Öffnen Sie die Seite Regeln
der EventBridge Konsole. -
Wählen Sie die Regel(n) aus, die Sie erstellt haben.
-
Wählen Sie Delete (Löschen).
-
Wählen Sie Delete (Löschen).
So löschen Sie die Lambda-Funktion(en)
-
Öffnen Sie die Seite Funktionen
der Lambda-Konsole. -
Wählen Sie die Funktion(en) aus, die Sie erstellt haben.
-
Wählen Sie Aktionen, Löschen aus.
-
Wählen Sie Delete (Löschen) aus.
Um die CloudTrail Spur (en) zu löschen
-
Öffnen Sie die Trails-Seite
der CloudTrail Konsole. -
Wählen Sie den/die Trail(s) aus, den/die Sie erstellt haben.
-
Wählen Sie Delete (Löschen).
-
Wählen Sie Löschen.