Menggunakan properti runtime di Managed Service untuk Apache Flink - Layanan Terkelola untuk Apache Flink

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.

Menggunakan properti runtime di Managed Service untuk Apache Flink

Anda dapat menggunakan properti runtime untuk mengonfigurasi aplikasi Anda tanpa mengompilasi ulang kode aplikasi Anda.

Mengelola properti runtime menggunakan konsol

Anda dapat menambahkan, memperbarui, atau menghapus properti runtime dari Layanan Terkelola untuk aplikasi Apache Flink menggunakan. AWS Management Console

catatan

Jika Anda menggunakan versi Apache Flink yang didukung sebelumnya dan ingin meningkatkan aplikasi yang ada ke Apache Flink 1.19.1, Anda dapat melakukannya menggunakan upgrade versi Apache Flink di tempat. Dengan peningkatan versi di tempat, Anda mempertahankan ketertelusuran aplikasi terhadap satu ARN di seluruh versi Apache Flink, termasuk snapshot, log, metrik, tag, konfigurasi Flink, dan banyak lagi. Anda dapat menggunakan fitur ini di RUNNING dan READY negara bagian. Untuk informasi selengkapnya, lihat Gunakan upgrade versi di tempat untuk Apache Flink.

Perbarui Properti Runtime untuk Layanan Terkelola untuk aplikasi Apache Flink
  1. Buka Layanan Terkelola untuk konsol Apache Flink di /flink https://console.aws.amazon.com

  2. Pilih Layanan Terkelola Anda untuk aplikasi Apache Flink. Pilih Application details (Detail aplikasi).

  3. Di halaman untuk aplikasi Anda, pilih Configure (Konfigurasikan).

  4. Perluas bagian Properties (Properti).

  5. Gunakan kontrol di bagian Properti untuk menentukan grup properti dengan pasangan nilai kunci. Gunakan kontrol ini untuk menambah, memperbarui, atau menghapus grup properti dan properti runtime.

  6. Pilih Perbarui.

Mengelola properti runtime menggunakan CLI

Anda dapat menambahkan, memperbarui, atau menghapus properti runtime menggunakan AWS CLI.

Bagian ini mencakup contoh permintaan untuk API tindakan untuk mengonfigurasi properti runtime untuk aplikasi. Untuk informasi tentang cara menggunakan JSON file untuk masukan API tindakan, lihatLayanan Terkelola untuk kode contoh Apache Flink API.

catatan

Ganti ID akun sampel (012345678901) dalam contoh berikut dengan ID akun Anda.

Tambahkan properti runtime saat membuat aplikasi

Permintaan contoh berikut untuk tindakan CreateApplication menambahkan dua grup properti runtime (ProducerConfigProperties dan ConsumerConfigProperties) saat Anda membuat aplikasi:

{ "ApplicationName": "MyApplication", "ApplicationDescription": "my java test app", "RuntimeEnvironment": "FLINK-1_19", "ServiceExecutionRole": "arn:aws:iam::012345678901:role/MF-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" } } ] } } }

Menambahkan dan memperbarui properti runtime dalam aplikasi yang ada

Permintaan contoh berikut untuk tindakan UpdateApplication menambahkan atau memperbarui properti runtime untuk aplikasi yang ada:

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 2, "ApplicationConfigurationUpdate": { "EnvironmentPropertyUpdates": { "PropertyGroups": [ { "PropertyGroupId": "ProducerConfigProperties", "PropertyMap" : { "flink.stream.initpos" : "LATEST", "aws.region" : "us-west-2", "AggregationEnabled" : "false" } }, { "PropertyGroupId": "ConsumerConfigProperties", "PropertyMap" : { "aws.region" : "us-west-2" } } ] } } }
catatan

Jika Anda menggunakan kunci yang tidak memiliki properti runtime yang sesuai dalam grup properti, Managed Service for Apache Flink menambahkan pasangan kunci-nilai sebagai properti baru. Jika Anda menggunakan kunci untuk properti runtime yang ada di grup properti, Managed Service for Apache Flink akan memperbarui nilai properti.

Hapus properti runtime

Permintaan contoh berikut untuk tindakan UpdateApplication menghapus semua properti runtime dan grup properti dari aplikasi yang ada:

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 3, "ApplicationConfigurationUpdate": { "EnvironmentPropertyUpdates": { "PropertyGroups": [] } } }
penting

Jika Anda menghilangkan grup properti yang ada atau kunci properti yang ada di grup properti, grup properti atau properti akan dihapus.

Mengakses properti runtime dalam Layanan Terkelola untuk aplikasi Apache Flink

Anda mengambil properti runtime dalam kode aplikasi Java Anda menggunakan metode KinesisAnalyticsRuntime.getApplicationProperties() statis, yang mengembalikan objek Map<String, Properties>.

Contoh kode Java berikut mengambil properti runtime untuk aplikasi Anda:

Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties();

Anda mengambil grup properti (sebagai objek Java.Util.Properties) sebagai berikut:

Properties consumerProperties = applicationProperties.get("ConsumerConfigProperties");

Anda biasanya mengonfigurasi sumber atau sink Apache Flinkdengan meneruskan di objek Properties tanpa perlu mengambil properti individu. Contoh kode berikut menunjukkan cara membuat sumber Flink dengan meneruskan di objek Properties yang diambil dari properti runtime:

private static FlinkKinesisProducer<String> createSinkFromApplicationProperties() throws IOException { Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties(); FlinkKinesisProducer<String> sink = new FlinkKinesisProducer<String>(new SimpleStringSchema(), applicationProperties.get("ProducerConfigProperties")); sink.setDefaultStream(outputStreamName); sink.setDefaultPartition("0"); return sink; }

Untuk contoh kode, lihat Contoh untuk membuat dan bekerja dengan Managed Service untuk aplikasi Apache Flink.