

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

# 更新 Python 應用程式
<a name="troubleshooting-async-deadlock-update-python-apps"></a>

Python 應用程式可以透過 2 種不同的方式使用連接器：將連接器和其他 Java 相依性作封裝為單個 uber-jar 的一部分，或直接使用連接器 jar。若要修正受非同步接收器死鎖影響的應用程式：
+ 如果應用程式使用 uber jar，請依照 [更新 Java 應用程式](troubleshooting-async-deadlock-update-java-apps.md) 的指示操作。
+ 若要從來源重建連接器 jar，請使用下列步驟：

**從來源建置連接器：**

先決條件，類似於 Flink [建置需求](https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/flinkdev/building/#build-flink)：
+ Java 11
+ Maven 3.2.5

## flink-sql-connector-kinesis
<a name="troubleshooting-async-deadlock-update-python-apps-flink-sql-connector-kinesis"></a>

1. 下載 Flink 1.15.4 的來源程式碼：

   ```
   wget https://archive.apache.org/dist/flink/flink-1.15.4/flink-1.15.4-src.tgz
   ```

1. 解壓縮來源程式碼：

   ```
   tar -xvf flink-1.15.4-src.tgz
   ```

1. 導覽至 Kinesis 連接器目錄

   ```
   cd flink-1.15.4/flink-connectors/flink-connector-kinesis/
   ```

1. 編譯並安裝連接器 jar，指定所需的 AWS SDK 版本。為了加快建置，使用 `-DskipTests` 跳過測試執行，並使用 `-Dfast` 跳過其他來源程式碼檢查：

   ```
   mvn clean install -DskipTests -Dfast -Daws.sdkv2.version=2.20.144
   ```

1. 導覽至 Kinesis 連接器目錄

   ```
   cd ../flink-sql-connector-kinesis
   ```

1. 編譯並安裝 sql 連接器 jar：

   ```
   mvn clean install -DskipTests -Dfast
   ```

1. 產生的 jar 將在以下位置提供：

   ```
   target/flink-sql-connector-kinesis-1.15.4.jar
   ```

## flink-sql-connector-aws-kinesis-streams
<a name="troubleshooting-async-deadlock-update-python-apps-flink-sql-connector-aws-kinesis-streams"></a>

1. 下載 Flink 1.15.4 的來源程式碼：

   ```
   wget https://archive.apache.org/dist/flink/flink-1.15.4/flink-1.15.4-src.tgz
   ```

1. 解壓縮來源程式碼：

   ```
   tar -xvf flink-1.15.4-src.tgz
   ```

1. 導覽至 Kinesis 連接器目錄

   ```
   cd flink-1.15.4/flink-connectors/flink-connector-aws-kinesis-streams/
   ```

1. 編譯並安裝連接器 jar，指定所需的 AWS SDK 版本。為了加快建置，使用 `-DskipTests` 跳過測試執行，並使用 `-Dfast` 跳過其他來源程式碼檢查：

   ```
   mvn clean install -DskipTests -Dfast -Daws.sdk.version=2.20.144
   ```

1. 導覽至 Kinesis 連接器目錄

   ```
   cd ../flink-sql-connector-aws-kinesis-streams
   ```

1. 編譯並安裝 sql 連接器 jar：

   ```
   mvn clean install -DskipTests -Dfast
   ```

1. 產生的 jar 將在以下位置提供：

   ```
   target/flink-sql-connector-aws-kinesis-streams-1.15.4.jar
   ```

## flink-sql-connector-aws-kinesis-firehose
<a name="troubleshooting-async-deadlock-update-python-apps-flink-sql-connector-kinesis-firehose"></a>

1. 下載 Flink 1.15.4 的來源程式碼：

   ```
   wget https://archive.apache.org/dist/flink/flink-1.15.4/flink-1.15.4-src.tgz
   ```

1. 解壓縮來源程式碼：

   ```
   tar -xvf flink-1.15.4-src.tgz
   ```

1. 導覽至連接器目錄

   ```
   cd flink-1.15.4/flink-connectors/flink-connector-aws-kinesis-firehose/
   ```

1. 編譯並安裝連接器 jar，指定所需的 AWS SDK 版本。為了加快建置，使用 `-DskipTests` 跳過測試執行，並使用 `-Dfast` 跳過其他來源程式碼檢查：

   ```
   mvn clean install -DskipTests -Dfast -Daws.sdk.version=2.20.144
   ```

1. 導覽至 sql 連接器目錄

   ```
   cd ../flink-sql-connector-aws-kinesis-firehose
   ```

1. 編譯並安裝 sql 連接器 jar：

   ```
   mvn clean install -DskipTests -Dfast
   ```

1. 產生的 jar 將在以下位置提供：

   ```
   target/flink-sql-connector-aws-kinesis-firehose-1.15.4.jar
   ```

## flink-sql-connector-dynamodb
<a name="troubleshooting-async-deadlock-update-python-apps-flink-sql-connector-dynamodb"></a>

1. 下載 Flink 1.15.4 的來源程式碼：

   ```
   wget https://archive.apache.org/dist/flink/flink-connector-aws-3.0.0/flink-connector-aws-3.0.0-src.tgz
   ```

1. 解壓縮來源程式碼：

   ```
   tar -xvf flink-connector-aws-3.0.0-src.tgz
   ```

1. 導覽至連接器目錄

   ```
   cd flink-connector-aws-3.0.0
   ```

1. 編譯並安裝連接器 jar，指定所需的 AWS SDK 版本。為了加快建置，使用 `-DskipTests` 跳過測試執行，並使用 `-Dfast` 跳過其他來源程式碼檢查：

   ```
   mvn clean install -DskipTests -Dfast -Dflink.version=1.15.4 -Daws.sdk.version=2.20.144
   ```

1. 產生的 jar 將在以下位置提供：

   ```
   flink-sql-connector-dynamodb/target/flink-sql-connector-dynamodb-3.0.0.jar
   ```