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.
Topik ini berisi bagian-bagian berikut:
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
Buka Layanan Terkelola untuk konsol Apache Flink di /flink https://console.aws.amazon.com
Pilih Layanan Terkelola Anda untuk aplikasi Apache Flink. Pilih Application details (Detail aplikasi).
Di halaman untuk aplikasi Anda, pilih Configure (Konfigurasikan).
Perluas bagian Properties (Properti).
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.
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 (
) dalam contoh berikut dengan ID akun Anda.012345678901
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.