

 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-Erfassung aus Amazon Kinesis Data Streams
<a name="materialized-view-streaming-ingestion-getting-started"></a>

In diesem Thema wird beschrieben, wie Streaming-Daten aus Kinesis Data Streams mithilfe einer materialisierten Ansicht verwendet werden.

 Das Einrichten der Streaming-Erfassung von Amazon Redshift beinhaltet das Erstellen eines externen Schemas, das der Streaming-Datenquelle zugeordnet ist, und das Erstellen einer materialisierten Ansicht, die auf das externe Schema verweist. Die Streaming-Erfassung von Amazon Redshift unterstützt Kinesis Data Streams als Quelle. Daher benötigen Sie eine Kinesis-Data-Streams-Quelle, bevor Sie die Streaming-Erfassung konfigurieren. Wenn Sie keine Quelle haben, befolgen Sie die Anweisungen in der Kinesis-Dokumentation unter [Erste Schritte mit Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/getting-started.html) oder erstellen Sie eine in der Konsole unter Beachtung der Anweisungen unter [Erstellen eines Streams über die AWS -Managementkonsole](https://docs.aws.amazon.com/streams/latest/dev/how-do-i-create-a-stream.html).

 Die Streaming-Erfassung von Amazon Redshift verwendet eine materialisierte Ansicht, die direkt aus dem Stream aktualisiert wird, wenn `REFRESH` ausgeführt wird. Die materialisierte Ansicht wird der Stream-Datenquelle zugeordnet. Sie können für die Stream-Daten als Teil der materialisierten View-Definition Filter anwenden und Aggregationen durchführen. Ihre materialisierte Ansicht der Streaming-Erfassung (die materialisierte *Basisansicht*) kann nur auf einen Stream verweisen, aber Sie können zusätzliche materialisierte Ansichten erstellen, die mit der materialisierten Basisansicht und anderen materialisierten Ansichten oder Tabellen verknüpft sind. 

**Anmerkung**  
*Streaming-Erfassung und Amazon Redshift Serverless* – Die Konfigurationsschritte in diesem Thema gelten für bereitgestellte Amazon-Redshift-Cluster und Amazon Redshift Serverless. Weitere Informationen finden Sie unter [Verhalten und Datentypen bei der Streaming-Aufnahme](materialized-view-streaming-ingestion.md#materialized-view-streaming-ingestion-limitations).

Angenommen, Sie haben einen Kinesis Data Streams-Stream. Dann besteht der erste Schritt darin, ein Schema in Amazon Redshift mit `CREATE EXTERNAL SCHEMA` zu definieren und auf eine Kinesis Data Streams-Ressource zu verweisen. Um auf Daten im Stream zuzugreifen, definieren Sie anschließend den `STREAM` in einer materialisierten Ansicht. Sie können Stream-Datensätze im halbstrukturierten `SUPER`-Format speichern oder ein Schema definieren, das dazu führt, dass Daten in Amazon Redshift-Datentypen konvertiert werden. Wenn Sie die materialisierte Ansicht abfragen, sind die zurückgegebenen Datensätze eine point-in-time Ansicht des Streams. 

1. Erstellen Sie eine IAM-Rolle mit einer Vertrauensrichtlinie, die es Ihrem Amazon Redshift-Cluster oder Ihrer Amazon-Redshift-Serverless-Arbeitsgruppe ermöglicht, die Rolle anzunehmen. 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. Nach der Erstellung sollte die Rolle über die folgende IAM-Richtlinie verfügen, die sie zur Kommunikation mit dem Amazon Kinesis-Datenstrom berechtigt. 

   **IAM-Richtlinie für einen nicht verschlüsselten Stream von Kinesis-Daten-Streams**

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ReadStream",
               "Effect": "Allow",
               "Action": [
                   "kinesis:DescribeStreamSummary",
                   "kinesis:GetShardIterator",
                   "kinesis:GetRecords",
                   "kinesis:ListShards",
                   "kinesis:DescribeStream"
               ],
               "Resource": "arn:aws:kinesis:*:{{111122223333}}:stream/*"
           },
           {
               "Sid": "ListStream",
               "Effect": "Allow",
               "Action": "kinesis:ListStreams",
               "Resource": "*"
           }
       ]
   }
   ```

------

   **IAM-Richtlinie für einen verschlüsselten Stream von Kinesis-Daten-Streams**

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "ReadStream",
               "Effect": "Allow",
               "Action": [
                   "kinesis:DescribeStreamSummary",
                   "kinesis:GetShardIterator",
                   "kinesis:GetRecords",
                   "kinesis:ListShards",
                   "kinesis:DescribeStream"
               ],
               "Resource": "arn:aws:kinesis:*:{{111122223333}}:stream/*"
           },
           {
               "Sid": "DecryptStream",
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:{{111122223333}}:key/1234abcd-12ab-34cd-56ef-1234567890ab"
           },
           {
               "Sid": "ListStream",
               "Effect": "Allow",
               "Action": "kinesis:ListStreams",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Überprüfen Sie Ihre VPC und stellen Sie sicher, dass Ihr Amazon-Redshift-Cluster oder Amazon Redshift Serverless über eine Route verfügt, um über das Internet unter Verwendung eines NAT-Gateways oder Internet-Gateways zu den Kinesis-Data-Streams-Endpunkten zu gelangen. Wenn Sie möchten, dass der Datenverkehr zwischen Redshift und Kinesis Data Streams im AWS Netzwerk verbleibt, sollten Sie die Verwendung eines Kinesis Interface VPC-Endpoints in Betracht ziehen. Weitere Informationen finden Sie unter [Verwenden von Amazon Kinesis Data Streams mit Schnittstellen-VPC-Endpunkten](https://docs.aws.amazon.com/streams/latest/dev/vpc.html).

1. Erstellen Sie in Amazon Redshift ein externes Schema, um die Daten aus Kinesis einem Schema zuzuordnen.

   ```
   CREATE EXTERNAL SCHEMA kds
   FROM KINESIS
   IAM_ROLE { default | 'iam-role-arn' };
   ```

    Die Streaming-Erfassung für Kinesis Data Streams erfordert keinen Authentifizierungstyp. Für Kinesis-Data-Streams-Anforderungen wird die in der Anweisung `CREATE EXTERNAL SCHEMA` definierte IAM-Rolle verwendet. 

    Optional: Verwenden Sie das Schlüsselwort REGION, um die Region anzugeben, in der sich der Amazon Kinesis Data Streams oder der Amazon MSK-Stream befindet. 

   ```
   CREATE EXTERNAL SCHEMA kds
   FROM KINESIS
   REGION 'us-west-2'
   IAM_ROLE { default | 'iam-role-arn' };
   ```

   In diesem Beispiel gibt die Region den Speicherort des Quellstreams an. IAM\_ROLE ist ein Beispiel.

1. Erstellen Sie eine materialisierte Ansicht, um die Stream-Daten zu konsumieren. Wenn ein Datensatz bei einer Anweisung wie der folgenden nicht analysiert werden kann, führt dies zu einem Fehler. Verwenden Sie einen Befehl wie diesen, wenn Sie nicht möchten, dass fehlerhafte Datensätze übersprungen werden.

   ```
   CREATE MATERIALIZED VIEW my_view AUTO REFRESH YES AS
   SELECT *
   FROM kds.my_stream_name;
   ```

   Bei den Namen von Kinesis-Streams wird die Groß- und Kleinschreibung beachtet. Die Namen können sowohl Groß- als auch Kleinbuchstaben enthalten. Wenn Sie aus Streams mit Namen in Großbuchstaben importieren möchten, können Sie die Konfiguration `enable_case_sensitive_identifier` auf 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\_case\_sensitive\_identifier](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. Beachten Sie, dass bei der Verwendung von CAN\_JSON\_PARSE Datensätze, die nicht analysiert werden können, möglicherweise übersprungen werden.

   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.html)

   Wenn die Definition Ihrer materialisierten Ansicht Geschäftslogik enthält, sollten Sie beachten, dass Analysefehler in einigen Fällen dazu führen können, dass die Streaming-Erfassung blockiert wird. Dies kann dazu führen, dass Sie die materialisierte Ansicht entfernen und neu erstellen müssen. Um dies zu vermeiden, empfehlen wir, Ihre Analyselogik so einfach wie möglich zu halten und die meisten Ihrer Geschäftslogik-Prüfungen an den Daten nach der Erfassung durchzuführen.

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

   ```
   REFRESH MATERIALIZED VIEW my_view;
   ```

1. Fragen Sie Daten in der materialisierten Ansicht ab.

   ```
   select * from my_view;
   ```