

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 開始使用 Amazon Managed Service for Apache Flink (DataStream API)
<a name="getting-started"></a>

本節向您介紹 Managed Service for Apache Flink 的基本概念，以及使用 DataStream API 在 Java 中實作應用程式。它描述了建立和測試應用程式的可用選項。此外，它還提供了相關指示，以協助您安裝完成本指南教學課程以及建立您的第一個應用程式所需要的工具。

**Topics**
+ [檢閱 Managed Service for Apache Flink 應用程式的元件](#getting-started-components)
+ [滿足完成練習的先決條件](#setting-up-prerequisites)
+ [設定 AWS 帳戶並建立管理員使用者](setting-up.md)
+ [設定 AWS Command Line Interface (AWS CLI)](setup-awscli.md)
+ [建立並執行 Managed Service for Apache Flink 應用程式](get-started-exercise.md)
+ [清除 AWS 資源](getting-started-cleanup.md)
+ [探索其他資源](getting-started-next-steps.md)

## 檢閱 Managed Service for Apache Flink 應用程式的元件
<a name="getting-started-components"></a>

**注意**  
Amazon Managed Service for Apache Flink 支援所有 Apache Flink APIs並可能支援所有 JVM 語言。如需詳細資訊，請參閱 [Flink APIs](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/concepts/overview/#flinks-apis)。  
根據您選擇的 API，應用程式和實作的結構略有不同。本入門教學課程涵蓋在 Java 中使用 DataStream API 的應用程式實作。

為了處理資料，您的 Managed Service for Apache Flink 應用程式會使用 Java 應用程式來處理輸入，並使用 Apache Flink 執行時間產生輸出。

典型的 Managed Service for Apache Flink 應用程式具有下列元件：
+ **執行期屬性：**您可以使用*執行期屬性*將組態參數傳遞至應用程式，以變更這些參數，而無需修改和重新發佈程式碼。
+ **來源：**應用程式會使用來自一或多個*來源*的資料。來源使用[連接器](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/connectors/table/overview/)從外部系統讀取資料，例如 Kinesis 資料串流或 Kafka 儲存貯體。如需詳細資訊，請參閱[新增串流資料來源](how-sources.md)。
+ **運算子：**應用程式會使用一或多個*運算子*來處理資料。運算子可以轉換、富集或彙總資料。如需詳細資訊，請參閱[運算子](how-operators.md)。
+ **接收器：**應用程式會透過*接收器*將資料傳送至外部來源。接收器使用[連接器](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/connectors/table/overview/) v 將資料傳送至 Kinesis 資料串流、Kafka 主題、Amazon S3 或關聯式資料庫。您也可以使用特殊連接器來列印輸出，僅用於開發用途。如需詳細資訊，請參閱[使用接收器寫入資料](how-sinks.md)。

您的應用程式需要一些*外部相依性*，例如應用程式使用的 Flink 連接器，或可能的 Java 程式庫。若要在 Amazon Managed Service for Apache Flink 中執行，應用程式必須與相依性一起封裝在 *fat-jar* 中，並上傳至 Amazon S3 儲存貯體。然後建立 Managed Service for Apache Flink 應用程式。您可以傳遞程式碼套件的位置，以及任何其他執行時間組態參數。

本教學課程示範如何使用 Apache Maven 封裝應用程式，以及如何在您選擇的 IDE 中於本機執行應用程式。

## 滿足完成練習的先決條件
<a name="setting-up-prerequisites"></a>

若要完成本指南中的步驟，您必須執行下列各項：
+ [Git 用戶端](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)。如果您尚未安裝 Git 用戶端。
+ [ Java 開發套件 (JDK) 第 11 版](https://www.oracle.com/java/technologies/downloads/#java11)。安裝 Java JDK 11 並設定 `JAVA_HOME`環境變數以指向您的 JDK 安裝位置。如果您沒有 JDK 11，您可以使用 [ Amazon Coretto 11](https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/what-is-corretto-11.html) 或您選擇的任何其他標準 JDK。
  + 若要確認您已正確安裝 JDK，請執行下列命令。如果您使用的是 Amazon Corretto 以外的 JDK，則輸出會有所不同。請確定版本為 11.x。

    ```
    $ java --version
    
    openjdk 11.0.23 2024-04-16 LTS
    OpenJDK Runtime Environment Corretto-11.0.23.9.1 (build 11.0.23+9-LTS)
    OpenJDK 64-Bit Server VM Corretto-11.0.23.9.1 (build 11.0.23+9-LTS, mixed mode)
    ```
+ [Apache Maven](https://maven.apache.org/)。如果您尚未安裝 Apache Maven。若要了解如何安裝，請參閱[安裝 Apache Maven](https://maven.apache.org/install.html)。
  + 若要測試您的 Apache Maven 安裝，輸入以下資訊：

  ```
  $ mvn -version
  ```
+ 適用於本機開發的 IDE。我們建議您使用 [Eclipse Java Neon](https://www.eclipse.org/downloads/packages/release/neon/3) 或 [IntelliJ IDEA](https://www.jetbrains.com/idea/) 等開發環境來開發和編譯您的應用程式。
  + 若要測試您的 Apache Maven 安裝，輸入以下資訊：

  ```
  $ mvn -version
  ```

開始執行，請移至 [設定 AWS 帳戶並建立管理員使用者](setting-up.md)。