Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menjadwalkan operasi Amazon Redshift Data API dengan Amazon EventBridge
Anda dapat membuat aturan yang cocok dengan peristiwa yang dipilih dan mengarahkannya ke target untuk mengambil tindakan. Anda juga dapat menggunakan aturan untuk mengambil tindakan pada jadwal yang telah ditentukan. Untuk informasi selengkapnya, lihat Panduan EventBridge Pengguna Amazon.
Untuk menjadwalkan operasi API Data dengan EventBridge, peran IAM terkait harus mempercayai prinsipal untuk Acara ( CloudWatch events.amazonaws.com). Peran ini harus setara dengan kebijakan AmazonEventBridgeFullAccess terkelola yang dilampirkan. Itu juga harus memiliki izin AmazonRedshiftDataFullAccess kebijakan yang dikelola oleh API Data. Anda dapat membuat peran IAM dengan izin ini di konsol IAM. Saat membuat peran di konsol IAM, pilih entitas AWS layanan tepercaya untuk Acara CloudWatch . Tentukan peran IAM dalam nilai RoleArn JSON di EventBridge target. Untuk informasi selengkapnya tentang membuat peran IAM, lihat Membuat Peran untuk AWS Layanan (Konsol) di Panduan Pengguna IAM.
A name turan yang Anda buat di Amazon EventBridge harus cocok dengan StatementName diRedshiftDataParameters.
Contoh berikut menunjukkan variasi pembuatan EventBridge aturan dengan satu atau beberapa pernyataan SQL dan dengan cluster Amazon Redshift atau grup kerja Amazon Redshift Serverless sebagai gudang data.
Contoh berikut menggunakan AWS CLI untuk membuat EventBridge aturan yang digunakan untuk menjalankan pernyataan SQL terhadap cluster Amazon Redshift.
aws events put-rule --name test-redshift-cluster-data --schedule-expression "rate(1 minute)"
Kemudian EventBridge target dibuat untuk berjalan pada jadwal yang ditentukan dalam aturan.
aws events put-targets --cli-input-json file://data.json
File masukan data.json adalah sebagai berikut. K Sql unci JSON menunjukkan ada satu pernyataan SQL. Nilai Arn JSON berisi pengidentifikasi cluster. Nilai RoleArn JSON berisi peran IAM yang digunakan untuk menjalankan SQL seperti yang dijelaskan sebelumnya.
{ "Rule": "test-redshift-cluster-data", "EventBusName": "default", "Targets": [ { "Id": "2", "Arn": "arn:aws:redshift:us-east-1:123456789012:cluster:mycluster", "RoleArn": "arn:aws:iam::123456789012:role/Administrator", "RedshiftDataParameters": { "Database": "dev", "DbUser": "root", "Sql": "select 1;", "StatementName": "test-redshift-cluster-data", "WithEvent": true } } ] }
Contoh berikut menggunakan AWS CLI untuk membuat EventBridge aturan yang digunakan untuk menjalankan pernyataan SQL terhadap grup kerja Amazon Redshift Serverless.
aws events put-rule --name test-redshift-serverless-workgroup-data --schedule-expression "rate(1 minute)"
Kemudian EventBridge target dibuat untuk berjalan pada jadwal yang ditentukan dalam aturan.
aws events put-targets --cli-input-json file://data.json
File masukan data.json adalah sebagai berikut. K Sql unci JSON menunjukkan ada satu pernyataan SQL. Nilai Arn JSON berisi nama workgroup. Nilai RoleArn JSON berisi peran IAM yang digunakan untuk menjalankan SQL seperti yang dijelaskan sebelumnya.
{ "Rule": "test-redshift-serverless-workgroup-data", "EventBusName": "default", "Targets": [ { "Id": "2", "Arn": "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "RoleArn": "arn:aws:iam::123456789012:role/Administrator", "RedshiftDataParameters": { "Database": "dev", "Sql": "select 1;", "StatementName": "test-redshift-serverless-workgroup-data", "WithEvent": true } } ] }
Contoh berikut menggunakan AWS CLI untuk membuat EventBridge aturan yang digunakan untuk menjalankan beberapa pernyataan SQL terhadap cluster Amazon Redshift.
aws events put-rule --name test-redshift-cluster-data --schedule-expression "rate(1 minute)"
Kemudian EventBridge target dibuat untuk berjalan pada jadwal yang ditentukan dalam aturan.
aws events put-targets --cli-input-json file://data.json
File masukan data.json adalah sebagai berikut. K Sqls unci JSON menunjukkan ada beberapa pernyataan SQL. Nilai Arn JSON berisi pengidentifikasi cluster. Nilai RoleArn JSON berisi peran IAM yang digunakan untuk menjalankan SQL seperti yang dijelaskan sebelumnya.
{ "Rule": "test-redshift-cluster-data", "EventBusName": "default", "Targets": [ { "Id": "2", "Arn": "arn:aws:redshift:us-east-1:123456789012:cluster:mycluster", "RoleArn": "arn:aws:iam::123456789012:role/Administrator", "RedshiftDataParameters": { "Database": "dev", "Sqls": ["select 1;", "select 2;", "select 3;"], "StatementName": "test-redshift-cluster-data", "WithEvent": true } } ] }
Contoh berikut menggunakan AWS CLI untuk membuat EventBridge aturan yang digunakan untuk menjalankan beberapa pernyataan SQL terhadap grup kerja Amazon Redshift Serverless.
aws events put-rule --name test-redshift-serverless-workgroup-data --schedule-expression "rate(1 minute)"
Kemudian EventBridge target dibuat untuk berjalan pada jadwal yang ditentukan dalam aturan.
aws events put-targets --cli-input-json file://data.json
File masukan data.json adalah sebagai berikut. K Sqls unci JSON menunjukkan ada beberapa pernyataan SQL. Nilai Arn JSON berisi nama workgroup. Nilai RoleArn JSON berisi peran IAM yang digunakan untuk menjalankan SQL seperti yang dijelaskan sebelumnya.
{ "Rule": "test-redshift-serverless-workgroup-data", "EventBusName": "default", "Targets": [ { "Id": "2", "Arn": "arn:aws:redshift-serverless:us-east-1:123456789012:workgroup/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "RoleArn": "arn:aws:iam::123456789012:role/Administrator", "RedshiftDataParameters": { "Database": "dev", "Sqls": ["select 1;", "select 2;", "select 3;"], "StatementName": "test-redshift-serverless-workgroup-data", "WithEvent": true } } ] }