

 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.

# Erste Schritte mit der Streaming-Aufnahme aus Apache-Kafka-Quellen
<a name="materialized-view-streaming-ingestion-getting-started-MSK"></a>

In diesem Thema wird beschrieben, wie Streaming-Daten aus Amazon MSK, Apache Kafka oder Confluent Cloud mithilfe einer materialisierten Ansicht genutzt werden.

 Die Streaming-Erfassung von Amazon Redshift soll den Prozess der direkten Erfassung von Stream-Daten von einem Streaming-Dienst in Amazon Redshift oder Amazon Redshift Serverless vereinfachen. Dies funktioniert mit Amazon MSK Provisioned und Amazon MSK Serverless, mit Open-Source-Apache Kafka und mit Confluent-Cloud. Dank der Streaming-Aufnahme von Amazon Redshift ist es nicht mehr erforderlich, Daten in Amazon S3 bereitzustellen, bevor sie in Amazon Redshift aufgenommen werden.

 Die Streaming-Aufnahme von Amazon Redshift ermöglicht die Aufnahme von Stream- oder Thema-Daten mit geringer Latenz und hoher Geschwindigkeit in einer materialisierten Ansicht von Amazon Redshift. Nach der Einrichtung können Sie mithilfe einer Aktualisierung der materialisierten Ansicht große Datenmengen erfassen. 

Sie müssen über eine Apache-Kafka-Quelle verfügen, bevor Sie die Streaming-Aufnahme von Amazon Redshift konfigurieren können. Wenn Sie keine Quelle haben, erstellen Sie eine Quelle mit den folgenden Anweisungen:
+ **Amazon MSK** – [Erste Schritte mit Amazon MSK](https://docs.aws.amazon.com/msk/latest/developerguide/getting-started.html)
+ **Apache Kafka** – [Apache Kafka – Schnellstart](https://kafka.apache.org/quickstart)
+ **Confluent Cloud** – [Schnellstart für Confluent Cloud](https://docs.confluent.io/cloud/current/get-started/index.html)

## Einrichten der Streaming-Aufnahme von Kafka aus
<a name="materialized-view-streaming-ingestion-getting-started-MSK-setup"></a>

Gehen Sie wie folgt vor, um die Streaming-Aufnahme von Amazon MSK- oder Apache Kafka-Quellen, die nicht AWS verwaltet werden (Apache Kafka und Confluent Cloud), zu Amazon Redshift einzurichten.

**Topics**
+ [Einrichten der Authentifizierung](#materialized-view-streaming-ingestion-getting-started-MSK-setup-auth)
+ [Einrichten Ihrer VPC](#materialized-view-streaming-ingestion-getting-started-MSK-Setup-VPC)
+ [Erstellen einer materialisierten Ansicht](#materialized-view-streaming-ingestion-getting-started-MSK-setup-materialized-view)

### Einrichten der Authentifizierung
<a name="materialized-view-streaming-ingestion-getting-started-MSK-setup-auth"></a>

In diesem Abschnitt wird die Einrichtung der Authentifizierung beschrieben, damit Ihre Amazon-Redshift-Anwendung auf eine Amazon-MSK-Quelle zugreifen kann. 

Nachdem Sie die Rolle Ihrer Anwendung erstellt haben, fügen Sie eine der folgenden Richtlinien hinzu, um den Zugriff auf Ihren Amazon-MSK-, Apache-Kafka- oder Confluent-Cloud-Cluster zu ermöglichen. Für die mTLS-Authentifizierung können Sie die Zertifikate, die Amazon Redshift verwendet, in ACM oder Secrets Manager speichern. Sie müssen also die Richtlinie auswählen, die dem Speicherort des Zertifikats entspricht. 

Beachten Sie, dass selbstsignierte Zertifikate für die Authentifizierung oder Daten während der Übertragung nicht unterstützt werden, wenn Sie die direkte Streaming-Erfassung in Amazon Redshift mit einer unterstützten Streaming-Quelle für Apache Kafka verwenden. Dazu gehören Amazon MSK, Apache Kafka und Confluent Cloud. Erwägen Sie die Verwendung von Zertifikaten, die von oder einer anderen öffentlich vertrauenswürdigen Zertifizierungsstelle generiert wurden. AWS Certificate Manager 

Die IAM-Authentifizierung von Amazon Redshift mit MSK wird nur für Kafka-Version 2.7.1 oder höher unterstützt.

**AUTHENTICATION IAM (nur Amazon MSK):**

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MSKIAMpolicy",
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:ReadData",
                "kafka-cluster:DescribeTopic",
                "kafka-cluster:Connect"
            ],
            "Resource": [
                "arn:aws:kafka:*:111122223333:cluster/MyTestCluster/*",
                "arn:aws:kafka:*:111122223333:topic/MyTestCluster/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:AlterGroup",
                "kafka-cluster:DescribeGroup"
            ],
            "Resource": [
                "arn:aws:kafka:*:111122223333:group/MyTestCluster/*"
            ]
        }
    ]
}
```

------

**AUTHENTIFIZIERUNG MTLS: Verwendung eines Zertifikats, das in gespeichert ist AWS Certificate Manager**

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MSKmTLSACMpolicy",
            "Effect": "Allow",
            "Action": [
                "acm:ExportCertificate" 
            ],
            "Resource": [
                "arn:aws:acm:us-east-1:444455556666:certificate/certificate_ID"
            ]
        }
    ]
}
```

------

**AUTHENTIFIZIERUNG MTLS: Verwendung eines Zertifikats, das gespeichert ist in AWS Secrets Manager**

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MSKmTLSSecretsManagerpolicy",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue" 
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:444455556666:secret:secret_ID"
            ]
        }
    ]
}
```

------

------
#### [ Amazon MSK ]

Wenn Sie AUTHENTICATION NONE verwenden, um eine Verbindung zu einer Amazon-MSK-Quelle herzustellen, ist keine IAM-Rolle erforderlich. Wenn Sie jedoch AUTHENTICATION IAM oder MTLS verwenden, um sich bei Ihrem Amazon-MSK-Cluster zu authentifizieren, muss Ihrem Amazon-Redshift-Cluster oder Namespace in Amazon Redshift Serverless eine IAM-Rolle mit entsprechenden Berechtigungen angefügt sein. Erstellen Sie eine IAM-Rolle mit einer Vertrauensrichtlinie, die es Ihrem Amazon-Redshift-Cluster oder Namespace von Amazon Redshift Serverless ermöglicht, die Rolle anzunehmen. Nachdem Sie die Rolle erstellt haben, fügen Sie eine der folgenden Berechtigungen hinzu, um IAM oder MTLS zu unterstützen. Für die mTLS-Authentifizierung können die von Amazon Redshift verwendeten Zertifikate in AWS Certificate Manager oder gespeichert werden. Sie müssen also die Richtlinie auswählen AWS Secrets Manager, die dem Speicherort des Zertifikats entspricht. Sie können einen von Amazon Redshift bereitgestellten Cluster oder einen Redshift-Serverless-Namespace als Ziel auswählen. Informationen zur Konfiguration der Vertrauensrichtlinie für die IAM-Rolle finden Sie unter [Autorisieren von Amazon Redshift für den Zugriff auf andere AWS Dienste](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html) in Ihrem Namen. 

Die folgende Tabelle enthält kostenlose Konfigurationsoptionen, die für die Streaming-Erfassung von Amazon MSK festgelegt werden können:


| Amazon-Redshift-Konfiguration | Amazon-MSK-Konfiguration | Port zum Öffnen zwischen Redshift und Amazon MSK | 
| --- | --- | --- | 
|  AUTHENTICATION NONE  |  TLS-Transport deaktiviert  | 9092 | 
|  AUTHENTICATION NONE  |  TLS-Transport aktiviert  | 9094 | 
|  AUTHENTICATION IAM  |  IAM  | 9098/9198 | 
|  AUTHENTICATION MTLS  |  TLS-Transport aktiviert  | 9094 | 

Die Amazon-Redshift-Authentifizierung wird in der Anweisung CREATE EXTERNAL SCHEMA festgelegt.

**Anmerkung**  
Im Fall, dass der Amazon-MSK-Cluster über aktivierte Mutual Transport Layer Security (mTLS)-Authentifizierung verfügt, wird Amazon Redshift durch die Konfiguration von AUTHENTICATION NONE angewiesen, Port 9094 für nicht authentifizierten Zugriff zu verwenden. Da der Port jedoch für die mTLS-Authentifizierung verwendet wird, schlägt dies fehl. Daher empfehlen wir, bei Verwendung von mTLS zu AUTHENTICATION MTLS zu wechseln.

------
#### [ Apache Kafka or Confluent Cloud ]

Für Apache Kafka und Confluent Cloud unterstützt Amazon Redshift die folgenden Verbindungsprotokolle:
+ Sie können mTLS oder Klartext mit TLS-Transport für die Authentifizierung verwenden, wenn Sie eine Verbindung zu Apache Kafka herstellen.
+ Sie können mTLS nur für die Authentifizierung verwenden, wenn Sie eine Verbindung zu Confluent Cloud herstellen.

Amazon Redshift unterstützt die folgenden Verschlüsselungsprotokolle für die Verbindung mit Apache Kafka oder Confluent Cloud:

**Unterstützte Authentifizierungsmethoden für Apache Kafka und Confluent Cloud**


| Amazon Redshift | Kafka-Sicherheitsprotokoll | Unterstützung für Apache Kafka | Unterstützung für Confluent Cloud | 
| --- | --- | --- | --- | 
| AUTHENTICATION NONE | PLAINTEXT | Nein | Nein | 
| AUTHENTICATION NONE | SSL | Ja | Nein | 
| AUTHENTICATION IAM | SASL\$1SSL | Nein | Nein | 
| AUTHENTICATION MTLS | SSL | Ja (mit Zertifikat) | Ja (mit Zertifikat) | 

Beachten Sie, dass Amazon Redshift SASL/PLAINTEXT nicht unterstützt SASL/SCRAM .

------

### Einrichten Ihrer VPC
<a name="materialized-view-streaming-ingestion-getting-started-MSK-Setup-VPC"></a>

Überprüfen Sie nach der Erstellung Ihrer Authentifizierungsressourcen Ihre VPC und stellen Sie sicher, dass Ihr Amazon-Redshift-Cluster oder Ihre Arbeitsgruppe von Amazon Redshift Serverless über eine Route zu Ihrer Apache-Kafka-Quelle verfügt. 

**Anmerkung**  
Die Sicherheitsgruppenregeln für eingehenden Datenverkehr Ihres Amazon-MSK-Clusters sollten die Sicherheitsgruppe Ihres Amazon-Redshift-Clusters oder Ihrer Arbeitsgruppe in Redshift Serverless zulassen. Welche Ports Sie angeben, hängt von der Authentifizierungsmethode ab, die auf Ihrem Amazon-MSK-Cluster konfiguriert ist. Weitere Informationen finden Sie unter [Portinformationen](https://docs.aws.amazon.com/msk/latest/developerguide/port-info.html) und [Zugriff von innerhalb und AWS außerhalb der VPC](https://docs.aws.amazon.com/msk/latest/developerguide/aws-access.html).

Aktivieren Sie erweitertes VPC Routing für Ihren Amazon-Redshift-Cluster oder Ihre Arbeitsgruppe von Amazon Redshift Serverless. Weitere Informationen finden Sie unter [Aktivieren von Enhanced VPC Routing](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-enabling-cluster.html).

### Erstellen einer materialisierten Ansicht
<a name="materialized-view-streaming-ingestion-getting-started-MSK-setup-materialized-view"></a>

In diesem Abschnitt richten Sie die materialisierte Ansicht ein, die Amazon Redshift für den Zugriff auf Ihre Apache Kafka-Streaming-Daten verwendet.

Wenn Sie einen Apache-Cluster zur Verfügung haben, besteht der erste Schritt darin, mit `CREATE EXTERNAL SCHEMA` ein Schema in Redshift zu definieren und auf das Kafka-Thema als Datenquelle zu verweisen. Um auf Daten in dem Thema zuzugreifen, definieren Sie anschließend den `STREAM` in einer materialisierten Ansicht. Sie können Datensätze aus Ihrem Thema mit dem Standard-Datentyp VARBYTE von Amazon Redshift speichern oder ein Schema definieren, das die Daten in das halbstrukturierte `SUPER`-Format konvertiert. Wenn Sie die materialisierte Ansicht abfragen, sind die zurückgegebenen Datensätze eine point-in-time Ansicht des Themas.

1. Erstellen Sie ein externes Schema in Amazon Redshift, das dem Amazon-MSK-Cluster zugeordnet werden soll. Die Syntax ist die folgende:

   ```
   CREATE EXTERNAL SCHEMA MySchema
   FROM KAFKA
   [ IAM_ROLE [ default | 'iam-role-arn' ] ]
   AUTHENTICATION [ none | iam | mtls ]
   {AUTHENTICATION_ARN 'acm-certificate-arn' |  SECRET_ARN 'asm-secret-arn'};
   ```

   In der `FROM`-Klausel gibt `KAFKA` an, dass das Schema Daten aus einer Apache Kafka-Quelle zuordnet. 

    `AUTHENTICATION` bezeichnet den für die Streaming-Aufnahme definierten Authentifizierungstyp. Es sind drei Typen verfügbar: 
   + **none**: Gibt an, dass keine Authentifizierung erforderlich ist. Dies entspricht einem nicht authentifizierten Zugriff auf MSK. Dies entspricht der SSL-Authentifizierung in Apache Kafka. Diese Authentifizierungsmethode wird für Confluent Cloud nicht unterstützt.
   + **iam**: Gibt an, dass eine IAM-Authentifizierung erfolgt. Sie können die IAM-Authentifizierung nur mit Amazon MSK verwenden. Stellen Sie bei Auswahl dieser Option sicher, dass die IAM-Rolle über Berechtigungen für die IAM-Authentifizierung verfügt. Weitere Informationen über die Einrichtung der erforderlichen IAM-Richtlinien finden Sie unter [Einrichten der Streaming-Aufnahme von Kafka aus](#materialized-view-streaming-ingestion-getting-started-MSK-setup).
   + **mtls** – Gibt an, dass Mutual Transport Layer Security die sichere Kommunikation durch Authentifizierung zwischen einem Client und einem Server ermöglicht. In diesem Fall ist der Client Redshift und der Server ist Apache Kafka. Weitere Informationen zum Konfigurieren der Streaming-Erfassung mit mTLS finden Sie unter [Authentifizierung mit mTLS für Redshift-Streaming-Aufnahme aus Apache Kafka-Quellen](materialized-view-streaming-ingestion-mtls.md).

   Beachten Sie, dass die Amazon-MSK-Authentifizierung mit Benutzername und Passwort nicht für die Streaming-Erfassung unterstützt wird. 

   Der Parameter `AUTHENTICATION_ARN` gibt den ARN des ACM-Zertifikats für Mutual Transport Layer Security (mTLS) an, mit dem Sie eine verschlüsselte Verbindung herstellen.

   Der `SECRET_ARN` Parameter gibt den ARN des AWS Secrets Manager Geheimnisses an, das das Zertifikat enthält, das von Amazon Redshift für mTLS verwendet werden soll.

   In den folgenden Beispielen wird gezeigt, wie Sie die Broker-URI für den Amazon-MSK-Cluster festlegen, wenn Sie das externe Schema erstellen:

   **Verwendung der IAM-Authentifizierung:**

   ```
   CREATE EXTERNAL SCHEMA my_schema
   FROM KAFKA
   IAM_ROLE 'arn:aws:iam::012345678901:role/my_role'
   AUTHENTICATION IAM
   URI 'b-1.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9098,b-2.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9098'
   ```

   **Ohne Authentifizierung:**

   ```
   CREATE EXTERNAL SCHEMA my_schema
   FROM KAFKA 
   AUTHENTICATION none
   URI 'b-1.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9092,b-2.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9092'
   ```

   **Verwenden von mTLS:**

   ```
   CREATE EXTERNAL SCHEMA my_schema
   FROM KAFKA
   IAM_ROLE 'arn:aws:iam::012345678901:role/my_role'
   AUTHENTICATION MTLS
   URI 'b-1.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094,b- 2.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094'
   {AUTHENTICATION_ARN 'acm-certificate-arn' |  SECRET_ARN 'asm-secret-arn'}
   ```

   Weitere Informationen zum Erstellen eines externen Schemas finden Sie unter [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html).

1. Erstellen Sie eine materialisierte Ansicht, um die Daten aus dem Thema zu konsumieren. Verwenden Sie einen SQL-Befehl wie im folgenden Beispiel.

   ```
   CREATE MATERIALIZED VIEW MyView AUTO REFRESH YES AS
   SELECT *
   FROM MySchema."mytopic";
   ```

   Bei den Namen von Kafka-Themen wird die Groß- und Kleinschreibung beachtet. Die Namen können sowohl Groß- als auch Kleinbuchstaben enthalten. Wenn Sie die Aufnahme aus Themen mit Namen in Großbuchstaben durchführen möchten, können Sie die Konfiguration `enable_case_sensitive_identifier` auf Sitzungs- oder Datenbankebene auf `true` setzen. Weitere Informationen finden Sie unter [Namen und Kennungen](https://docs.aws.amazon.com/redshift/latest/dg/r_names.html) und [enable\$1case\$1sensitive\$1identifier](https://docs.aws.amazon.com/redshift/latest/dg/r_enable_case_sensitive_identifier.html).

   Um die automatische Aktualisierung zu aktivieren, verwenden Sie `AUTO REFRESH YES`. Standardmäßig wird die manuelle Aktualisierung verwendet. 

1. Die Metadatenspalten umfassen folgende Spalten:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started-MSK.html)

   Wichtig: Wenn die Definition Ihrer materialisierten Ansicht Geschäftslogik enthält, die zu Geschäftslogikfehlern führt, kann dies in einigen Fällen zum Fehlschlag der Streaming-Aufnahme führen. Dies kann dazu führen, dass Sie die materialisierte Ansicht entfernen und neu erstellen müssen. Um dies zu vermeiden, empfehlen wir Ihnen, Ihre Geschäftslogik einfach zu halten und zusätzliche Logik für die Daten erst auszuführen, nachdem diese aufgenommen wurden.

1. Aktualisieren Sie die Ansicht. Dadurch wird Amazon Redshift aufgerufen, um Daten aus dem Thema zu lesen und Daten in die materialisierte Ansicht zu laden.

   ```
   REFRESH MATERIALIZED VIEW MyView;
   ```

1. Fragen Sie Daten in der materialisierten Ansicht ab.

   ```
   select * from MyView;
   ```

   Die materialisierte Ansicht wird direkt vom Thema aus aktualisiert, wenn `REFRESH` ausgeführt wird. Sie erstellen eine materialisierte Ansicht, die der Kafka-Themendatenquelle zugeordnet ist. Sie können für die Daten als Teil der Definition der materialisierten Ansicht Filter anwenden und Aggregationen durchführen. Ihre materialisierte Ansicht der Streaming-Erfassung (die materialisierte Basisansicht) kann nur auf ein Kafka-Thema verweisen, Sie können jedoch zusätzliche materialisierte Ansichten erstellen, die mit der materialisierten Basisansicht und anderen materialisierten Ansichten oder Tabellen verknüpft werden.

Weitere Informationen zu Einschränkungen bei der Streaming-Erfassung finden Sie unter [Verhalten und Datentypen bei der Streaming-Aufnahme](materialized-view-streaming-ingestion.md#materialized-view-streaming-ingestion-limitations).