Bekerja dengan Amazon CloudWatch Logs - 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.

Bekerja dengan Amazon CloudWatch Logs

Jika aplikasi salah dikonfigurasi, aplikasi dapat beralih ke keadaan berjalan selama aplikasi mulai. Atau aplikasi dapat memperbarui, tetapi tidak memproses data apa pun ke aliran input dalam aplikasi. Dengan menambahkan opsi CloudWatch log ke aplikasi, Anda dapat memantau masalah konfigurasi aplikasi.

dapat menghasilkan kesalahan konfigurasi dalam kondisi berikut:

  • Kinesis data stream yang digunakan untuk input tidak ada.

  • Aliran pengiriman Amazon Data Firehose yang digunakan untuk input tidak ada.

  • Bucket Amazon S3 yang digunakan sebagai sumber data referensi tidak ada.

  • File yang ditentukan dalam sumber data referensi dalam bucket S3 tidak ada.

  • Sumber daya yang benar tidak ditentukan dalam peran AWS Identity and Access Management (IAM) yang mengelola izin terkait.

  • Izin yang benar tidak didefinisikan dalam IAM role yang mengelola izin terkait.

  • tidak memiliki izin untuk mengambil peran IAM yang mengelola izin terkait.

Untuk informasi selengkapnya tentang Amazon CloudWatch, lihat Panduan CloudWatch Pengguna Amazon.

Menambahkan Tindakan PutLogEvents Kebijakan

membutuhkan izin untuk menulis kesalahan konfigurasi ke. CloudWatch Anda dapat menambahkan izin ini ke peran IAM yang mengasumsikan, seperti yang dijelaskan berikut. Untuk informasi selengkapnya tentang penggunaan peran IAM, lihatIdentity and Access Management di Kinesis Data Analytics.

Kebijakan Kepercayaan

Untuk memberikan izin untuk mengambil peran IAM, Anda dapat melampirkan kebijakan kepercayaan berikut ke peran tersebut.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanalytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Kebijakan Izin

Untuk memberikan izin aplikasi untuk menulis peristiwa log CloudWatch dari sumber daya, Anda dapat menggunakan kebijakan izin IAM berikut.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt0123456789000", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group:log-stream:my-log-stream*" ] } ] }

Menambahkan Pemantauan Kesalahan Konfigurasi

Gunakan tindakan API berikut untuk menambahkan opsi CloudWatch log ke aplikasi baru atau yang sudah ada atau ubah opsi log untuk aplikasi yang sudah ada.

catatan

Saat ini Anda hanya dapat menambahkan opsi CloudWatch log ke aplikasi dengan menggunakan tindakan API. Anda tidak dapat menambahkan opsi CloudWatch log dengan menggunakan konsol.

Menambahkan Opsi CloudWatch Log Saat Membuat Aplikasi

Contoh kode berikut menunjukkan cara menggunakan CreateApplication tindakan untuk menambahkan opsi CloudWatch log saat Anda membuat aplikasi. Untuk informasi selengkapnya tentang Create_Application, lihat CreateApplication.

{ "ApplicationCode": "<The SQL code the new application will run on the input stream>", "ApplicationDescription": "<A friendly description for the new application>", "ApplicationName": "<The name for the new application>", "Inputs": [ ... ], "Outputs": [ ... ], "CloudWatchLoggingOptions": [{ "LogStreamARN": "<Amazon Resource Name (ARN) of the CloudWatch log stream to add to the new application>", "RoleARN": "<ARN of the role to use to access the log>" }] }

Menambahkan Opsi CloudWatch Log ke Aplikasi yang Ada

Contoh kode berikut menunjukkan cara menggunakan AddApplicationCloudWatchLoggingOption tindakan untuk menambahkan opsi CloudWatch log ke aplikasi yang ada. Untuk informasi selengkapnya tentang AddApplicationCloudWatchLoggingOption, lihat AddApplicationCloudWatchLoggingOption.

{ "ApplicationName": "<Name of the application to add the log option to>", "CloudWatchLoggingOption": { "LogStreamARN": "<ARN of the log stream to add to the application>", "RoleARN": "<ARN of the role to use to access the log>" }, "CurrentApplicationVersionId": <Version of the application to add the log to> }

Memperbarui Opsi CloudWatch Log yang Ada

Contoh kode berikut menunjukkan bagaimana menggunakan UpdateApplication tindakan untuk memodifikasi opsi CloudWatch log yang ada. Untuk informasi selengkapnya tentang UpdateApplication, lihat UpdateApplication.

{ "ApplicationName": "<Name of the application to update the log option for>", "ApplicationUpdate": { "CloudWatchLoggingOptionUpdates": [ { "CloudWatchLoggingOptionId": "<ID of the logging option to modify>", "LogStreamARNUpdate": "<ARN of the new log stream to use>", "RoleARNUpdate": "<ARN of the new role to use to access the log stream>" } ], }, "CurrentApplicationVersionId": <ID of the application version to modify> }

Menghapus Opsi CloudWatch Log dari Aplikasi

Contoh kode berikut menunjukkan cara menggunakan DeleteApplicationCloudWatchLoggingOption tindakan untuk menghapus opsi CloudWatch log yang ada. Untuk informasi selengkapnya tentang DeleteApplicationCloudWatchLoggingOption, lihat DeleteApplicationCloudWatchLoggingOption.

{ "ApplicationName": "<Name of application to delete log option from>", "CloudWatchLoggingOptionId": "<ID of the application log option to delete>", "CurrentApplicationVersionId": <Version of the application to delete the log option from> }

Kesalahan Konfigurasi

Bagian berikut berisi detail tentang kesalahan yang mungkin Anda lihat di CloudWatch Log Amazon dari aplikasi yang salah konfigurasi.

Format Pesan Kesalahan

Pesan kesalahan yang dibuat oleh kesalahan konfigurasi aplikasi muncul dalam format berikut ini.

{ "applicationARN": "string", "applicationVersionId": integer, "messageType": "ERROR", "message": "string", "inputId": "string", "referenceId": "string", "errorCode": "string" "messageSchemaVersion": "integer", }

Bidang dalam pesan kesalahan berisi informasi berikut:

  • applicationARN: Amazon Resource Name (ARN) aplikasi yang dibuat, misalnya: arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp

  • applicationVersionId: Versi aplikasi saat kesalahan ditemukan. Untuk informasi selengkapnya, lihat ApplicationDetail.

  • messageType: Tipe pesan. Saat ini, tipe ini hanya bisa ERROR.

  • message: Detail kesalahan, misalnya:

    There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.
  • inputId: ID yang terkait dengan input aplikasi. Nilai ini hanya tersedia jika input ini adalah penyebab kesalahan. Nilai ini tidak tersedia jika referenceId ada. Untuk informasi selengkapnya, lihat DescribeApplication.

  • referenceId: ID yang terkait dengan sumber data referensi aplikasi. Nilai ini hanya tersedia jika sumber ini adalah penyebab kesalahan. Nilai ini tidak tersedia jika inputId ada. Untuk informasi selengkapnya, lihat DescribeApplication.

  • errorCode: Pengidentifikasi untuk kesalahan. ID ini adalah InputError atau ReferenceDataError.

  • messageSchemaVersion: Nilai yang menentukan versi skema pesan saat ini, 1 saat ini. Anda dapat memeriksa nilai ini untuk melihat apakah skema pesan kesalahan sudah diperbarui.

Kesalahan

Kesalahan yang mungkin muncul di CloudWatch Log untuk menyertakan yang berikut ini.

Sumber Daya Tidak Ada

Jika ARN ditentukan untuk aliran input Kinesis yang tidak ada, tetapi ARN secara sintaksis benar, kesalahan seperti berikut akan dihasilkan.

{ "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp", "applicationVersionId": "5", "messageType": "ERROR", "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.", "inputId":"1.1", "errorCode": "InputError", "messageSchemaVersion": "1" }

Jika kunci file Amazon S3 salah digunakan untuk data referensi, kesalahan seperti berikut akan dihasilkan.

{ "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp", "applicationVersionId": "5", "messageType": "ERROR", "message": "There is a problem related to the configuration of your reference data. Please check that the bucket and the file exist, the role has the correct permissions to access these resources and that Kinesis Analytics can assume the role provided.", "referenceId":"1.1", "errorCode": "ReferenceDataError", "messageSchemaVersion": "1" }

Peran Tidak Ada

Jika ARN ditentukan untuk aliran input IAM yang tidak ada, tetapi ARN secara sintaksis benar, kesalahan seperti berikut akan dihasilkan.

{ "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp", "applicationVersionId": "5", "messageType": "ERROR", "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.", "inputId":null, "errorCode": "InputError", "messageSchemaVersion": "1" }

Peran Tidak Memiliki Izin untuk Mengakses Sumber Daya

Jika peran input digunakan yang tidak memiliki izin untuk mengakses sumber daya input, seperti aliran sumber Kinesis, kesalahan seperti berikut akan dihasilkan.

{ "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp", "applicationVersionId": "5", "messageType": "ERROR", "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.", "inputId":null, "errorCode": "InputError", "messageSchemaVersion": "1" }