

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: Analysieren Sie Aktiendaten in Echtzeit mit Amazon Managed Service für Apache Flink
<a name="tutorial-stock-data"></a>

Im Szenario dieses Tutorials werden Wertpapierdaten in einen Datenstrom geschrieben. Zudem wird eine einfache [Amazon Managed Service für Apache Flink](https://docs.aws.amazon.com/kinesisanalytics/latest/java/what-is.html)-Anwendung erstellt, die Berechnungen mit dem Stream durchführt. Sie lernen, wie Sie einen Stream von Datensätzen an Kinesis Data Streams senden und eine Anwendung implementieren, die die Datensätze nahezu in Echtzeit verarbeitet und verarbeitet.

Mit Amazon Managed Service für Apache Flink können Sie Java oder Scala verwenden, um Streaming-Daten zu verarbeiten und zu analysieren. Mit diesem Service können Sie Java- oder Scala-Code für Streaming-Quellen erstellen und ausführen, um Zeitreihenanalysen durchzuführen, Echtzeit-Dashboards zu füttern und Echtzeit-Metriken zu erstellen.

Sie können Flink-Anwendungen in Managed Service für Apache Flink mithilfe von Open-Source-Bibliotheken erstellen, die auf [Apache Flink](https://flink.apache.org/) basieren. Apache Flink ist ein beliebtes Framework und eine verteilte Engine zum Verarbeiten von Datenströmen. 

**Wichtig**  
Nachdem Sie zwei Datenstreams und eine Anwendung erstellt haben, fallen für Ihr Konto geringe Gebühren für Kinesis Data Streams und Managed Service für die Nutzung von Apache Flink an, da diese nicht für das AWS kostenlose Kontingent in Frage kommen. Wenn Sie mit dieser Anwendung fertig sind, löschen Sie Ihre AWS Ressourcen, damit keine Gebühren mehr anfallen. 

Der Code greift nicht auf tatsächliche Wertpapierdaten zu, sondern simuliert nur deren Strom. Dazu werden zufällige Wertpapierdaten erzeugt. Wenn Sie Zugriff auf einen Echtzeit-Stream von Wertpapierdaten haben, möchten Sie vermutlich nützliche, zeitnahe Statistiken aus den Stream-Daten erzeugen. Sie können beispielsweise eine Zeitfensteranalyse durchführen, um festzustellen, welche Aktie in den letzten 5 Minuten am häufigsten erworben wurde. Oder Sie möchten im Falle eines zu großen Verkaufsauftrags (d. h. zu viele Anteile) benachrichtigt werden. Der Code in diesem Tutorial kann erweitert werden, um solche Funktionen bereitzustellen.

Bei den gezeigten Beispielen wird die Region USA West (Oregon) verwendet. Sie funktionieren aber auch für alle anderen [AWS -Regionen, die Managed Service für Apache Flink unterstützen](https://docs.aws.amazon.com/general/latest/gr/rande.html#ka_region).

**Topics**
+ [

## Voraussetzungen für das Abschließen der Übungen
](#setting-up-prerequisites)
+ [

# Richten Sie ein AWS Konto ein und erstellen Sie einen Administratorbenutzer
](setting-up.md)
+ [

# Richten Sie das AWS Command Line Interface ()AWS CLI ein
](setup-awscli.md)
+ [

# Erstellen Sie eine Managed Service for Apache Flink-Anwendung und führen Sie sie aus
](get-started-exercise.md)

## Voraussetzungen für das Abschließen der Übungen
<a name="setting-up-prerequisites"></a>

Zur Durchführung der Schritte in dieser Anleitung benötigen Sie Folgendes:
+ [Java Development Kit (JDK), Version 8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html). Legen Sie die `JAVA_HOME` Umgebungsvariable so fest, dass sie auf Ihren JDK-Installationsspeicherort weist.
+ Wir empfehlen die Verwendung einer Entwicklungsumgebung (wie [Eclipse Java Neon](http://www.eclipse.org/downloads/packages/release/neon/3) oder [IntelliJ Idea](https://www.jetbrains.com/idea/)), um Ihre Anwendung zu entwickeln und zu kompilieren.
+ [Git-Client.](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) Installieren Sie den Git-Client, wenn Sie dies noch nicht getan haben.
+ [Apache Maven-Compiler-Plugin](https://maven.apache.org/plugins/maven-compiler-plugin/). Maven muss sich in Ihrem Arbeitspfad befinden. Zum Testen Ihrer Apache Maven-Installation geben Sie Folgendes ein:

  ```
  $ mvn -version
  ```

Um zu beginnen, gehen Sie zu [Richten Sie ein AWS Konto ein und erstellen Sie einen Administratorbenutzer](setting-up.md).

# Richten Sie ein AWS Konto ein und erstellen Sie einen Administratorbenutzer
<a name="setting-up"></a>

Bevor Sie Amazon Managed Service für Apache Flink zum ersten Mal verwenden, führen Sie die folgenden Aufgaben aus:

1. [Melden Sie sich an für AWS](#setting-up-signup)

1. [Erstellen eines IAM-Benutzers](#setting-up-iam)

## Melden Sie sich an für AWS
<a name="setting-up-signup"></a>

Wenn Sie sich für Amazon Web Services (AWS) registrieren, wird Ihr AWS Konto automatisch für alle Dienste angemeldet AWS, einschließlich Amazon Managed Service für Apache Flink. Berechnet werden Ihnen aber nur die Services, die Sie nutzen.

Mit Managed Service für Apache Flink zahlen Sie nur für die Ressourcen, die Sie wirklich nutzen. Wenn Sie ein neuer AWS -Kunde sind, können Sie kostenlos mit Managed Service für Apache Flink beginnen. Weitere Informationen finden Sie unter [Kostenloses Kontingent für AWS](https://aws.amazon.com/free/).

Wenn Sie bereits ein AWS Konto haben, fahren Sie mit der nächsten Aufgabe fort. Wenn Sie noch kein AWS -Konto haben, führen Sie die folgenden Schritte aus, um ein Konto zu erstellen.

**Um ein AWS Konto zu erstellen**

1. Öffnen Sie [https://portal.aws.amazon.com/billing/die Anmeldung.](https://portal.aws.amazon.com/billing/signup)

1. Folgen Sie den Online-Anweisungen.

   Während der Anmeldung erhalten Sie einen Telefonanruf oder eine Textnachricht und müssen einen Verifizierungscode über die Telefontasten eingeben.

   Wenn Sie sich für eine anmelden AWS-Konto, *Root-Benutzer des AWS-Kontos*wird eine erstellt. Der Root-Benutzer hat Zugriff auf alle AWS-Services und Ressourcen des Kontos. Als bewährte Sicherheitsmethode weisen Sie einem Benutzer Administratorzugriff zu und verwenden Sie nur den Root-Benutzer, um [Aufgaben auszuführen, die Root-Benutzerzugriff erfordern](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

Notieren Sie sich Ihre AWS Konto-ID, da Sie sie für die nächste Aufgabe benötigen.

## Erstellen eines IAM-Benutzers
<a name="setting-up-iam"></a>

Dienste in AWS, wie Amazon Managed Service für Apache Flink, erfordern, dass Sie beim Zugriff auf sie Anmeldeinformationen angeben. Der Service kann feststellen, ob Sie über die Berechtigung für den Zugriff auf die Ressourcen im Besitz dieses Service verfügen. Das AWS-Managementkonsole erfordert, dass Sie Ihr Passwort eingeben. 

Sie können Zugangsschlüssel für Ihr AWS Konto erstellen, um auf die AWS Command Line Interface (AWS CLI) oder API zuzugreifen. Wir empfehlen jedoch nicht, dass Sie AWS mit den Anmeldeinformationen für Ihr AWS Konto darauf zugreifen. Stattdessen empfehlen wir Ihnen, AWS Identity and Access Management (IAM) zu verwenden. Erstellen Sie einen IAM-Benutzer und fügen Sie den Benutzer zu einer IAM-Gruppe mit Administrator-Berechtigungen hinzu. Anschließend gewähren Sie dem von Ihnen erstellten IAM-Benutzer administrative Berechtigungen. Danach können Sie mithilfe einer speziellen URL und der Anmeldeinformationen des IAM-Benutzers auf AWS zugreifen.

Wenn Sie sich für registriert haben AWS, aber noch keinen IAM-Benutzer für sich selbst erstellt haben, können Sie einen mit der IAM-Konsole erstellen.

Für die Erste-Schritte-Übungen in diesem Handbuch wird davon ausgegangen, dass Sie einen Benutzer (`adminuser`) mit Administratorrechten haben. Befolgen Sie die Schritte zum Einrichten des `adminuser` in Ihrem Konto.

**So erstellen Sie eine Gruppe für Administratoren:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im Navigationsbereich **Groups (Gruppen)** und dann **Create New Group (Neue Gruppe erstellen)** aus.

1. Geben Sie für **Group Name (Gruppenname)** einen Namen für die Gruppe ein, z. B. **Administrators**. Wählen Sie dann **Next Step (Nächster Schritt)** aus.

1. Aktivieren Sie in der Liste der Richtlinien das Kontrollkästchen neben der **AdministratorAccess**Richtlinie. Über das Menü **Filter (Filtern)** und das Feld **Search (Suchen)** können Sie die Liste filtern.

1. Wählen Sie **Next Step (Nächster Schritt)** und anschließend **Create Group (Gruppe erstellen)** aus.

Ihre neue Gruppe wird unter **Group Name** aufgeführt.

**Zum Erstellen eines IAM-Benutzers für sich selbst, fügen Sie ihn der Administratorengruppe hinzu und erstellen Sie ein Passwort**

1. Wählen Sie im Navigationsbereich **Users (Benutzer)** und dann **Add User (Benutzer hinzufügen)** aus.

1. Geben Sie im Feld **Benutzername** einen Benutzernamen ein.

1. Wählen Sie die beiden Optionen **Programmgesteuerter Zugriff** und **Zugriff auf die AWS -Managementkonsole** aus.

1. Wählen Sie **Weiter: Berechtigungen** aus.

1. Aktivieren Sie das Kontrollkästchen neben der **Administratorengruppe**. Wählen Sie dann **Next: Review** aus.

1. Wählen Sie **Create user** (Benutzer erstellen) aus.

**So melden Sie sich als neuer IAM-Benutzer an**

1. Melden Sie sich von der ab AWS-Managementkonsole.

1. Verwenden Sie das folgende URL-Format zum Anmelden bei der Konsole:

   `https://aws_account_number.signin.aws.amazon.com/console/`

   Das *aws\$1account\$1number* ist Ihre AWS Konto-ID ohne Bindestriche. Wenn Ihre AWS Konto-ID beispielsweise 1234-5678-9012 lautet, ersetzen Sie sie durch. *aws\$1account\$1number* **123456789012** *Informationen dazu, wie Sie Ihre Kontonummer finden, finden Sie unter [Ihre AWS Konto-ID und ihr Alias](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html) im IAM-Benutzerhandbuch.*

1. Geben Sie den IAM-Benutzernamen und das von Ihnen soeben erstellte Passwort ein. Wenn Sie angemeldet sind, wird in der Navigationsleiste *your\$1user\$1name* @ *your\$1aws\$1account\$1id* angezeigt.

**Anmerkung**  
Wenn Sie nicht möchten, dass die URL für Ihre Anmeldeseite Ihre AWS Konto-ID enthält, können Sie einen Kontoalias erstellen.

**So erstellen oder entfernen Sie einen Konto-Alias**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Dashboard** aus.

1. Suchen Sie den Anmeldelink für IAM-Benutzer.

1. Um einen Alias zu erstellen, klicken Sie auf **Anpassen**. Geben Sie den gewünschten Namen für den Alias ein und wählen Sie **Yes, Create (Ja, erstellen)** aus.

1. Um den Alias zu löschen, wählen Sie **Customize (Anpassen)** und dann **Yes, Delete (Ja, löschen)**. Die Anmelde-URL verwendet wieder Ihre AWS Konto-ID.

Nach dem Erstellen eines Konto-Alias verwenden Sie die folgende URL, um sich anzumelden:

`https://your_account_alias.signin.aws.amazon.com/console/`

Um den Anmeldelink der IAM-Benutzer Ihres Kontos zu verifizieren, öffnen Sie die IAM-Konsole und prüfen dies im Dashboard unter **IAM users sign-in link**.

Weitere Informationen zu IAM finden Sie unter:
+ [AWS Identity and Access Management (ICH BIN)](https://aws.amazon.com/iam/)
+ [Erste Schritte mit IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)
+ [IAM Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/)

## Nächster Schritt
<a name="setting-up-next-step-2"></a>

[Richten Sie das AWS Command Line Interface ()AWS CLI ein](setup-awscli.md)

# Richten Sie das AWS Command Line Interface ()AWS CLI ein
<a name="setup-awscli"></a>

In diesem Schritt laden Sie den herunter und konfigurieren ihn für AWS CLI die Verwendung mit Amazon Managed Service für Apache Flink.

**Anmerkung**  
Bei allen Erste-Schritte-Übungen in diesem Handbuch wird davon ausgegangen, dass Sie in Ihrem Konto Administrator-Anmeldeinformationen (`adminuser`) verwenden, um die Operationen auszuführen.

**Anmerkung**  
Wenn Sie den bereits AWS CLI installiert haben, müssen Sie möglicherweise ein Upgrade durchführen, um die neuesten Funktionen zu erhalten. Weitere Informationen finden Sie im *AWS Command Line Interface Benutzerhandbuch* unter [Installation der AWS Befehlszeilenschnittstelle](https://docs.aws.amazon.com/cli/latest/userguide/installing.html). Führen Sie den folgenden Befehl aus AWS CLI, um die Version von zu überprüfen:  

```
aws --version
```
Für die Übungen in diesem Tutorial ist die folgende AWS CLI Version oder höher erforderlich:  

```
aws-cli/1.16.63
```

**Um das einzurichten AWS CLI**

1. Herunterladen und Konfigurieren von AWS CLI. Eine Anleitung finden Sie unter den folgenden Themen im *AWS Command Line Interface -Benutzerhandbuch*: 
   + [Installieren des AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)
   + [Konfigurieren von AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. Fügen Sie der AWS CLI Konfigurationsdatei ein benanntes Profil für den Administratorbenutzer hinzu. Sie verwenden dieses Profil, wenn Sie die AWS CLI Befehle ausführen. Weitere Informationen zu benannten Profilen finden Sie unter [Benannte Profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html) im *AWS Command Line Interface Benutzerhandbuch*.

   ```
   [profile adminuser]
   aws_access_key_id = adminuser access key ID
   aws_secret_access_key = adminuser secret access key
   region = aws-region
   ```

   Eine Liste der verfügbaren AWS Regionen finden Sie unter [AWS Regionen und Endpunkte](https://docs.aws.amazon.com/general/latest/gr/rande.html) in der *Allgemeine Amazon Web Services-Referenz*.

1. Überprüfen Sie die Einrichtung, indem Sie die folgenden Hilfebefehle in die Befehlszeile eingeben: 

   ```
   aws help
   ```

Nachdem Sie ein AWS Konto eingerichtet haben AWS CLI, können Sie die nächste Übung ausprobieren, in der Sie eine Beispielanwendung konfigurieren und das end-to-end Setup testen.

## Nächster Schritt
<a name="setting-up-next-step-3"></a>

[Erstellen Sie eine Managed Service for Apache Flink-Anwendung und führen Sie sie aus](get-started-exercise.md)

# Erstellen Sie eine Managed Service for Apache Flink-Anwendung und führen Sie sie aus
<a name="get-started-exercise"></a>

In dieser Übung erstellen Sie eine Anwendung von Managed Service für Apache Flink mit Datenströmen als Quelle und Senke.

**Topics**
+ [

## Erstellen Sie zwei Amazon Kinesis Kinesis-Datenstreams
](#get-started-exercise-1)
+ [

## Schreiben Sie Beispieldatensätze in den Eingabe-Stream
](#get-started-exercise-2)
+ [

## Laden Sie den Apache Flink-Streaming-Java-Code herunter und untersuchen Sie ihn
](#get-started-exercise-5)
+ [

## Kompilieren Sie den Anwendungscode
](#get-started-exercise-5.5)
+ [

## Laden Sie den Apache Flink-Streaming-Java-Code hoch
](#get-started-exercise-6)
+ [

## Erstellen Sie die Anwendung Managed Service for Apache Flink und führen Sie sie aus
](#get-started-exercise-7)

## Erstellen Sie zwei Amazon Kinesis Kinesis-Datenstreams
<a name="get-started-exercise-1"></a>

Bevor Sie für diese Übung einen Amazon Managed Service für Apache Flink erstellen, erstellen Sie zwei Kinesis-Datenstreams (`ExampleInputStream`und`ExampleOutputStream`). Ihre Anwendung verwendet diese Streams für die Quell- und Ziel-Streams der Anwendung.

Sie können diese Streams mithilfe der Amazon-Kinesis-Konsole oder des folgenden AWS CLI -Befehls erstellen. Detaillierte Konsolenanweisungen finden Sie unter [Erstellen und Aktualisieren von Daten-Streams](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html). 

**So erstellen Sie die Daten-Streams (AWS CLI)**

1. Verwenden Sie den folgenden Amazon Kinesis `create-stream` AWS CLI Kinesis-Befehl, um den ersten Stream (`ExampleInputStream`) zu erstellen.

   ```
   $ aws kinesis create-stream \
   --stream-name ExampleInputStream \
   --shard-count 1 \
   --region us-west-2 \
   --profile adminuser
   ```

1. Um den zweiten Stream zu erstellen, den die Anwendung zum Schreiben der Ausgabe verwendet, führen Sie denselben Befehl aus und ändern den Stream-Namen in `ExampleOutputStream`.

   ```
   $ aws kinesis create-stream \
   --stream-name ExampleOutputStream \
   --shard-count 1 \
   --region us-west-2 \
   --profile adminuser
   ```

## Schreiben Sie Beispieldatensätze in den Eingabe-Stream
<a name="get-started-exercise-2"></a>

In diesem Abschnitt verwenden Sie ein Python-Skript zum Schreiben von Datensätzen in den Stream für die zu verarbeitende Anwendung.

**Anmerkung**  
Dieser Abschnitt erfordert [AWS SDK für Python (Boto)](https://aws.amazon.com/developers/getting-started/python/).

1. Erstellen Sie eine Datei `stock.py` mit dem folgenden Inhalt:

   ```
    
   import datetime
   import json
   import random
   import boto3
   
   STREAM_NAME = "ExampleInputStream"
   
   
   def get_data():
       return {
           "EVENT_TIME": datetime.datetime.now().isoformat(),
           "TICKER": random.choice(["AAPL", "AMZN", "MSFT", "INTC", "TBV"]),
           "PRICE": round(random.random() * 100, 2),
       }
   
   
   def generate(stream_name, kinesis_client):
       while True:
           data = get_data()
           print(data)
           kinesis_client.put_record(
               StreamName=stream_name, Data=json.dumps(data), PartitionKey="partitionkey"
           )
   
   
   if __name__ == "__main__":
       generate(STREAM_NAME, boto3.client("kinesis"))
   ```

1. Im weiteren Verlauf des Tutorials führen Sie das `stock.py`-Skript zum Senden von Daten an die Anwendung aus. 

   ```
   $ python stock.py
   ```

## Laden Sie den Apache Flink-Streaming-Java-Code herunter und untersuchen Sie ihn
<a name="get-started-exercise-5"></a>

Der Java-Anwendungscode für diese Beispiele ist verfügbar unter GitHub. Zum Herunterladen des Anwendungscodes gehen Sie wie folgt vor:

1. Klonen Sie das Remote-Repository mit dem folgenden Befehl:

   ```
   git clone https://github.com/aws-samples/amazon-kinesis-data-analytics-java-examples.git
   ```

1. Navigieren Sie zum `GettingStarted` Verzeichnis .

Der Anwendungscode befindet sich in den Dateien `CloudWatchLogSink.java` und `CustomSinkStreamingJob.java`. Beachten Sie Folgendes zum Anwendungscode:
+ Die Anwendung verwendet eine Kinesis-Quelle zum Lesen aus dem Quell-Stream. Der folgende Codeausschnitt erstellt die Kinesis-Senke:

  ```
  return env.addSource(new FlinkKinesisConsumer<>(inputStreamName,
                  new SimpleStringSchema(), inputProperties));
  ```

## Kompilieren Sie den Anwendungscode
<a name="get-started-exercise-5.5"></a>

In diesem Abschnitt verwenden Sie den Apache Maven-Compiler zum Erstellen des Java-Codes für die Anwendung. Weitere Informationen zum Installieren von Apache Maven und des Java Development Kit (JDK) finden Sie unter [Voraussetzungen für das Abschließen der Übungen](tutorial-stock-data.md#setting-up-prerequisites).

Ihre Java-Anwendung erfordert die folgenden Komponenten:
+ Eine [Projektobjektmodell (pom.xml)](https://maven.apache.org/guides/introduction/introduction-to-the-pom.html)-Datei. Diese Datei enthält Informationen zur Konfiguration und zu den Abhängigkeiten der Anwendung, einschließlich der Amazon Managed Service for Apache Flink-Bibliotheken.
+ Eine `main`-Methode, die die Logik der Anwendung enthält.

**Anmerkung**  
**Um den Kinesis-Konnektor für die folgende Anwendung zu verwenden, müssen Sie den Quellcode für den Konnektor herunterladen und ihn wie in der [Apache Flink-Dokumentation](https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/connectors/kinesis.html) beschrieben erstellen.**

**So erstellen und kompilieren Sie den Anwendungscode**

1. Erstellen Sie eine Java/Maven Anwendung in Ihrer Entwicklungsumgebung. Weitere Informationen zum Erstellen einer Anwendung finden Sie in der Dokumentation für Ihre Entwicklungsumgebung:
   + [ Erstellen Sie Ihr erstes Java-Projekt (Eclipse Java Neon)](https://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2FgettingStarted%2Fqs-3.htm)
   + [ Erstellen, Ausführen und Packen Ihrer ersten Java-Anwendung (IntelliJ Idea)](https://www.jetbrains.com/help/idea/creating-and-running-your-first-java-application.html)

1. Verwenden Sie den folgenden Code für eine Datei mit dem Namen `StreamingJob.java`. 

   ```
    
   package com.amazonaws.services.kinesisanalytics;
   
   import com.amazonaws.services.kinesisanalytics.runtime.KinesisAnalyticsRuntime;
   import org.apache.flink.api.common.serialization.SimpleStringSchema;
   import org.apache.flink.streaming.api.datastream.DataStream;
   import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
   import org.apache.flink.streaming.connectors.kinesis.FlinkKinesisConsumer;
   import org.apache.flink.streaming.connectors.kinesis.FlinkKinesisProducer;
   import org.apache.flink.streaming.connectors.kinesis.config.ConsumerConfigConstants;
   
   import java.io.IOException;
   import java.util.Map;
   import java.util.Properties;
   
   public class StreamingJob {
   
       private static final String region = "us-east-1";
       private static final String inputStreamName = "ExampleInputStream";
       private static final String outputStreamName = "ExampleOutputStream";
   
       private static DataStream<String> createSourceFromStaticConfig(StreamExecutionEnvironment env) {
           Properties inputProperties = new Properties();
           inputProperties.setProperty(ConsumerConfigConstants.AWS_REGION, region);
           inputProperties.setProperty(ConsumerConfigConstants.STREAM_INITIAL_POSITION, "LATEST");
   
           return env.addSource(new FlinkKinesisConsumer<>(inputStreamName, new SimpleStringSchema(), inputProperties));
       }
   
       private static DataStream<String> createSourceFromApplicationProperties(StreamExecutionEnvironment env)
               throws IOException {
           Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties();
           return env.addSource(new FlinkKinesisConsumer<>(inputStreamName, new SimpleStringSchema(),
                   applicationProperties.get("ConsumerConfigProperties")));
       }
   
       private static FlinkKinesisProducer<String> createSinkFromStaticConfig() {
           Properties outputProperties = new Properties();
           outputProperties.setProperty(ConsumerConfigConstants.AWS_REGION, region);
           outputProperties.setProperty("AggregationEnabled", "false");
   
           FlinkKinesisProducer<String> sink = new FlinkKinesisProducer<>(new SimpleStringSchema(), outputProperties);
           sink.setDefaultStream(outputStreamName);
           sink.setDefaultPartition("0");
           return sink;
       }
   
       private static FlinkKinesisProducer<String> createSinkFromApplicationProperties() throws IOException {
           Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties();
           FlinkKinesisProducer<String> sink = new FlinkKinesisProducer<>(new SimpleStringSchema(),
                   applicationProperties.get("ProducerConfigProperties"));
   
           sink.setDefaultStream(outputStreamName);
           sink.setDefaultPartition("0");
           return sink;
       }
   
       public static void main(String[] args) throws Exception {
           // set up the streaming execution environment
           final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
   
           /*
            * if you would like to use runtime configuration properties, uncomment the
            * lines below
            * DataStream<String> input = createSourceFromApplicationProperties(env);
            */
   
           DataStream<String> input = createSourceFromStaticConfig(env);
   
           /*
            * if you would like to use runtime configuration properties, uncomment the
            * lines below
            * input.addSink(createSinkFromApplicationProperties())
            */
   
           input.addSink(createSinkFromStaticConfig());
   
           env.execute("Flink Streaming Java API Skeleton");
       }
   }
   ```

   Beachten Sie die folgenden Informationen zum vorherigen Codebeispiel:
   + Diese Datei enthält die `main`-Methode, die die Funktionalität der Anwendung definiert.
   + Ihre Anwendung erstellt Quell- und Senkenkonnektoren für den Zugriff auf externe Ressourcen, indem ein `StreamExecutionEnvironment`-Objekt verwendet wird. 
   + Die Anwendung erstellt Quell- und Senkenkonnektoren mit statischen Eigenschaften. Zum Verwenden dynamischer Anwendungseigenschaften verwenden Sie die Methoden `createSourceFromApplicationProperties` und `createSinkFromApplicationProperties`, um die Konnektoren zu erstellen. Diese Methoden lesen die Eigenschaften der Anwendung zum Konfigurieren der Konnektoren.

1. Zum Verwenden Ihres Anwendungscodes kompilieren und packen Sie ihn in eine JAR-Datei. Sie können Ihren Code auf zwei Arten kompilieren und packen:
   + Verwenden Sie das Befehlszeilen-Maven-Tool. Erstellen Sie Ihre JAR-Datei, indem Sie den folgenden Befehl in dem Verzeichnis ausführen, das die `pom.xml`-Datei enthält:

     ```
     mvn package
     ```
   + Verwenden Sie Ihre Entwicklungsumgebung. Weitere Informationen finden Sie in der Dokumentation Ihrer Entwicklungsumgebung.

   Sie können Ihr Paket als JAR-Datei hochladen oder komprimieren und als ZIP-Datei hochladen. Wenn Sie Ihre Anwendung mit dem erstellen AWS CLI, geben Sie Ihren Codeinhaltstyp (JAR oder ZIP) an.

1. Wenn während der Erstellung Fehler aufgetreten sind, überprüfen Sie, ob Ihre `JAVA_HOME`-Umgebungsvariable richtig eingestellt ist.

Wenn die Anwendung erfolgreich kompiliert wurde, wird die folgende Datei erstellt:

`target/java-getting-started-1.0.jar`

## Laden Sie den Apache Flink-Streaming-Java-Code hoch
<a name="get-started-exercise-6"></a>

In diesem Abschnitt erstellen Sie einen Amazon Simple Storage Service (Amazon S3)-Bucket und laden Ihren Anwendungscode hoch.

**So laden Sie den Anwendungscode hoch**

1. Öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie **Create Bucket** (Bucket erstellen) aus.

1. Geben Sie **ka-app-code-*<username>*** im Feld **Bucket-Name** ein. Fügen Sie dem Bucket-Namen ein Suffix hinzu, wie z. B. Ihren Benutzernamen, damit er global eindeutig ist. Wählen Sie **Weiter** aus.

1. Lassen Sie im Schritt **Optionen konfigurieren** die Einstellungen unverändert und klicken Sie auf **Weiter**.

1. Lassen Sie im Schritt **Berechtigungen festlegen** die Einstellungen unverändert und klicken Sie auf **Weiter**.

1. Wählen Sie **Create Bucket** (Bucket erstellen) aus.

1. Wählen Sie in der Amazon S3 S3-Konsole den *<username>* Bucket **ka-app-code-** und wählen Sie **Upload** aus.

1. Klicken Sie im Schritt **Auswählen von Dateien** auf **Hinzufügen von Dateien**. Navigieren Sie zu der `java-getting-started-1.0.jar`Datei, die Sie im vorherigen Schritt erstellt haben. Wählen Sie **Weiter** aus.

1. Lassen Sie im Schritt **Berechtigungen festlegen** die Einstellungen unverändert. Wählen Sie **Weiter** aus.

1. Lassen Sie im Schritt **Eigenschaften festlegen** die Einstellungen unverändert. Klicken Sie auf **Upload**.

Ihr Anwendungscode ist jetzt in einem Amazon-S3-Bucket gespeichert, in dem Ihre Anwendung darauf zugreifen kann.

## Erstellen Sie die Anwendung Managed Service for Apache Flink und führen Sie sie aus
<a name="get-started-exercise-7"></a>

Sie können eine Anwendung von Managed Service für Apache Flink entweder über die Konsole oder AWS CLI erstellen und ausführen.

**Anmerkung**  
Wenn Sie die Anwendung mithilfe der Konsole erstellen, werden Ihre AWS Identity and Access Management (IAM) und Amazon CloudWatch Logs-Ressourcen für Sie erstellt. Wenn Sie die Anwendung mithilfe von erstellen AWS CLI, erstellen Sie diese Ressourcen separat.

**Topics**
+ [

### Erstellen Sie die Anwendung und führen Sie sie aus (Konsole)
](#get-started-exercise-7-console)
+ [

### Erstellen Sie die Anwendung und führen Sie sie aus (AWS CLI)
](#get-started-exercise-7-cli)

### Erstellen Sie die Anwendung und führen Sie sie aus (Konsole)
<a name="get-started-exercise-7-console"></a>

Befolgen Sie diese Schritte, um die Anwendung über die Konsole zu erstellen, zu konfigurieren, zu aktualisieren und auszuführen.

#### Erstellen der Anwendung
<a name="get-started-exercise-7-console-create"></a>

1. Öffnen Sie die Kinesis-Konsole unter [https://console.aws.amazon.com/kinesis.](https://console.aws.amazon.com/kinesis)

1. Wählen Sie auf dem Amazon-Kinesis-Dashboard die Option **Create analytics application** (Analyseanwendung erstellen) aus.

1. Geben Sie auf der Seite **Kinesis Analytics – Anwendung erstellen** die Anwendungsdetails wie folgt an:
   + Geben Sie als **Anwendungsname** ein **MyApplication**.
   + Geben Sie für **Beschreibung** den Text **My java test app** ein.
   + Wählen Sie für **Runtime (Laufzeit)** die Option **Apache Flink 1.6** aus.

1. Wählen Sie für **Zugriffsberechtigungen** die Option **Erstellen / Aktualisieren Sie IAM-Rolle `kinesis-analytics-MyApplication-us-west-2`** aus.

1. Wählen Sie **Create application** aus.

**Anmerkung**  
Wenn Sie mithilfe der Konsole eine Amazon Managed Service for Apache Flink-Anwendung erstellen, haben Sie die Möglichkeit, eine IAM-Rolle und -Richtlinie für Ihre Anwendung erstellen zu lassen. Ihre Anwendung verwendet diese Rolle und Richtlinie für den Zugriff auf ihre abhängigen Ressourcen. Diese IAM-Ressourcen werden unter Verwendung Ihres Anwendungsnamens und der Region wie folgt benannt:  
Richtlinie: `kinesis-analytics-service-MyApplication-us-west-2`
Rolle: `kinesis-analytics-MyApplication-us-west-2`

#### Bearbeiten Sie die IAM-Richtlinie
<a name="get-started-exercise-7-console-iam"></a>

Bearbeiten Sie die IAM-Richtlinie zum Hinzufügen von Berechtigungen für den Zugriff auf die Kinesis-Datenströme.

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie **Policies (Richtlinien)**. Wählen Sie die **`kinesis-analytics-service-MyApplication-us-west-2`**-Richtlinie aus, die die Konsole im vorherigen Abschnitt für Sie erstellt hat. 

1. Wählen Sie auf der Seite **Summary (Übersicht)** die Option **Edit policy (Richtlinie bearbeiten)** aus. Wählen Sie den Tab **JSON**.

1. Fügen Sie den markierten Abschnitt der folgenden Beispielrichtlinie der Richtlinie hinzu. Ersetzen Sie das Beispielkonto IDs (*012345678901*) durch Ihre Konto-ID.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ReadCode",
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:GetObjectVersion"
               ],
               "Resource": [
                   "arn:aws:s3:::ka-app-code-username/java-getting-started-1.0.jar"
               ]
           },
           {
               "Sid": "ListCloudwatchLogGroups",
               "Effect": "Allow",
               "Action": [
                   "logs:DescribeLogGroups"
               ],
               "Resource": [
                   "arn:aws:logs:us-west-2:012345678901:log-group:*"
               ]
           },
           {
               "Sid": "ListCloudwatchLogStreams",
               "Effect": "Allow",
               "Action": [
                   "logs:DescribeLogStreams"
               ],
               "Resource": [
                   "arn:aws:logs:us-west-2:012345678901:log-group:/aws/kinesis-analytics/MyApplication:log-stream:*"
               ]
           },
           {
               "Sid": "PutCloudwatchLogs",
               "Effect": "Allow",
               "Action": [
                   "logs:PutLogEvents"
               ],
               "Resource": [
                   "arn:aws:logs:us-west-2:012345678901:log-group:/aws/kinesis-analytics/MyApplication:log-stream:kinesis-analytics-log-stream"
               ]
           },
           {
               "Sid": "ReadInputStream",
               "Effect": "Allow",
               "Action": "kinesis:*",
               "Resource": "arn:aws:kinesis:us-west-2:012345678901:stream/ExampleInputStream"
           },
           {
               "Sid": "WriteOutputStream",
               "Effect": "Allow",
               "Action": "kinesis:*",
               "Resource": "arn:aws:kinesis:us-west-2:012345678901:stream/ExampleOutputStream"
           }
       ]
   }
   ```

------

#### Konfigurieren Sie die Anwendung
<a name="get-started-exercise-7-console-configure"></a>

1. Wählen Sie auf der **MyApplication**Seite **Configure** aus.

1. Klicken Sie auf der Seite **Configure application (Anwendung konfigurieren)** auf die Option **Code location (Codespeicherort)**:
   + Geben Sie für **Amazon-S3-Bucket** **ka-app-code-*<username>*** ein.
   + Geben Sie als **Pfad zum Amazon-S3-Objekt** den Wert **java-getting-started-1.0.jar** ein.

1. Wählen Sie unter **Zugriff auf Anwendungsressourcen** für **Zugriffsberechtigungen** die Option **IAM-Rolle `kinesis-analytics-MyApplication-us-west-2` erstellen/aktualisieren** aus.

1. Geben Sie unter **Eigenschaften** für **Gruppen-ID** den Text **ProducerConfigProperties** ein.

1. Geben Sie die folgenden Eigenschaften und Werte der Anwendung ein:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/streams/latest/dev/get-started-exercise.html)

1. Stellen Sie unter **Überwachung** sicher, dass die **Ebene der Überwachungsmetriken** auf **Anwendung** eingestellt ist.

1. Wählen Sie für die **CloudWatch Protokollierung** das Kontrollkästchen **Aktivieren** aus.

1. Wählen Sie **Aktualisieren** aus.

**Anmerkung**  
Wenn Sie die CloudWatch Protokollierung aktivieren möchten, erstellt Managed Service for Apache Flink eine Protokollgruppe und einen Protokollstream für Sie. Die Namen dieser Ressourcen lauten wie folgt:   
Protokollgruppe: `/aws/kinesis-analytics/MyApplication`
Protokollstream: `kinesis-analytics-log-stream`

#### Führen Sie die Anwendung aus.
<a name="get-started-exercise-7-console-run"></a>

1. Wählen Sie auf der **MyApplication**Seite die Option **Ausführen** aus. Bestätigen Sie die Aktion.

1. Wenn die Anwendung ausgeführt wird, aktualisieren Sie die Seite. Die Konsole zeigt den **Application graph (Anwendungs-Graph)** an.

#### Beenden Sie die Anwendung
<a name="get-started-exercise-7-console-stop"></a>

Wählen Sie auf der **MyApplication**Seite **Stopp** aus. Bestätigen Sie die Aktion.

#### Aktualisieren der Anwendung
<a name="get-started-exercise-7-console-update"></a>

Mithilfe der Konsole können Sie Anwendungseinstellungen wie beispielsweise Anwendungseigenschaften, Überwachungseinstellungen und den Speicherort oder den Dateinamen der JAR-Anwendungsdatei aktualisieren. Außerdem können Sie die JAR-Anwendungsdatei erneut aus dem Amazon-S3-Bucket laden, wenn Sie den Anwendungscode aktualisieren müssen.

Wählen Sie auf der **MyApplication**Seite **Configure** aus. Aktualisieren Sie die Anwendungseinstellungen und klicken Sie auf **Aktualisieren**.

### Erstellen Sie die Anwendung und führen Sie sie aus (AWS CLI)
<a name="get-started-exercise-7-cli"></a>

In diesem Abschnitt verwenden Sie die, AWS CLI um die Anwendung Managed Service for Apache Flink zu erstellen und auszuführen. Managed Service for Apache Flink verwendet den `kinesisanalyticsv2` AWS CLI Befehl, um Managed Service for Apache Flink-Anwendungen zu erstellen und mit ihnen zu interagieren.

#### Erstellen einer Berechtigungsrichtlinie
<a name="get-started-exercise-7-cli-policy"></a>

Zuerst erstellen Sie eine Berechtigungsrichtlinie mit zwei Anweisungen: eine, die Berechtigungen für die `read`-Aktion auf den Quell-Stream zulässt, und eine andere, die Berechtigungen für die `write`-Aktionen auf den Senken-Stream zulässt. Anschließend fügen Sie die Richtlinie an eine IAM-Rolle (die Sie im nächsten Abschnitt erstellen) an. Wenn Managed Service für Apache Flink also die Rolle übernimmt, verfügt der Service über die erforderlichen Berechtigungen zum Lesen aus dem Quell-Stream und zum Schreiben in den Senken-Stream.

Verwenden Sie den folgenden Code zum Erstellen der `KAReadSourceStreamWriteSinkStream`-Berechtigungsrichtlinie. Ersetzen Sie `username` durch den Benutzernamen, den Sie verwendet haben, um den Amazon-S3-Bucket zum Speichern des Anwendungscodes zu erstellen. Ersetzen Sie die Konto-ID in den Amazon-Ressourcennamen (ARNs) (`012345678901`) durch Ihre Konto-ID.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": ["arn:aws:s3:::ka-app-code-username",
                "arn:aws:s3:::ka-app-code-username/*"
            ]
        },
        {
            "Sid": "ReadInputStream",
            "Effect": "Allow",
            "Action": "kinesis:*",
            "Resource": "arn:aws:kinesis:us-west-2:012345678901:stream/ExampleInputStream"
        },
        {
            "Sid": "WriteOutputStream",
            "Effect": "Allow",
            "Action": "kinesis:*",
            "Resource": "arn:aws:kinesis:us-west-2:012345678901:stream/ExampleOutputStream"
        }
    ]
}
```

------

 step-by-stepAnweisungen zum Erstellen einer Berechtigungsrichtlinie finden Sie unter [Tutorial: Erstellen und Anhängen Ihrer ersten vom Kunden verwalteten Richtlinie](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html#part-two-create-policy) im *IAM-Benutzerhandbuch*.

**Anmerkung**  
Um auf andere AWS Dienste zuzugreifen, können Sie den AWS SDK für Java verwenden. Managed Service für Apache Flink setzt die vom SDK benötigten Anmeldeinformationen automatisch auf die der IAM-Rolle für die Dienstausführung, die mit Ihrer Anwendung verknüpft ist. Es sind keine weiteren Schritte erforderlich.

#### Erstellen einer IAM-Rolle
<a name="get-started-exercise-7-cli-role"></a>

In diesem Abschnitt erstellen Sie eine IAM-Rolle, von der Managed Service for Apache Flink annehmen kann, dass sie einen Quellstream liest und in den Sink-Stream schreibt.

Managed Service für Apache Flink kann ohne Berechtigungen nicht auf Ihren Stream zugreifen. Sie erteilen diese Berechtigungen über eine IAM-Rolle. Jeder IAM-Rolle sind zwei Richtlinien angefügt. Die Vertrauensrichtlinie erteilt Managed Service für Apache Flink die Berechtigung zum Übernehmen der Rolle und die Berechtigungsrichtlinie bestimmt, was Managed Service für Apache Flink nach Annahme der Rolle tun kann.

Sie können die Berechtigungsrichtlinie, die Sie im vorherigen Abschnitt erstellt haben, dieser Rolle anfügen.

**So erstellen Sie eine IAM-Rolle**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Roles (Rollen)** und **Create Role (Rolle erstellen)** aus.

1. Wählen Sie unter **Typ der vertrauenswürdigen Entität auswählen** die Option **AWS -Service** aus. Wählen Sie unter **Choose the service that will use this role (Wählen Sie den Service aus, der diese Rolle verwendet)** die Option **Kinesis** aus. Wählen Sie unter **Select your use case (Wählen Sie Ihren Anwendungsfall aus)** die Option **Kinesis Analytics** aus.

   Wählen Sie **Weiter: Berechtigungen** aus.

1. Wählen Sie auf der Seite **Attach permissions policies** (Berechtigungsrichtlinien hinzufügen) **Next: Review** (Weiter: Überprüfen) aus. Sie fügen Berechtigungsrichtlinien an, nachdem Sie die Rolle erstellt haben.

1. Geben Sie auf der Seite **Create role (Rolle erstellen)** den Text **KA-stream-rw-role** für **Role name (Rollenname)** ein. Wählen Sie **Rolle erstellen** aus.

   Jetzt haben Sie eine neue IAM-Rolle mit dem Namen `KA-stream-rw-role` erstellt. Im nächsten Schritt aktualisieren Sie die Vertrauens- und Berechtigungsrichtlinien für die Rolle.

1. Fügen Sie die Berechtigungsrichtlinie der Rolle an.
**Anmerkung**  
Für diese Übung übernimmt Managed Service für Apache Flink diese Rolle sowohl für das Lesen von Daten aus einem Kinesis-Datenstrom (Quelle) als auch zum Schreiben der Ausgabedaten in einen anderen Kinesis-Datenstrom. Daher fügen Sie die Richtlinie an, die Sie im vorherigen Schritt erstellt haben, [Erstellen einer Berechtigungsrichtlinie](#get-started-exercise-7-cli-policy).

   1. Wählen Sie auf der Seite **Summary (Übersicht)** die Registerkarte **Permissions (Berechtigungen)** aus.

   1. Wählen Sie **Attach Policies (Richtlinien anfügen)** aus.

   1. Geben Sie im Suchfeld **KAReadSourceStreamWriteSinkStream** (die Richtlinie, die Sie im vorhergehenden Abschnitt erstellt haben) ein.

   1. Wählen Sie die **KAReadInputStreamWriteOutputStream**-Richtlinie und wählen Sie **Richtlinie anhängen** aus.

Sie haben nun die Service-Ausführungsrolle erstellt, die Ihre Anwendung für den Zugriff auf Ressourcen verwendet. Notieren Sie sich den ARN der neuen Rolle.

 step-by-stepAnweisungen zum Erstellen einer Rolle finden Sie unter [Erstellen einer IAM-Rolle (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html#roles-creatingrole-user-console) im *IAM-Benutzerhandbuch*.

#### Erstellen Sie die Anwendung Managed Service für Apache Flink
<a name="get-started-exercise-7-cli-create"></a>

1. Speichern Sie den folgenden JSON-Code in eine Datei mit dem Namen `create_request.json`. Ersetzen Sie den Beispiel-Rollen-ARN durch den ARN für die Rolle, die Sie zuvor erstellt haben. Ersetzen Sie das Bucket-ARN-Suffix (`username`) mit dem Suffix, das Sie im vorherigen Abschnitt gewählt haben. Ersetzen Sie die beispielhafte Konto-ID (`012345678901`) in der Service-Ausführungsrolle mit Ihrer Konto-ID.

   ```
   {
       "ApplicationName": "test",
       "ApplicationDescription": "my java test app",
       "RuntimeEnvironment": "FLINK-1_6",
       "ServiceExecutionRole": "arn:aws:iam::012345678901:role/KA-stream-rw-role",
       "ApplicationConfiguration": {
           "ApplicationCodeConfiguration": {
               "CodeContent": {
                   "S3ContentLocation": {
                       "BucketARN": "arn:aws:s3:::ka-app-code-username",
                       "FileKey": "java-getting-started-1.0.jar"
                   }
               },
               "CodeContentType": "ZIPFILE"
           },
           "EnvironmentProperties":  { 
            "PropertyGroups": [ 
               { 
                  "PropertyGroupId": "ProducerConfigProperties",
                  "PropertyMap" : {
                       "flink.stream.initpos" : "LATEST",
                       "aws.region" : "us-west-2",
                       "AggregationEnabled" : "false"
                  }
               },
               { 
                  "PropertyGroupId": "ConsumerConfigProperties",
                  "PropertyMap" : {
                       "aws.region" : "us-west-2"
                  }
               }
            ]
         }
       }
   }
   ```

1. Führen Sie die [https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_CreateApplication.html](https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_CreateApplication.html)-Aktion mit der vorherigen Anforderung zum Erstellen der Anwendung aus: 

   ```
   aws kinesisanalyticsv2 create-application --cli-input-json file://create_request.json
   ```

Die Anwendung wird nun erstellt. Sie starten die Anwendung im nächsten Schritt.

#### Starten der Anwendung
<a name="get-started-exercise-7-cli-start"></a>

In diesem Abschnitt verwenden Sie die [https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_StartApplication.html](https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_StartApplication.html)-Aktion, um die Anwendung zu starten.

**So starten Sie die Anwendung**

1. Speichern Sie den folgenden JSON-Code in eine Datei mit dem Namen `start_request.json`.

   ```
   {
       "ApplicationName": "test",
       "RunConfiguration": {
           "ApplicationRestoreConfiguration": { 
            "ApplicationRestoreType": "RESTORE_FROM_LATEST_SNAPSHOT"
            }
       }
   }
   ```

1. Führen Sie die [https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_StartApplication.html](https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_StartApplication.html)-Aktion mit der vorherigen Anforderung zum Starten der Anwendung aus:

   ```
   aws kinesisanalyticsv2 start-application --cli-input-json file://start_request.json
   ```

Die Anwendung wird jetzt ausgeführt. Sie können die Kennzahlen Managed Service for Apache Flink auf der CloudWatch Amazon-Konsole überprüfen, um sicherzustellen, dass die Anwendung funktioniert.

#### Stoppen der Anwendung
<a name="get-started-exercise-7-cli-stop"></a>

In diesem Abschnitt verwenden Sie die [https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_StopApplication.html](https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_StopApplication.html)-Aktion, um die Anwendung zu stoppen.

**So stoppen Sie die Anwendung**

1. Speichern Sie den folgenden JSON-Code in eine Datei mit dem Namen `stop_request.json`.

   ```
   {"ApplicationName": "test"
   }
   ```

1. Führen Sie die [https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_StopApplication.html](https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_StopApplication.html)-Aktion mit der folgenden Anforderung zum Stoppen der Anwendung aus:

   ```
   aws kinesisanalyticsv2 stop-application --cli-input-json file://stop_request.json
   ```

Die Anwendung wird nun gestoppt.