

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Planung von Amazon Redshift Data API-Vorgängen mit Amazon EventBridge
<a name="data-api-calling-event-bridge"></a>

Sie können Regeln für ausgewählte Ereignisse erstellen und an Ziele weiterleiten, um Aktionen durchzuführen. Sie können auch Regeln verwenden, um Aktionen nach einem vorher festgelegten Zeitplan durchzuführen. Weitere Informationen finden Sie im [ EventBridge Amazon-Benutzerhandbuch](https://docs.aws.amazon.com/eventbridge/latest/userguide/). 

Um Daten-API-Operationen mit planen zu können EventBridge, muss die zugehörige IAM-Rolle dem Principal for CloudWatch Events (events.amazonaws.com) vertrauen. Dieser Rolle sollte das Äquivalent der verwalteten Richtlinie `AmazonEventBridgeFullAccess` zugewiesen sein. Sie sollte auch über `AmazonRedshiftDataFullAccess`-Richtlinienberechtigungen verfügen, die von der Data API verwaltet werden. Sie können eine IAM-Rolle mit diesen Berechtigungen in der IAM-Konsole erstellen. Wählen Sie beim Erstellen einer Rolle in der IAM-Konsole die vertrauenswürdige Service-Entität für Ereignisse aus. AWS CloudWatch Geben Sie die IAM-Rolle im `RoleArn` JSON-Wert im Ziel an EventBridge . Weitere Informationen zum Erstellen einer IAM-Rolle finden Sie unter [Creating a Role for an AWS Service (Console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) im *IAM-Benutzerhandbuch*.

Die `name` Regel, die Sie in Amazon erstellen, EventBridge muss mit der `StatementName` in der übereinstimmen`RedshiftDataParameters`.

Die folgenden Beispiele zeigen Varianten der EventBridge Regelerstellung mit einer oder mehreren SQL-Anweisungen und mit einem Amazon Redshift-Cluster oder einer Amazon Redshift Serverless-Arbeitsgruppe als Data Warehouse.

## Aufrufen mit einer einzigen SQL-Anweisung und einem Cluster
<a name="data-api-calling-event-bridge-sql-cluster"></a>

Das folgende Beispiel verwendet die AWS CLI , um eine EventBridge Regel zu erstellen, die verwendet wird, um eine SQL-Anweisung für einen Amazon Redshift Redshift-Cluster auszuführen.

```
aws events put-rule 
--name test-redshift-cluster-data 
--schedule-expression "rate(1 minute)"
```

Dann wird ein EventBridge Ziel erstellt, das nach dem in der Regel angegebenen Zeitplan ausgeführt wird. 

```
aws events put-targets 
--cli-input-json file://data.json
```

Die data.json-Eingabedatei ist wie folgt. Der JSON-Schlüssel `Sql` gibt an, dass es nur eine einzige SQL-Anweisung gibt. Der JSON-Wert `Arn` enthält eine Clusterkennung. Der JSON-Wert `RoleArn` enthält die IAM-Rolle, die verwendet wird, um SQL wie zuvor beschrieben auszuführen. 

```
{
    "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
            }
        }
    ]
}
```

## Aufrufen mit einer einzigen SQL-Anweisung und einer Arbeitsgruppe
<a name="data-api-calling-event-bridge-sql-workgroup"></a>

Das folgende Beispiel verwendet die AWS CLI , um eine EventBridge Regel zu erstellen, die verwendet wird, um eine SQL-Anweisung für eine Amazon Redshift Serverless-Arbeitsgruppe auszuführen.

```
aws events put-rule 
--name  test-redshift-serverless-workgroup-data 
--schedule-expression "rate(1 minute)"
```

Dann wird ein EventBridge Ziel erstellt, das nach dem in der Regel angegebenen Zeitplan ausgeführt wird. 

```
aws events put-targets 
--cli-input-json file://data.json
```

Die data.json-Eingabedatei ist wie folgt. Der JSON-Schlüssel `Sql` gibt an, dass es nur eine einzige SQL-Anweisung gibt. Der JSON-Wert `Arn` enthält einen Arbeitsgruppennamen. Der JSON-Wert `RoleArn` enthält die IAM-Rolle, die verwendet wird, um SQL wie zuvor beschrieben auszuführen. 

```
{
    "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 
            } 
        } 
    ] 
}
```

## Aufrufen mit mehreren SQL-Anweisungen und einem Cluster
<a name="data-api-calling-event-bridge-sqls-cluster"></a>

Das folgende Beispiel verwendet die AWS CLI , um eine EventBridge Regel zu erstellen, die verwendet wird, um mehrere SQL-Anweisungen für einen Amazon Redshift Redshift-Cluster auszuführen.

```
aws events put-rule 
--name  test-redshift-cluster-data 
--schedule-expression "rate(1 minute)"
```

Dann wird ein EventBridge Ziel erstellt, das nach dem in der Regel angegebenen Zeitplan ausgeführt wird. 

```
aws events put-targets 
--cli-input-json file://data.json
```

Die data.json-Eingabedatei ist wie folgt. Der JSON-Schlüssel `Sqls` gibt an, dass es mehrere SQL-Anweisungen gibt. Der JSON-Wert `Arn` enthält eine Clusterkennung. Der JSON-Wert `RoleArn` enthält die IAM-Rolle, die verwendet wird, um SQL wie zuvor beschrieben auszuführen. 

```
{
    "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 
            } 
        } 
    ] 
}
```

## Aufrufen mit mehreren SQL-Anweisungen und einer Arbeitsgruppe
<a name="data-api-calling-event-bridge-sqls-workgroup"></a>

Das folgende Beispiel verwendet die AWS CLI , um eine EventBridge Regel zu erstellen, die verwendet wird, um mehrere SQL-Anweisungen für eine Amazon Redshift Serverless-Arbeitsgruppe auszuführen.

```
aws events put-rule 
--name  test-redshift-serverless-workgroup-data 
--schedule-expression "rate(1 minute)"
```

Dann wird ein EventBridge Ziel erstellt, das nach dem in der Regel angegebenen Zeitplan ausgeführt wird. 

```
aws events put-targets 
--cli-input-json file://data.json
```

Die data.json-Eingabedatei ist wie folgt. Der JSON-Schlüssel `Sqls` gibt an, dass es mehrere SQL-Anweisungen gibt. Der JSON-Wert `Arn` enthält einen Arbeitsgruppennamen. Der JSON-Wert `RoleArn` enthält die IAM-Rolle, die verwendet wird, um SQL wie zuvor beschrieben auszuführen. 

```
{
    "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 
            } 
        } 
    ] 
}
```