Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Stateful-Funktionen von Apache Flink

Fokusmodus
Stateful-Funktionen von Apache Flink - Managed Service für Apache Flink

Amazon Managed Service für Apache Flink war zuvor als Amazon Kinesis Data Analytics für Apache Flink bekannt.

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.

Amazon Managed Service für Apache Flink war zuvor als Amazon Kinesis Data Analytics für Apache Flink bekannt.

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.

Stateful Functions ist eine API, die die Erstellung verteilter zustandsbehafteter Anwendungen vereinfacht. Sie basiert auf Funktionen mit persistentem Status, die dynamisch mit starken Konsistenzgarantien interagieren können.

Eine Stateful-Functions-Anwendung ist im Grunde lediglich eine Apache-Flink-Anwendung und kann daher in Managed Service für Apache Flink bereitgestellt werden. Es gibt jedoch einige Unterschiede zwischen der Paketierung von Stateful Functions für einen Kubernetes-Cluster und für Managed Service für Apache Flink. Der wichtigste Aspekt einer Stateful-Functions-Anwendung ist, dass die Modulkonfiguration alle erforderlichen Laufzeitinformationen zur Konfiguration der Stateful-Functions-Laufzeit enthält. Diese Konfiguration wird normalerweise in einen Stateful-Functions-spezifischen Container gepackt und auf Kubernetes bereitgestellt. Aber das ist mit Managed Service für Apache Flink nicht möglich.

Es folgt eine Anpassung des StateFun Python-Beispiels für Managed Service für Apache Flink:

Apache Flink-Anwendungsvorlage

Anstatt einen Kundencontainer für die Stateful-Functions-Laufzeit zu verwenden, können Kunden eine Flink-Anwendungs-JAR-Datei kompilieren, die lediglich die Stateful-Functions-Laufzeit aufruft und die erforderlichen Abhängigkeiten enthält. Für Flink 1.13 sehen die erforderlichen Abhängigkeiten etwa wie folgt aus:

<dependency> <groupId>org.apache.flink</groupId> <artifactId>statefun-flink-distribution</artifactId> <version>3.1.0</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency>

Und die Hauptmethode der Flink-Anwendung zum Aufrufen der Stateful-Function-Laufzeit sieht so aus:

public static void main(String[] args) throws Exception { final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); StatefulFunctionsConfig stateFunConfig = StatefulFunctionsConfig.fromEnvironment(env); stateFunConfig.setProvider((StatefulFunctionsUniverseProvider) (classLoader, statefulFunctionsConfig) -> { Modules modules = Modules.loadFromClassPath(); return modules.createStatefulFunctionsUniverse(stateFunConfig); }); StatefulFunctionsJob.main(env, stateFunConfig); }

Beachten Sie, dass diese Komponenten generisch und unabhängig von der Logik sind, die in der Stateful Function implementiert ist.

Ort der Modulkonfiguration

Die Konfiguration des Stateful-Functions-Moduls muss im Klassenpfad enthalten sein, damit sie für die Stateful-Functions-Laufzeit auffindbar ist. Am besten fügen Sie es in den Ressourcenordner der Flink-Anwendung ein und packen es in die JAR-Datei.

Ähnlich wie bei einer gewöhnlichen Apache-Flink-Anwendung können Sie dann Maven verwenden, um eine Uber-JAR-Datei zu erstellen und diese auf Managed Service für Apache Flink bereitzustellen.

Auf dieser Seite

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.