Nach reiflicher Überlegung haben wir beschlossen, Amazon Kinesis Data Analytics für SQL Anwendungen in zwei Schritten einzustellen:
1. Ab dem 15. Oktober 2025 können Sie keine neuen Kinesis Data Analytics für SQL Anwendungen erstellen.
2. Wir werden Ihre Anwendungen ab dem 27. Januar 2026 löschen. Sie können Ihre Amazon Kinesis Data Analytics for SQL Applications weder starten noch betreiben. SQLAb diesem Zeitpunkt ist kein Support mehr für Amazon Kinesis Data Analytics verfügbar. Weitere Informationen finden Sie unter Einstellung von Amazon Kinesis Data Analytics for SQL Applications.
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.
Verwenden einer Lambda-Funktion als Ausgabe
Wenn Sie es AWS Lambda als Ziel verwenden, können Sie Ihre SQL Ergebnisse einfacher nachbearbeiten, bevor Sie sie an ein Endziel senden. Zu gängigen Aufgaben der Nachverarbeitung gehören:
-
Aggregieren von mehreren Zeilen in einem einzigen Datensatz
-
Kombinieren aktueller Ergebnisse mit vorherigen Ergebnissen für die Einordnung spät eintreffender Daten
-
Bereitstellung auf verschiedene Ziele abhängig von der Art von Informationen
-
Aufzeichnung von Formatumsetzungen (z. B. die Umsetzung in Protobuf)
-
Bearbeitung oder Transformation von Zeichenfolgen
-
Datenanreicherung nach der analytischen Verarbeitung
-
Benutzerdefinierte Verarbeitung für koordinatenbasierte Anwendungsfälle
-
Datenverschlüsselung
Lambda-Funktionen können analytische Informationen für eine Vielzahl von AWS Diensten und anderen Zielen bereitstellen, darunter die folgenden:
Weitere Informationen zum Erstellen von Lambda-Anwendungen finden Sie unter Erste Schritte mit AWS Lambda.
Themen
- Berechtigungen für Lambda als Ausgabe
- Lambda als Ausgabemetriken
- Ereignis-Eingabedatenmodell und Datensatz-Antwortmodell von Lambda als Ausgabe
- Häufigkeit der Lambda-Ausgabeaufrufe
- Hinzufügen einer Lambda-Funktion zur Verwendung als Ausgabe
- Häufige Lambda-Ausgabefehler
- Erstellen von Lambda-Funktionen für Anwendungsziele
Berechtigungen für Lambda als Ausgabe
Um Lambda als Ausgabe zu verwenden, erfordert die IAM Lambda-Ausgaberolle der Anwendung die folgende Berechtigungsrichtlinie:
{ "Sid": "UseLambdaFunction", "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": "
FunctionARN
" }
Lambda als Ausgabemetriken
Sie verwenden Amazon CloudWatch , um die Anzahl der gesendeten Byte, Erfolge und Misserfolge usw. zu überwachen. Informationen zu CloudWatch Metriken, die von Kinesis Data Analytics mithilfe von Lambda als Ausgabe ausgegeben werden, finden Sie unter Amazon Kinesis Analytics Analytics-Metriken.
Ereignis-Eingabedatenmodell und Datensatz-Antwortmodell von Lambda als Ausgabe
Um Kinesis Data Analytics-Ausgabedatensätze senden zu können, muss Ihre Lambda-Funktion mit den erforderlichen Ereignis-Eingabedaten- und Datensatz-Antwortmodellen konform sein.
Ereignis-Eingabedatenmodell
Kinesis Data Analytics sendet die Ausgabedatensätze mit dem folgenden Anforderungsmodell fortlaufend von der Anwendung als Ausgabefunktion an die Lambda-Funktion. Innerhalb Ihrer Funktion durchlaufen Sie die Liste und wenden Ihre Geschäftslogik an, um Ihre Ausgabeanforderungen (z. B. Datentransformation vor dem senden an ein endgültiges Ziel) zu erfüllen.
Feld | Beschreibung | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
invocationId |
Die Lambda-Aufruf-ID (zufälligGUID). | ||||||||||||
applicationArn |
Die Kinesis Data Analytics Analytics-Anwendung Amazon Resource Name (ARN). | ||||||||||||
Datensätze
|
Anmerkung
retryHint
ist ein Wert, der sich bei jedem Zustellungsfehler erhöht. Dieser Wert wird nicht dauerhaft gespeichert und wird zurückgesetzt werden, wenn die Anwendung unterbrochen wird.
Datensatz-Antwortmodell
Jeder Datensatz, der als Ausgabefunktion (mit DatensatzIDs) an Ihr Lambda gesendet wirdDeliveryFailed
, muss entweder mit Ok
oder bestätigt werden und er muss die folgenden Parameter enthalten. Andernfalls wird er von Kinesis Data Analytics als unzustellbar behandelt.
Datensätze
|
Häufigkeit der Lambda-Ausgabeaufrufe
Eine Kinesis Data Analytics-Anwendung puffert die Ausgabedatensätze und ruft häufig die AWS Lambda -Zielfunktion auf.
-
Wenn Datensätze als Taumelfenster an den anwendungsinternen Zielstream innerhalb der Datenanalyseanwendung gesendet werden, wird die AWS Lambda Zielfunktion pro Taumelfenster-Trigger aufgerufen. Wenn z. B. ein rollierendes Fenster von 60 Sekunden verwendet wird, um die Datensätze an den In-Application-Stream des Ziels auszugeben, wird die Lambda-Funktion einmal alle 60 Sekunden aufgerufen.
-
Wenn Datensätze innerhalb der Anwendung als fortlaufende Abfrage oder gleitendes Fenster zum In-Application-Stream des Ziels gesendet werden, wird die Lambda-Zielfunktion ca. einmal pro Sekunde aufgerufen.
Anmerkung
Pro Aufruf der Lambda-Funktion gelten Nutzlastgrenzwerte. Beim Überschreiten dieser Limits erhalten Sie Ausgabedatensätze, die über mehrere Lambda-Funktionsaufrufe aufgeteilt und gesendet werden.
Hinzufügen einer Lambda-Funktion zur Verwendung als Ausgabe
Das folgende Verfahren veranschaulicht, wie Sie die Lambda-Funktion als Ausgabe für eine Kinesis Data Analytics-Anwendung hinzufügen.
-
Wählen Sie die Anwendung in der Liste aus und klicken Sie dann auf Application details.
-
Klicken Sie im Bereich Destination auf Connect new destination.
-
Wählen Sie für das Element Destination (Ziel) die Option AWS Lambda function (-Funktion).
-
Wählen Sie im Bereich Datensätze an AWS Lambda liefern entweder eine vorhandene Lambda-Funktion aus oder klicken Sie auf Neu erstellen.
-
Wenn Sie eine neue Lambda-Funktion erstellen, verfahren Sie wie folgt:
-
Wählen Sie eine der bereitgestellten Vorlagen. Weitere Informationen finden Sie unter Erstellen von Lambda-Funktionen für Anwendungsziele.
-
Die Seite Create Function (Funktion erstellen) wird in einer neuen Webbrowser-Registerkarte geöffnet. Geben Sie im Feld Name der Funktion einen sinnvollen Namen (z. B.
myLambdaFunction
). -
Aktualisieren Sie die Vorlage mit Nachverarbeitungsfunktionalität für Ihre Anwendung. Weitere Informationen zum Erstellen einer Lambda-Funktion finden Sie unter Erste Schritte im AWS Lambda -Entwicklerhandbuch.
-
Wählen Sie in der Kinesis Data Analytics-Konsole aus der Liste Lambda-Funktionen die gerade erstellte Lambda-Funktion aus. Wählen Sie $ LATEST für die Lambda-Funktionsversion.
-
-
Wählen Sie im Bereich In-application stream die Option Choose an existing in-application stream aus. Wählen Sie für In-application stream name den Ausgabe-Stream Ihrer Anwendung aus. Die Ergebnisse aus dem ausgewählten Ausgabe-Stream werden zur Lambda-Ausgabefunktion gesendet.
-
Belassen Sie im Formular die übrigen Standardwerte und wählen Sie Save and continue.
Ihre Anwendung sendet nun Datensätze aus dem In-Application-Stream zu Ihrer Lambda-Funktion. Sie können die Ergebnisse der Standardvorlage in der CloudWatch Amazon-Konsole sehen. Überwachen Sie die Metrik AWS/KinesisAnalytics/LambdaDelivery.OkRecords
, um die Anzahl der Datensätze zu sehen, die an die Lambda-Funktion übermittelt werden.
Häufige Lambda-Ausgabefehler
Nachfolgend werden die häufigsten Gründe aufgeführt, aus denen die Übermittlung an die Lambda-Funktion fehlschlagen kann.
-
Nicht alle Datensätze (mit DatensatzIDs) in einem Batch, die an die Lambda-Funktion gesendet werden, werden an den Kinesis Data Analytics Analytics-Dienst zurückgegeben.
-
In der Antwort fehlt entweder die Datensatz-ID oder das Statusfeld.
-
Die Zeitüberschreitungen der Lambda-Funktion sind für den Abschluss der Geschäftslogik innerhalb der Lambda-Funktion nicht ausreichend.
-
Die Geschäftslogik innerhalb der Lambda-Funktion erfasst nicht alle Fehler. Dies führt aufgrund unbehandelter Ausnahmen zu einer Zeitüberschreitung und einer zu hohen Auslastung. Diese werden oft als Poison-Pill-Nachrichten bezeichnet.
Bei Datenübermittlungsfehlern führt Kinesis Data Analytics Lambda-Aufrufe für dieselbe Gruppe von Datensätzen erneut durch, bis der Aufruf erfolgreich ist. Um Einblick in Fehler zu erhalten, können Sie die folgenden CloudWatch Metriken überwachen:
-
Kinesis Data Analytics Analytics-Anwendung Lambda as CloudWatch Output-Metriken: Gibt unter anderem die Anzahl der Erfolge und Misserfolge an. Weitere Informationen finden Sie unter Amazon-Kinesis-Analytics-Metriken.
-
AWS Lambda CloudWatch Funktionsmetriken und Protokolle.