

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh Java untuk Managed Service untuk Apache Flink
<a name="examples-new-java"></a>

Contoh berikut menunjukkan cara membuat aplikasi yang ditulis dalam Java.



**catatan**  
Sebagian besar contoh dirancang untuk dijalankan secara lokal, di mesin pengembangan dan IDE pilihan Anda, dan di Amazon Managed Service untuk Apache Flink. Mereka mendemonstrasikan mekanisme yang dapat Anda gunakan untuk meneruskan parameter aplikasi, dan cara mengatur ketergantungan dengan benar untuk menjalankan aplikasi di kedua lingkungan tanpa perubahan.

## Meningkatkan kinerja serialisasi mendefinisikan kustom TypeInfo
<a name="improving-serialization-performance-java"></a>

Contoh ini menggambarkan cara mendefinisikan kustom TypeInfo pada objek record atau state Anda untuk mencegah serialisasi kembali ke serialisasi Kryo yang kurang efisien. Ini diperlukan, misalnya, ketika objek Anda berisi `List` atau`Map`. Untuk informasi selengkapnya, lihat [Jenis Data & Serialisasi](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/dev/datastream/fault-tolerance/serialization/types_serialization/#data-types--serialization) dalam dokumentasi Apache Flink. Contoh ini juga menunjukkan bagaimana menguji apakah serialisasi objek Anda kembali ke serialisasi Kryo yang kurang efisien.

Contoh kode: [CustomTypeInfo](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/Serialization/CustomTypeInfo)

## Memulai dengan DataStream API
<a name="getting-started-datastream-java"></a>

Contoh ini menunjukkan aplikasi sederhana, membaca dari aliran data Kinesis dan menulis ke aliran data Kinesis lain, menggunakan API. `DataStream` Contoh ini menunjukkan cara mengatur file dengan dependensi yang benar, membangun UBER-JAR, dan kemudian mengurai parameter konfigurasi, sehingga Anda dapat menjalankan aplikasi baik secara lokal, di IDE Anda, dan di Amazon Managed Service untuk Apache Flink.

Contoh kode: [GettingStarted](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/GettingStarted)

## Memulai dengan Table API dan SQL
<a name="getting-started-table-java"></a>

Contoh ini menunjukkan aplikasi sederhana menggunakan `Table` API dan SQL. Ini menunjukkan bagaimana mengintegrasikan `DataStream` API dengan `Table` API atau SQL dalam aplikasi Java yang sama. Ini juga menunjukkan bagaimana menggunakan `DataGen` konektor untuk menghasilkan data uji acak dari dalam aplikasi Flink itu sendiri, tidak memerlukan generator data eksternal.

Contoh lengkap: [GettingStartedTable](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/GettingStartedTable)

## Gunakan S3Sink (API) DataStream
<a name="s3-sink-java"></a>

Contoh ini menunjukkan cara menggunakan `DataStream` API untuk menulis file JSON `FileSink` ke bucket S3.

Contoh kode: [S3Sink](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/S3Sink)

## Gunakan sumber Kinesis, standar atau konsumen EFO, dan sink (API) DataStream
<a name="kinesis-EFO-sink-java"></a>

Contoh ini menunjukkan cara mengonfigurasi konsumsi sumber dari aliran data Kinesis, baik menggunakan konsumen standar atau EFO, dan cara mengatur sink ke aliran data Kinesis.

Contoh kode: [KinesisConnectors](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/KinesisConnectors)

## Menggunakan wastafel Amazon Data Firehose (DataStream API)
<a name="firehose-sink-java"></a>

Contoh ini menunjukkan cara mengirim data ke Amazon Data Firehose (sebelumnya dikenal sebagai Kinesis Data Firehose).

Contoh kode: [KinesisFirehoseSink](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/KinesisFirehoseSink)

## Gunakan konektor wastafel Prometheus
<a name="prometheus-sink-java"></a>

Contoh ini menunjukkan penggunaan konektor [sink Prometheus untuk menulis data deret waktu ke Prometheus](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/connectors/datastream/prometheus/).

Contoh kode: [PrometheusSink](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/PrometheusSink)

## Gunakan agregasi windowing (API) DataStream
<a name="windowing-aggregations-java"></a>

Contoh ini menunjukkan empat jenis agregasi windowing di API. `DataStream`

1. Jendela Geser berdasarkan waktu pemrosesan

1. Jendela Geser berdasarkan waktu acara

1. Tumbling Window berdasarkan waktu pemrosesan

1. Jatuh Jendela berdasarkan waktu acara

Contoh kode: [Windowing](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/Windowing) 

## Gunakan metrik khusus
<a name="custom-metrics-java"></a>

Contoh ini menunjukkan cara menambahkan metrik khusus ke aplikasi Flink Anda dan mengirimkannya ke CloudWatch metrik.

Contoh kode: [CustomMetrics](https://github.com/dzikosc/amazon-managed-service-for-apache-flink-examples/tree/main/java/CustomMetrics)

## Gunakan Penyedia Konfigurasi Kafka untuk mengambil keystore kustom dan truststore untuk mTL saat runtime
<a name="kafka-keystore-mTLS"></a>

Contoh ini menggambarkan bagaimana Anda dapat menggunakan Penyedia Konfigurasi Kafka untuk menyiapkan keystore kustom dan truststore dengan sertifikat untuk otentikasi mTLS untuk konektor Kafka. Teknik ini memungkinkan Anda memuat sertifikat kustom yang diperlukan dari Amazon S3 dan rahasia dari AWS Secrets Manager saat aplikasi dimulai.

Contoh kode: [Kafka-MTLS-Keystore](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/KafkaConfigProviders/Kafka-mTLS-Keystore-ConfigProviders) - ConfigProviders

## Gunakan Penyedia Konfigurasi Kafka untuk mengambil rahasia untuk SASL/SCRAM otentikasi saat runtime
<a name="kafka-secrets"></a>

Contoh ini menggambarkan bagaimana Anda dapat menggunakan Penyedia Konfigurasi Kafka untuk mengambil kredensyal dari AWS Secrets Manager dan mengunduh truststore dari Amazon S3 untuk mengatur otentikasi pada konektor Kafka. SASL/SCRAM Teknik ini memungkinkan Anda memuat sertifikat kustom yang diperlukan dari Amazon S3 dan rahasia dari AWS Secrets Manager saat aplikasi dimulai.

Contoh kode: [Kafka- - SASL\$1SSL ConfigProviders](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/KafkaConfigProviders/Kafka-SASL_SSL-ConfigProviders)

## Gunakan Penyedia Konfigurasi Kafka untuk mengambil keystore kustom dan truststore untuk mTL saat runtime dengan Tabel API/SQL
<a name="kafka-custom-keystore"></a>

Contoh ini menggambarkan bagaimana Anda dapat menggunakan Penyedia Konfigurasi Kafka di Tabel API /SQL untuk menyiapkan keystore kustom dan truststore dengan sertifikat untuk otentikasi mTLS untuk konektor Kafka. Teknik ini memungkinkan Anda memuat sertifikat kustom yang diperlukan dari Amazon S3 dan rahasia dari AWS Secrets Manager saat aplikasi dimulai.

Contoh kode: [Kafka-MTLS-Keystore-SQL](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/KafkaConfigProviders/Kafka-mTLS-Keystore-Sql-ConfigProviders) - ConfigProviders

## Gunakan Output Samping untuk membagi aliran
<a name="side-output"></a>

Contoh ini menggambarkan cara memanfaatkan [Side Output](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/side_output/) di Apache Flink untuk memisahkan aliran pada atribut tertentu. Pola ini sangat berguna ketika mencoba menerapkan konsep Dead Letter Queues (DLQ) dalam aplikasi streaming.

Contoh kode: [SideOutputs](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/SideOutputs)

## Gunakan Async I/O untuk memanggil endpoint eksternal
<a name="async-i-o"></a>

Contoh ini menggambarkan cara menggunakan [Apache Flink Async I/O](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/dev/datastream/operators/asyncio/) untuk memanggil titik akhir eksternal dengan cara yang tidak memblokir, dengan mencoba ulang pada kesalahan yang dapat dipulihkan.

Contoh kode: [Asyncio](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/AsyncIO)