Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
Erste Schritte mit der Verwendung von Verbundabfragen an PostgreSQL mit AWS CloudFormation
Sie können Verbundabfragen verwenden, um über im Betrieb befindliche Datenbanken hinweg abzufragen. In dieser Anleitung zu den ersten Schritten können Sie die Einrichtung mithilfe eines AWS CloudFormation-Beispiel-Stacks automatisieren, um eine Verbundabfrage von einem Amazon-Redshift-Cluster zu einer serverless Aurora-PostgreSQL-Datenbank zu aktivieren. Sie können schnell loslegen, ohne zur Ressourcenbereitstellung SQL-Anweisungen ausführen zu müssen.
Der Stack erstellt ein externes Schema, das auf Ihre Aurora-PostgreSQL-Instance verweist, die Tabellen mit Beispieldaten enthält. Sie können Tabellen im externen Schema von Ihrem Redshift-Cluster abfragen.
Wenn Sie stattdessen durch die Ausführung von SQL-Anweisungen mit Verbundabfragen beginnen möchten, um ein externes Schema ohne die Verwendung von CloudFormation einzurichten, finden Sie unter weitere Informationen Erste Schritte mit der Verwendung von Verbundabfragen an PostgreSQL.
Bevor Sie den CloudFormation-Stack für Verbundabfragen ausführen, stellen Sie sicher, dass Sie eine mit Amazon Aurora PostgreSQL kompatible Edition als Serverless-Datenbank haben, bei der die Daten-API aktiviert ist. Sie können die Daten-API in den Datenbankeigenschaften aktivieren. Wenn Sie die Einstellung nicht finden können, überprüfen Sie, ob Sie eine Serverless-Instance von Aurora PostgreSQL ausführen. Stellen Sie außerdem sicher, dass Sie über einen Amazon-Redshift-Cluster verfügen, der RA3-Knoten verwendet. Wir empfehlen, dass sich Ihr Redshift-Cluster und die Serverless-Aurora-PostgreSQL-Instance in derselben Virtual Private Cloud (VPC) und Subnetzgruppe befinden. Auf diese Weise können Sie die Sicherheitsgruppe für den Amazon-Redshift-Cluster zu den eingehenden Regeln der Sicherheitsgruppe für Ihre Aurora-PostgreSQL-DB-Instance hinzufügen.
Weitere Informationen zu den ersten Schritten zum Einrichten eines Amazon-Redshift-Clusters finden Sie unter Erste Schritte mit von Amazon Redshift bereitgestellten Data Warehouses. Weitere Informationen zum Einrichten von Ressourcen mit CloudFormation erhalten Sie unter Was ist AWS CloudFormation?. Weitere Informationen zum Einrichten einer Aurora-DB-Clusterdatenbank finden Sie unter Erstellen eines DB-Clusters in Aurora Serverless v1.
Starten eines CloudFormation-Stacks für Redshift-Verbundabfragen
Gehen Sie wie folgt vor, um Ihren CloudFormation-Stack für Amazon Redshift für die Aktivierung von Verbundabfragen zu starten. Stellen Sie zuvor sicher, dass Sie Ihren Amazon-Redshift-Cluster und Ihre Serverless-Aurora-PostgreSQL-Instance eingerichtet haben.
So starten Sie Ihren CloudFormation-Stack für Verbundabfragen
Klicken Sie hier auf Launch CFN stack
(CFN-Stack starten), um den CloudFormation-Dienst in der AWS-Managementkonsole zu starten. Melden Sie sich an, wenn Sie dazu aufgefordert werden.
Der Stack-Erstellungsprozess beginnt und verweist auf eine in Amazon S3 gespeicherte CloudFormation-Vorlagendatei. Eine CloudFormation-Vorlage ist eine Textdatei im JSON-Format, die AWS-Ressourcen, deklariert, die einen Stack bilden.
Klicken Sie auf Next (Weiter) und geben Sie die Stack-Details ein.
-
Geben Sie unter Parameters (Parameter) für den Cluster Folgendes ein:
-
Den Namen des Amazon-Redshift-Clusters, zum Beispiel
ra3-consumer-cluster -
Einen bestimmten Datenbanknamen, zum Beispiel
dev -
Den Namen eines Datenbankbenutzers, zum Beispiel
consumeruser
Geben Sie auch die Parameter für die Aurora-DB-Clusterdatenbank ein, einschließlich Benutzer, Datenbankname, Port und Endpunkt. Wir empfehlen, einen Testcluster und eine Serverless-Testdatenbank zu verwenden, da der Stack mehrere Datenbankobjekte erstellt.
Wählen Sie Next (Weiter).
Die Stack-Optionen werden angezeigt.
-
Klicken Sie auf Next (Weiter), um die Standardeinstellungen zu übernehmen.
Wählen Sie unter Funktionen Folgendes aus: Ich nehme zur Kenntnis, dass AWS CloudFormation IAM-Ressourcen erstellen könnte.
Wählen Sie Create stack (Stack erstellen) aus.
Wählen Sie Create stack (Stack erstellen) aus. CloudFormation stellt die Vorlagenressourcen bereit, was etwa 10 Minuten dauert, und erstellt ein externes Schema.
Falls während der Erstellung des Stacks ein Fehler auftritt, unternehmen Sie folgende Schritte:
Rufen Sie die Registerkarte Events (Ereignisse) von CloudFormation auf, um hilfreiche Informationen zur Fehlerbehebung zu erhalten.
Stellen Sie sicher, dass Sie den richtigen Namen, Datenbanknamen und den Datenbankbenutzernamen für den Redshift-Cluster eingegeben haben. Überprüfen Sie auch die Parameter für die Aurora-PostgreSQL-Instance.
Stellen Sie sicher, dass Ihr Cluster RA3-Knoten hat.
Stellen Sie sicher, dass sich Ihre Datenbank und der Redshift-Cluster im selben Subnetz und in derselben Sicherheitsgruppe befinden.
Abfragen von Daten aus dem externen Schema
Stellen Sie für den folgenden Vorgang sicher, dass Sie die erforderlichen Berechtigungen zum Ausführen von Abfragen im Cluster und der beschriebenen Datenbank besitzen.
So fragen Sie eine externe Datenbank mit Verbundabfrage ab
Stellen Sie mit einem Client-Tool wie dem Redshift-Abfrage-Editor eine Verbindung zur Redshift-Datenbank her, die Sie beim Erstellen des Stacks eingegeben haben.
Fragen Sie nach dem vom Stack erstellten externen Schema ab.
select * from svv_external_schemas;In der Ansicht SVV_EXTERNAL_SCHEMAS werden Informationen über verfügbare externe Schemas zurückgegeben. In diesem Fall wird das vom Stack erstellte externe Schema zurückgegeben,
myfederated_schema. Möglicherweise werden auch andere externe Schemas zurückgegeben, wenn Sie diese eingerichtet haben. In der Ansicht wird auch die zugeordnete Datenbank des Schemas zurückgegeben. Die Datenbank ist die Aurora-DB-Clusterdatenbank, die Sie beim Erstellen des Stacks eingegeben haben. Der Stack fügt der Aurora-DB-Clusterdatenbank eine Tabelle namenscategoryund eine weitere Tabelle namenssaleshinzu.-
Führen Sie SQL-Abfragen für Tabellen im externen Schema aus, das auf Ihre Aurora PostgreSQL-Datenbank verweist. Das folgende Beispiel zeigt eine Abfrage.
SELECT count(*) FROM myfederated_schema.category;Die Tabelle
categorygibt mehrere Datensätze zurück. Sie können auch Datensätze aus der Tabellesaleszurückgeben.SELECT count(*) FROM myfederated_schema.sales;Weitere Beispiele finden Sie unter Beispiele für die Verwendung einer Verbundabfrage.