CreateApplication - Entwicklerhandbuch für Amazon Kinesis Data Analytics for SQL Applications

Für neue Projekte empfehlen wir, den neuen Managed Service für Apache Flink Studio anstelle von Kinesis Data Analytics for SQL Applications zu verwenden. Der Managed Service für Apache Flink Studio kombiniert Benutzerfreundlichkeit mit fortschrittlichen Analysefunktionen, sodass Sie in wenigen Minuten anspruchsvolle Anwendungen zur Stream-Verarbeitung erstellen können.

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.

CreateApplication

Anmerkung

Diese Dokumentation bezieht sich auf Version 1 der Amazon-Kinesis-Data-Analytics-API, die nur SQL-Anwendungen unterstützt. Version 2 der API unterstützt SQL- und Java-Anwendungen. Weitere Informationen zu Version 2 finden Sie in der Amazon-Kinesis-Data-Analytics-API-V2-Dokumentation.

Erstellt eine Amazon-Kinesis-Data-Analytics-Anwendung. Sie können jede Anwendung mit einer Streaming-Quelle als Eingabe, Anwendungscode zur Verarbeitung der Eingabe und bis zu drei Zielen konfigurieren, an die Amazon-Kinesis-Analytics die Ausgabedaten aus Ihrer Anwendung schreiben soll. Einen Überblick finden Sie unter Funktionsweise.

In der Eingabekonfiguration ordnen Sie die Streaming-Quelle einem In-Application-Stream zu, den Sie sich als Tabelle vorstellen können, die sich ständig aktualisiert. Bei der Zuordnung müssen Sie ein Schema für den In-Application-Stream angeben und jede Datenspalte im In-Application-Stream einem Datenelement in der Streaming-Quelle zuordnen.

Der Code Ihrer Anwendung besteht aus einer oder mehreren SQL-Anweisungen, die Eingabedaten lesen, umwandeln und generieren. Ihr Anwendungscode kann ein oder mehrere SQL-Artefakte wie SQL-Streams oder Pumpen erstellen.

In der Ausgabekonfiguration können Sie die Anwendung so konfigurieren, dass Daten aus In-Application-Streams, die in Ihren Anwendungen erstellt wurden, an bis zu drei Ziele geschrieben werden.

Um Daten aus Ihrem Quell-Stream zu lesen oder Daten in Ziel-Streams zu schreiben, benötigt Amazon-Kinesis-Analytics Ihre Berechtigungen. Sie können diese Berechtigungen erteilen, indem Sie eine IAM-Rolle erstellen. Diese Operation erfordert zur Ausführung der kinesisanalytics:CreateApplication-Aktion Berechtigungen.

Einführende Übungen zur Erstellung einer Amazon-Kinesis-Analytics-Anwendung finden Sie unter Erste Schritte.

Anforderungssyntax

{ "ApplicationCode": "string", "ApplicationDescription": "string", "ApplicationName": "string", "CloudWatchLoggingOptions": [ { "LogStreamARN": "string", "RoleARN": "string" } ], "Inputs": [ { "InputParallelism": { "Count": number }, "InputProcessingConfiguration": { "InputLambdaProcessor": { "ResourceARN": "string", "RoleARN": "string" } }, "InputSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "KinesisFirehoseInput": { "ResourceARN": "string", "RoleARN": "string" }, "KinesisStreamsInput": { "ResourceARN": "string", "RoleARN": "string" }, "NamePrefix": "string" } ], "Outputs": [ { "DestinationSchema": { "RecordFormatType": "string" }, "KinesisFirehoseOutput": { "ResourceARN": "string", "RoleARN": "string" }, "KinesisStreamsOutput": { "ResourceARN": "string", "RoleARN": "string" }, "LambdaOutput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ], "Tags": [ { "Key": "string", "Value": "string" } ] }

Anforderungsparameter

Die Anforderung akzeptiert die folgenden Daten im JSON-Format.

ApplicationCode

Ein oder mehrere SQL-Anweisungen, die Eingabedaten lesen, umwandeln und generieren. Sie können beispielsweise eine SQL-Anweisung schreiben, die Daten aus einem In-Application-Stream liest, einen laufenden Durchschnitt der Anzahl der Werbeklicks pro Anbieter erzeugt und die resultierenden Zeilen in einen weiteren In-Application-Stream leitet. Weitere Informationen über das typische Muster finden Sie unter Anwendungscode.

Sie können eine solche Reihe von SQL-Anweisungen bereitstellen, bei denen die Ausgabe einer Anweisung als Eingabe für die nächste Anweisung verwendet werden kann. Sie speichern Zwischenergebnisse, indem Sie In-Application-Streams und Weiterleitungen anlegen.

Beachten Sie, dass der Anwendungscode die Streams mit den in der Outputs angegebenen Namen erstellen muss. Wenn Ihre Outputs beispielsweise Ausgabe-Streams mit den Namen ExampleOutputStream1 und ExampleOutputStream2 definiert, muss Ihr Anwendungscode diese Streams erstellen.

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge von 0. Maximale Länge von 102400.

Erforderlich: Nein

ApplicationDescription

Zusammenfassende Beschreibung der Anwendung.

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge von 0. Maximale Länge beträgt 1024 Zeichen.

Erforderlich: Nein

ApplicationName

Name Ihrer Amazon-Kinesis-Analytics-Anwendung (z. B. sample-app).

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 128 Zeichen.

Pattern: [a-zA-Z0-9_.-]+

Erforderlich: Ja

CloudWatchLoggingOptions

Verwenden Sie diesen Parameter, um einen CloudWatch Protokollstream zur Überwachung von Anwendungskonfigurationsfehlern zu konfigurieren. Weitere Informationen finden Sie unter Arbeiten mit Amazon CloudWatch Logs.

Typ: Array von CloudWatchLoggingOption-Objekten

Erforderlich: Nein

Inputs

Verwenden Sie diesen Parameter zum Konfigurieren der Anwendungseingabe.

Sie können Ihre Anwendung so konfigurieren, dass sie Eingaben von einer einzigen Streaming-Quelle erhält. In dieser Konfiguration ordnen Sie diese Streaming-Quelle einem erzeugten In-Application-Stream zu. Ihr Anwendungscode kann dann den In-Application-Stream wie eine Tabelle abfragen (Sie können sich dies als eine ständig aktualisierte Tabelle vorstellen).

Für die Streaming-Quelle, geben Sie den Amazon-Ressourcennamen (ARN) und das Format der Daten im Stream (z. B. JSON, CSV, usw.) an. Sie müssen außerdem eine IAM-Rolle angeben, die Amazon-Kinesis-Analytics übernehmen kann, um diesen Stream in Ihrem Namen zu lesen.

Um den In-Application-Stream zu erstellen, müssen Sie ein Schema für die Umwandlung Ihrer Daten in eine schematisierte Version angeben, die in SQL verwendet wird. Im Schema stellen Sie die notwendige Zuordnung der Datenelemente in der Streaming-Quelle bereit, um Spalten im In-App-Stream aufzuzeichnen.

Typ: Array von Input-Objekten

Erforderlich: Nein

Outputs

Sie können die Anwendungsausgabe so konfigurieren, dass Daten aus jedem der In-Application-Streams an bis zu drei Ziele geschrieben werden.

Bei diesen Zielen kann es sich um Amazon-Kinesis-Streams, Amazon-Kinesis Firehose-Bereitstellungsstreams, AWS -Lambda-Ziele oder eine beliebige Kombination der drei handeln.

In der Konfiguration geben Sie den Namen des In-Application-Streams, den Zielstream oder den Amazon-Ressourcennamen (ARN) der Lambda-Funktion und das Format an, das beim Schreiben von Daten verwendet werden soll. Sie stellen außerdem eine IAM-Rolle bereit, die Amazon-Kinesis-Analytics übernehmen kann, um in Ihrem Namen in den Stream oder an die Lambda-Funktion zu schreiben.

In der Ausgabekonfiguration geben Sie auch den Ausgangsstream oder den ARN der Lambda-Funktion an. Für Stream-Ziele, geben Sie das Format der Daten im Stream (z. B. JSON, CSV) an. Sie müssen außerdem eine IAM-Rolle bereitstellen, die Amazon-Kinesis-Analytics übernehmen kann, um in Ihrem Namen in den Stream oder an die Lambda-Funktion zu schreiben.

Typ: Array von Output-Objekten

Erforderlich: Nein

Tags

Eine Liste mit einem oder mehreren Tags, die der Anwendung zugewiesen werden können. Ein Tag ist ein Schlüssel/Wert-Paar, das eine Anwendung identifiziert. Beachten Sie, dass die maximale Anzahl von Anwendungs-Tags System-Tags einschließt. Die maximale Anzahl an benutzerdefinierten Anwendungs-Tags ist 50. Weitere Informationen über das Markieren mit Tags finden Sie unter Nutzung von Tags.

Typ: Array von Tag-Objekten

Array-Mitglieder: Die Mindestanzahl beträgt 1 Element. Die maximale Anzahl beträgt 200 Elemente.

Erforderlich: Nein

Antwortsyntax

{ "ApplicationSummary": { "ApplicationARN": "string", "ApplicationName": "string", "ApplicationStatus": "string" } }

Antwortelemente

Wenn die Aktion erfolgreich ist, sendet der Service eine HTTP 200-Antwort zurück.

Die folgenden Daten werden vom Service im JSON-Format zurückgegeben.

ApplicationSummary

Als Antwort auf Ihre CreateApplication-Anfrage sendet Amazon-Kinesis-Analytics eine Antwort mit einer Zusammenfassung der erstellten Anwendung, einschließlich des Amazon-Ressourcennamens (ARN), des Namens und des Status der Anwendung.

Typ: ApplicationSummary Objekt

Fehler

CodeValidationException

Der vom Benutzer bereitgestellte Anwendungscode (Abfrage) ist ungültig. Dies kann ein einfacher Syntaxfehler sein.

HTTP Status Code: 400

ConcurrentModificationException

Ausnahme, die als Ergebnis einer gleichzeitigen Änderung an einer Anwendung ausgelöst wurde. Beispiel: Zwei Personen versuchen, dieselbe Anwendung gleichzeitig zu bearbeiten.

HTTP Status Code: 400

InvalidArgumentException

Der angegebene Eingabeparameterwert ist ungültig.

HTTP Status Code: 400

LimitExceededException

Die Anzahl der zulässigen Anwendungen wurde überschritten.

HTTP Status Code: 400

ResourceInUseException

Die Anwendung ist für diesen Vorgang nicht verfügbar.

HTTP Status Code: 400

TooManyTagsException

Anwendung, die mit zu vielen Tags erstellt wurde, oder einer Anwendung wurden zu viele Tags hinzugefügt. Beachten Sie, dass die maximale Anzahl von Anwendungs-Tags System-Tags einschließt. Die maximale Anzahl an benutzerdefinierten Anwendungs-Tags ist 50.

HTTP Status Code: 400

UnsupportedOperationException

Die Anfrage wurde abgelehnt, weil ein bestimmter Parameter nicht unterstützt wird oder eine angegebene Ressource für diesen Vorgang nicht gültig ist.

HTTP Status Code: 400

Weitere Informationen finden Sie unter:

Weitere Informationen zur Verwendung dieser API in einem der sprachspezifischen AWS SDKs finden Sie im Folgenden: