Amazon Managed Service untuk Apache Flink sebelumnya dikenal sebagai Amazon Kinesis Data Analytics untuk Apache Flink.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Perbarui aplikasi Java
Ikuti prosedur di bawah ini untuk memperbarui aplikasi Java:
flink-connector-kinesis
Jika aplikasi menggunakanflink-connector-kinesis
:
Konektor Kinesis menggunakan shading untuk mengemas beberapa dependensi, termasuk, ke dalam AWS SDK toples konektor. Untuk memperbarui AWS SDK versi, gunakan prosedur berikut untuk mengganti kelas yang diarsir ini:
- Maven
-
Tambahkan konektor Kinesis dan AWS SDK modul yang diperlukan sebagai dependensi proyek.
Konfigurasikan
maven-shade-plugin
:Tambahkan filter untuk mengecualikan AWS SDK kelas yang diarsir saat menyalin konten tabung konektor Kinesis.
Tambahkan aturan relokasi untuk memindahkan AWS SDK kelas yang diperbarui ke paket, yang diharapkan oleh konektor Kinesis.
pom.xml
<project> ... <dependencies> ... <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kinesis</artifactId> <version>1.15.4</version> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>kinesis</artifactId> <version>2.20.144</version> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>netty-nio-client</artifactId> <version>2.20.144</version> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>sts</artifactId> <version>2.20.144</version> </dependency> ... </dependencies> ... <build> ... <plugins> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.1.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> ... <filters> ... <filter> <artifact>org.apache.flink:flink-connector-kinesis</artifact> <excludes> <exclude>org/apache/flink/kinesis/shaded/software/amazon/awssdk/**</exclude> <exclude>org/apache/flink/kinesis/shaded/org/reactivestreams/**</exclude> <exclude>org/apache/flink/kinesis/shaded/io/netty/**</exclude> <exclude>org/apache/flink/kinesis/shaded/com/typesafe/netty/**</exclude> </excludes> </filter> ... </filters> <relocations> ... <relocation> <pattern>software.amazon.awssdk</pattern> <shadedPattern>org.apache.flink.kinesis.shaded.software.amazon.awssdk</shadedPattern> </relocation> <relocation> <pattern>org.reactivestreams</pattern> <shadedPattern>org.apache.flink.kinesis.shaded.org.reactivestreams</shadedPattern> </relocation> <relocation> <pattern>io.netty</pattern> <shadedPattern>org.apache.flink.kinesis.shaded.io.netty</shadedPattern> </relocation> <relocation> <pattern>com.typesafe.netty</pattern> <shadedPattern>org.apache.flink.kinesis.shaded.com.typesafe.netty</shadedPattern> </relocation> ... </relocations> ... </configuration> </execution> </executions> </plugin> ... </plugins> ... </build> </project>
- Gradle
-
Tambahkan konektor Kinesis dan AWS SDK modul yang diperlukan sebagai dependensi proyek.
Sesuaikan shadowJar konfigurasi:
Kecualikan AWS SDK kelas yang diarsir saat menyalin konten tabung konektor Kinesis.
Pindahkan AWS SDK kelas yang diperbarui ke paket yang diharapkan oleh konektor Kinesis.
build.gradle
... dependencies { ... flinkShadowJar("org.apache.flink:flink-connector-kinesis:1.15.4") flinkShadowJar("software.amazon.awssdk:kinesis:2.20.144") flinkShadowJar("software.amazon.awssdk:sts:2.20.144") flinkShadowJar("software.amazon.awssdk:netty-nio-client:2.20.144") ... } ... shadowJar { configurations = [project.configurations.flinkShadowJar] exclude("software/amazon/kinesis/shaded/software/amazon/awssdk/**/*") exclude("org/apache/flink/kinesis/shaded/org/reactivestreams/**/*.class") exclude("org/apache/flink/kinesis/shaded/io/netty/**/*.class") exclude("org/apache/flink/kinesis/shaded/com/typesafe/netty/**/*.class") relocate("software.amazon.awssdk", "org.apache.flink.kinesis.shaded.software.amazon.awssdk") relocate("org.reactivestreams", "org.apache.flink.kinesis.shaded.org.reactivestreams") relocate("io.netty", "org.apache.flink.kinesis.shaded.io.netty") relocate("com.typesafe.netty", "org.apache.flink.kinesis.shaded.com.typesafe.netty") } ...
Konektor lain yang terpengaruh
Jika aplikasi menggunakan konektor lain yang terpengaruh:
Untuk memperbarui AWS SDK versi, SDK versi harus diberlakukan dalam konfigurasi build proyek.
- Maven
-
Tambahkan AWS SDK bill of materials (BOM) ke bagian manajemen dependensi
pom.xml
file untuk menerapkan SDK versi proyek.pom.xml
<project> ... <dependencyManagement> <dependencies> ... <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.20.144</version> <scope>import</scope> <type>pom</type> </dependency> ... </dependencies> </dependencyManagement> ... </project>
- Gradle
-
Tambahkan ketergantungan platform pada AWS SDK bill of materials (BOM) untuk menegakkan SDK versi proyek. Ini membutuhkan Gradle 5.0 atau yang lebih baru:
build.gradle
... dependencies { ... flinkShadowJar(platform("software.amazon.awssdk:bom:2.20.144")) ... } ...