

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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
<a name="data-api-calling-event-bridge"></a>

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](https://docs.aws.amazon.com/eventbridge/latest/userguide/). 

Untuk menjadwalkan operasi Data API dengan EventBridge, peran IAM terkait harus mempercayai prinsipal untuk CloudWatch Acara (events.amazonaws.com). Peran ini harus setara dengan kebijakan terkelola yang `AmazonEventBridgeFullAccess` 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 terpercaya AWS layanan untuk CloudWatch Acara. Tentukan peran IAM dalam nilai `RoleArn` JSON di target. EventBridge Untuk informasi selengkapnya tentang membuat peran IAM, lihat [Membuat Peran untuk AWS Layanan (Konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) di *Panduan Pengguna IAM*.

Aturan `name` yang Anda buat di Amazon EventBridge harus cocok dengan `StatementName` di`RedshiftDataParameters`.

Contoh berikut menunjukkan variasi pembuatan EventBridge aturan dengan satu atau beberapa pernyataan SQL dan dengan cluster Amazon Redshift atau grup kerja Amazon Redshift Tanpa Server sebagai gudang data.

## Memanggil dengan satu pernyataan SQL dan cluster
<a name="data-api-calling-event-bridge-sql-cluster"></a>

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 input data.json adalah sebagai berikut. Kunci `Sql` JSON menunjukkan ada pernyataan SQL tunggal. 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
            }
        }
    ]
}
```

## Memanggil dengan satu pernyataan SQL dan workgroup
<a name="data-api-calling-event-bridge-sql-workgroup"></a>

Contoh berikut menggunakan AWS CLI untuk membuat EventBridge aturan yang digunakan untuk menjalankan pernyataan SQL terhadap workgroup Amazon Redshift Tanpa Server.

```
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 input data.json adalah sebagai berikut. Kunci `Sql` JSON menunjukkan ada pernyataan SQL tunggal. 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 
            } 
        } 
    ] 
}
```

## Memanggil dengan beberapa pernyataan SQL dan cluster
<a name="data-api-calling-event-bridge-sqls-cluster"></a>

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 input data.json adalah sebagai berikut. Kunci `Sqls` 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 
            } 
        } 
    ] 
}
```

## Memanggil dengan beberapa pernyataan SQL dan workgroup
<a name="data-api-calling-event-bridge-sqls-workgroup"></a>

Contoh berikut menggunakan AWS CLI untuk membuat EventBridge aturan yang digunakan untuk menjalankan beberapa pernyataan SQL terhadap workgroup Amazon Redshift Tanpa Server.

```
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 input data.json adalah sebagai berikut. Kunci `Sqls` 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 
            } 
        } 
    ] 
}
```