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.
Verarbeiten von Amazon Kinesis Data Streams-Datensätzen mit Lambda
Um Amazon-Kinesis-Data-Streams-Datensätze mit Lambda zu verarbeiten, erstellen Sie eine Lambda-Zuordnung von Ereignisquellen. Sie können eine Lambda-Ereignisfunktion einem Standard-Iterator oder einem erweiterten Fan-Out-Consumer zuordnen. Weitere Informationen finden Sie unter Abfragen und Stapeln von Streams.
Erstellen einer Zuordnung von Ereignisquellen für Kinesis
Um Ihre Lambda-Ereignisfunktion mit Datensätzen aus Ihrem Datenstrom aufzurufen, erstellen Sie eine Ereignisquellenzuordnung. Sie können mehrere Ereignisquellenzuordnungen erstellen, um dieselben Daten mit mehreren Lambda-Ereignisfunktionen zu verarbeiten oder um Elemente aus mehreren Datenströmen mit einer einzigen Funktion zu verarbeiten. Bei der Verarbeitung von Elementen aus mehreren Datenströmen enthält jeder Batch Datensätze aus nur einem einzigen Shard oder Stream.
Sie können Zuordnungen von Ereignisquellen konfigurieren, um Datensätze aus einem Stream in einem anderen AWS-Konto zu verarbeiten. Weitere Informationen hierzu finden Sie unter Erstellen einer kontoübergreifenden Zuordnung von Ereignisquellen.
Bevor Sie eine Ereignisquellenzuordnung erstellen, müssen Sie Ihrer Lambda-Ereignisfunktion die Erlaubnis erteilen, aus einem Kinesis-Datenstream zu lesen. Lambda benötigt die folgenden Berechtigungen zum Verwalten von Ressourcen, die zu Ihrem Kinesis-Datenstrom gehören:
Die AWS verwaltete Richtlinie AWSLambdaKinesisExecutionRoleumfasst diese Berechtigungen. Fügen Sie diese verwaltete Richtlinie zu Ihrer Funktion hinzu, wie im folgenden Verfahren beschrieben.
Anmerkung
-
Sie benötigen keine
kinesis:ListStreams-Berechtigung, um Zuordnungen von Ereignisquellen für Kinesis zu erstellen und zu verwalten. Wenn Sie jedoch eine Ereignisquellenzuordnung in der Konsole erstellen und nicht über diese Berechtigung verfügen, können Sie keinen Kinesis-Stream aus einer Dropdownliste auswählen und die Konsole zeigt eine Fehlermeldung an. Um die Zuordnung von Ereignisquellen zu erstellen, müssen Sie den Amazon-Ressourcennamen (ARN) Ihres Streams manuell eingeben. -
Lambda ruft die APIs
kinesis:GetRecordsundkinesis:GetShardIteratorauf, wenn fehlgeschlagene Aufrufe erneut versucht werden.
Nachdem Sie die erforderlichen Berechtigungen konfiguriert haben, erstellen Sie die Zuordnung von Ereignisquellen.
Abfrage und Startposition des Streams
Beachten Sie, dass die Stream-Abfrage bei der Erstellung und Aktualisierung der Zuordnung von Ereignisquellen letztendlich konsistent ist.
-
Bei der Erstellung der Zuordnung von Ereignisquellen kann es mehrere Minuten dauern, bis mit der Abfrage von Ereignissen aus dem Stream begonnen wird.
-
Bei Aktualisierungen der Zuordnung von Ereignisquellen kann es mehrere Minuten dauern, bis die Abfrage von Ereignissen aus dem Stream gestoppt und neu gestartet wird.
Dieses Verhalten bedeutet, dass, wenn Sie LATEST als Startposition für den Stream angeben, die Zuordnung von Ereignisquellen bei der Erstellung oder Aktualisierung möglicherweise Ereignisse übersieht. Um sicherzustellen, dass keine Ereignisse übersehen werden, geben Sie die Startposition des Streams als TRIM_HORIZON oder AT_TIMESTAMP an.
Erstellen einer kontoübergreifenden Zuordnung von Ereignisquellen
Amazon Kinesis Data Streams unterstützt ressourcenbasierte Richtlinien. Aus diesem Grund können Sie Daten, die in einen Stream aufgenommen wurden, in einem Konto AWS-Konto mit einer Lambda-Ereignisfunktion in einem anderen Konto verarbeiten.
Um eine Ereignisquellenzuordnung für Ihre Lambda-Ereignisfunktion mithilfe eines Kinesis-Streams in einem anderen zu erstellen AWS-Konto, müssen Sie den Stream mithilfe einer ressourcenbasierten Richtlinie konfigurieren, um Ihrer Lambda-Ereignisfunktion die Berechtigung zum Lesen von Elementen zu erteilen. Informationen dazu, wie Sie Ihren Stream so konfigurieren, dass er kontoübergreifenden Zugriff ermöglicht, finden Sie unter Zugriff mit kontoübergreifenden AWS Lambda Funktionen teilen im Amazon Kinesis Streams Streams-Entwicklerhandbuch.
Nachdem Sie Ihren Stream mit einer ressourcenbasierten Richtlinie konfiguriert haben, die Ihrer Lambda-Ereignisfunktion die erforderlichen Berechtigungen erteilt, erstellen Sie die Ereignisquellenzuordnung mit einer der im vorherigen Abschnitt beschriebenen Methoden.
Wenn Sie Ihre Zuordnung von Ereignisquellen über die Lambda-Konsole erstellen möchten, fügen Sie den ARN Ihres Streams direkt in das Eingabefeld ein. Wenn Sie einen Verbraucher für Ihren Stream angeben möchten, wird durch Einfügen der ARN des Verbrauchers automatisch das Stream-Feld ausgefüllt.