Contoh: Menguraikan String Log Berdasarkan Ekspresi Reguler (Fungsi REGEX_LOG_PARSE) - Panduan Pengembang Amazon Kinesis Data Analytics SQL untuk Aplikasi

Setelah mempertimbangkan dengan cermat, kami memutuskan untuk menghentikan Amazon Kinesis Data Analytics SQL untuk aplikasi dalam dua langkah:

1. Mulai 15 Oktober 2025, Anda tidak akan dapat membuat Kinesis Data Analytics SQL baru untuk aplikasi.

2. Kami akan menghapus aplikasi Anda mulai 27 Januari 2026. Anda tidak akan dapat memulai atau mengoperasikan Amazon Kinesis Data Analytics Anda SQL untuk aplikasi. Support tidak akan lagi tersedia untuk Amazon Kinesis Data Analytics SQL sejak saat itu. Untuk informasi selengkapnya, lihat Amazon Kinesis Data Analytics SQL untuk penghentian Aplikasi.

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

Contoh: Menguraikan String Log Berdasarkan Ekspresi Reguler (Fungsi REGEX_LOG_PARSE)

Contoh ini menggunakan fungsi REGEX_LOG_PARSE untuk mengubah string di Amazon Kinesis Data Analytics. REGEX_LOG_PARSE menguraikan string berdasarkan pola ekspresi reguler Java default. Untuk informasi selengkapnya, lihat REGEX_LOG_PARSE di Amazon Managed Service for Apache Flink SQL Reference.

Dalam contoh ini, Anda menulis catatan berikut ke Amazon Kinesis stream:

{"LOGENTRY": "203.0.113.24 - - [25/Mar/2018:15:25:37 -0700] \"GET /index.php HTTP/1.1\" 200 125 \"-\" \"Mozilla/5.0 [en] Gecko/20100101 Firefox/52.0\""} {"LOGENTRY": "203.0.113.24 - - [25/Mar/2018:15:25:37 -0700] \"GET /index.php HTTP/1.1\" 200 125 \"-\" \"Mozilla/5.0 [en] Gecko/20100101 Firefox/52.0\""} {"LOGENTRY": "203.0.113.24 - - [25/Mar/2018:15:25:37 -0700] \"GET /index.php HTTP/1.1\" 200 125 \"-\" \"Mozilla/5.0 [en] Gecko/20100101 Firefox/52.0\""} ...

Anda kemudian membuat aplikasi Kinesis Data Analytics di konsol, dengan aliran data Kinesis sebagai sumber streaming. Proses penemuan membaca catatan sampel pada sumber streaming dan menyimpulkan skema dalam aplikasi dengan satu kolom (LOGENTRY), seperti yang ditunjukkan berikut.

Tangkapan layar konsol yang menampilkan skema dalam aplikasi dengan kolom LOGENTRY.

Kemudian, Anda menggunakan kode aplikasi dengan fungsi REGEX_LOG_PARSE untuk mengurai string log untuk mengambil elemen data. Anda memasukkan data yang dihasilkan ke aliran dalam aplikasi lainnya, seperti yang ditunjukkan dalam tangkapan layar bawah ini:

Tangkapan layar konsol yang menunjukkan tabel data yang dihasilkan dengan kolom ROWTIME, LOGENTRY, MATCH1, dan MATCH2.

Langkah 1: Buat Kinesis Data Stream

Buat Amazon Kinesis data stream dan isi catatan log sebagai berikut:

  1. Masuk ke AWS Management Console dan buka konsol Kinesis di https://console.aws.amazon.com/kinesis.

  2. Pilih Data Streams (Aliran Data) di panel navigasi.

  3. Pilih Create Kinesis stream (Buat Aliran Kinesis), dan buat aliran dengan satu serpihan. Untuk informasi selengkapnya, lihat Buat Aliran di Panduan Developer Amazon Kinesis Data Streams.

  4. Jalankan kode Python berikut untuk mengisi catatan log sampel. Kode sederhana ini terus menulis catatan log yang sama ke aliran.

    import json import boto3 STREAM_NAME = "ExampleInputStream" def get_data(): return { "LOGENTRY": "203.0.113.24 - - [25/Mar/2018:15:25:37 -0700] " '"GET /index.php HTTP/1.1" 200 125 "-" ' '"Mozilla/5.0 [en] Gecko/20100101 Firefox/52.0"' } def generate(stream_name, kinesis_client): while True: data = get_data() print(data) kinesis_client.put_record( StreamName=stream_name, Data=json.dumps(data), PartitionKey="partitionkey" ) if __name__ == "__main__": generate(STREAM_NAME, boto3.client("kinesis"))

Langkah 2: Buat Aplikasi Kinesis Data Analytics

Selanjutnya, buat aplikasi Kinesis Data Analytics sebagai berikut:

  1. Buka Layanan Terkelola untuk konsol Apache Flink di https://console.aws.amazon.com/kinesisanalytics.

  2. Pilih Create application (Buat aplikasi), dan tentukan nama aplikasi.

  3. Pada halaman detail aplikasi, pilih Connect data streaming (Sambungkan data streaming).

  4. Di halaman Sambungkan ke sumber, lakukan hal berikut:

    1. Pilih aliran yang Anda buat di bagian sebelumnya.

    2. Pilih opsi untuk membuat IAM role.

    3. Pilih Discover schema (Temukan skema). Tunggu hingga konsol menampilkan skema yang disimpulkan dan catatan sampel yang digunakan untuk menyimpulkan skema untuk aliran dalam aplikasi yang dibuat. Skema yang disimpulkan hanya memiliki satu kolom.

    4. Jangan pilih Save and continue (Simpan dan lanjutkan).

  5. Di halaman detail aplikasi, pilih Go to SQL editor (Buka editor SQL). Untuk memulai aplikasi, pilih Yes, start application (Ya, mulai aplikasi) di kotak dialog yang muncul.

  6. Di editor SQL, tulis kode aplikasi, dan verifikasi hasilnya sebagai berikut:

    1. Salin kode aplikasi berikut dan tempelkan ke editor.

      CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (logentry VARCHAR(24), match1 VARCHAR(24), match2 VARCHAR(24)); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM T.LOGENTRY, T.REC.COLUMN1, T.REC.COLUMN2 FROM (SELECT STREAM LOGENTRY, REGEX_LOG_PARSE(LOGENTRY, '(\w.+) (\d.+) (\w.+) (\w.+)') AS REC FROM SOURCE_SQL_STREAM_001) AS T;
    2. Pilih Save and run SQL (Simpan dan jalankan SQL). Di tab Real-time analytics (Analitik waktu nyata), Anda dapat melihat semua aliran dalam aplikasi yang dibuat aplikasi dan memverifikasi data.