Abfragen für Datenbanken mit dem Abfrage-Editor - Amazon Redshift

Abfragen für Datenbanken mit dem Abfrage-Editor

Die Verwendung des Abfrage-Editors ist ein einfacher Weg, Abfragen für Datenbanken auszuführen, die von Ihrem Amazon-Redshift-Cluster gehostet werden. Nachdem Sie Ihren Cluster erstellt haben, können Sie mit dem Abfrage-Editor in der Amazon-Redshift-Konsole sofort Abfragen ausführen.

Im Februar 2021 wurde ein aktualisierter Abfrage-Editor bereitgestellt und die Autorisierungsberechtigungen zur Verwendung des Abfrage-Editors wurden geändert. Der neue Abfrage-Editor verwendet die Amazon Redshift Data API, um Abfragen auszuführen. DieAmazonRedshiftQueryEditor-Richtlinie, eine von AWS verwaltete AWS Identity and Access Management (IAM)-Richtlinie, wurde aktualisiert, um die erforderlichen Berechtigungen einzuschließen. Wenn Sie über eine benutzerdefinierte IAM-Richtlinie verfügen, müssen Sie diese aktualisieren. Verwenden Sie AmazonRedshiftQueryEditor als Leitfaden. Die Änderungen an AmazonRedshiftQueryEditor umfassen unter anderem:

  • Die Berechtigung zum Verwalten der Abfrage-Editor-Anweisungsergebnisse erfordert den Benutzer „Anweisungsinhaber“.

  • Die Berechtigung zur Verwendung von Secrets Manager zum Verbinden mit einer Datenbank wurde hinzugefügt.

Weitere Informationen finden Sie unter Erforderliche Berechtigungen zur Verwendung des Abfrage-Editors der Amazon-Redshift-Konsole.

Wenn Sie über den neuen Abfrage-Editor eine Verbindung mit Ihrem Cluster herstellen, können Sie eine von zwei Authentifizierungsmethoden verwenden, wie unter Verbinden mit dem Abfrage-Editor beschrieben.

Der alte Abfrage-Editor ist für eine begrenzte Zeit in der Amazon-Redshift-Konsole verfügbar. Sie können ihn auf der Konsolenseite des Abfrage-Editors einstellen und wieder zurückwechseln. Verwenden Sie Ihre vorhandenen Berechtigungen mit dem alten Abfrage-Editor. Weitere Informationen finden Sie unter Verbinden mit dem alten Abfrage-Editor.

Mit dem Abfrageeditor können Sie Folgendes tun:

  • Sie können einzelne SQL-Abfrageanweisungen ausführen.

  • Sie können eine bis zu 100 MB große CSV-Datei (Datei mit durch Kommas getrennten Werten) mit Ergebnismengen herunterladen.

  • Sie können Abfragen zur weiteren Verwendung speichern. Sie können Abfragen in der Region Europa (Paris), der Region Asien-Pazifik (Osaka), der Region Asien-Pazifik (Hongkong) und der Region Naher Osten (Bahrain) nicht speichern.

  • Sie können Abfragelaufzeitdetails für benutzerdefinierte Tabellen anzeigen.

  • Planen Sie Abfragen zur Ausführung zu einem späteren Zeitpunkt.

  • Zeigen Sie einen Verlauf von Abfragen an, die Sie im Abfrage-Editor erstellt haben.

  • Führen Sie Abfragen für Cluster mit verbessertem VPC-Routing aus.

Überlegungen zum Abfrage-Editor

Beachten Sie Folgendes bei der Arbeit mit Abfragen, wenn Sie den Abfrage-Editor verwenden:

  • Die maximale Dauer einer Abfrage beträgt 24 Stunden.

  • Die maximale Abfrageergebnisgröße beträgt 100 MB. Wenn ein Aufruf mehr als 100 MB an Antwortdaten zurückgibt, wird der Aufruf beendet.

  • Die maximale Aufbewahrungszeit für Abfrageergebnisse beträgt 24 Stunden.

  • Die maximale Größe von Abfrageanweisungen beträgt 100 KB.

  • Der Cluster muss sich in einer auf dem Amazon-VPC-Service basierenden Virtual Private Cloud (VPC) befinden.

  • Im Abfrageeditor können Sie keine Transaktionen verwenden. Weitere Informationen zu Transaktionen finden Sie unter BEGINNEN im Datenbankentwicklerhandbuch zu Amazon Redshift.

  • Sie können Abfragen mit bis zu 3 000 Zeichen speichern.

Aktivieren des Zugriffs auf den Abfrage-Editor

Um den Abfrageeditor aufzurufen, benötigen Sie eine Berechtigung. Um den Zugriff zu aktivieren, weisen Sie die von AWS verwalteten Richtlinien AmazonRedshiftQueryEditor und AmazonRedshiftReadOnlyAccess für IAM-Berechtigungen dem IAM-Benutzer zu, mit dem Sie auf Ihren Cluster zugreifen. Sie können zum Zuweisen von IAM-Richtlinien die IAM-Konsole (https://console.aws.amazon.com/iam/) verwenden.

Falls Sie bereits einen IAM-Benutzer für den Zugriff auf Amazon Redshift erstellt haben, können Sie die von AWS verwalteten Richtlinien AmazonRedshiftQueryEditor und AmazonRedshiftReadOnlyAccess diesem Benutzer zuweisen. Falls Sie noch keinen IAM-Benutzer erstellt haben, erstellen Sie einen und weisen Sie ihm die Richtlinie zu.

Die von AWS verwaltete Richtlinie AmazonRedshiftQueryEditor erlaubt die Aktion redshift:GetClusterCredentials, die standardmäßig einem Datenbankbenutzer Superuser-Zugriff auf die Datenbank gewährt. Über einen der folgenden Schritte können Sie den Zugriff beschränken:

  • Erstellen Sie eine benutzerdefinierte Richtlinie, die den Aufruf von redshift:GetClusterCredentials erlaubt und die Ressource auf einen bestimmten Wert für DbUser beschränkt.

  • Fügen Sie dem Benutzer eine Richtlinie hinzu, die ihm die Berechtigung für redshift:GetClusterCredentials verweigert und dann erfordert, dass Benutzer des Abfrage-Editors sich mit temporären Anmeldeinformationen anmelden. Beispielsweise könnte eine Ablehnungsrichtlinie etwa wie folgt aussehen.

    { "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "redshift:GetClusterCredentials", "Resource": "*" } }

Weitere Informationen finden Sie unter Erstellen einer IAM-Rolle oder einer Benutzerrolle mit der Berechtigung, „GetClusterCredentials“ aufzurufen.

Wenn Ihnen Zugriff auf den Amazon-Redshift-Abfrage-Editor gewährt wird, indem Sie die von AWS verwaltete Richtlinie AmazonRedshiftQueryEditor zuweisen, können Sie alle Secrets auflisten. Sie können jedoch nur Secrets erstellen und abrufen, die mit dem Schlüssel RedshiftQueryOwner und dem Wert ${aws:userid} markiert sind. Wenn Sie den Schlüssel über den Amazon-Redshift-Abfrage-Editor erstellen, wird der Schlüssel automatisch markiert. Um ein Secret zu verwenden, das nicht mit dem Amazon-Redshift-Abfrage-Editor erstellt wurde, bestätigen Sie, dass das Secret mit dem Schlüssel RedshiftQueryOwner und einem Wert Ihrer eindeutigen IAM-Benutzer-ID markiert ist, z. B. AIDACKCEVSQ6C2EXAMPLE.

So weisen Sie die erforderlichen IAM-Richtlinien für den Abfrageeditor zu:

  1. Melden Sie sich bei der AWS Management Console an, und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie Users (Benutzer).

  3. Wählen Sie den Benutzer aus, der Zugriff auf den Abfrageeditor haben soll.

  4. Wählen Sie Add permissions (Berechtigungen hinzufügen).

  5. Wählen Sie Vorhandene Richtlinien direkt zuordnen.

  6. Wählen Sie als Richtliniennamen AmazonRedshiftQueryEditor und AmazonRedshiftReadOnlyAccess aus.

  7. Wählen Sie Next: Review (Weiter: Prüfen) aus.

  8. Wählen Sie Add permissions (Berechtigungen hinzufügen).

Verbinden mit dem Abfrage-Editor

Wenn Sie sich mit dem Abfrage-Editor mit einem Cluster verbinden, verwenden Sie eine der folgenden Authentifizierungsmethoden. Jede Methode erfordert eine andere Kombination von Eingaben von der Amazon-Redshift-Konsole.

AWS Secrets Manager

Geben Sie bei dieser Methode einen Secret-Wert für secret-arn an, der in AWS Secrets Manager gespeichert ist. Dieses Secret enthält Anmeldeinformationen zum Verbinden mit Ihrer Datenbank.

Temporäre Anmeldeinformationen

Geben Sie mit dieser Methode Ihre database- und db-user-Werte an.

Speichern von Datenbankanmeldeinformationen in AWS Secrets Manager

Wenn Sie den Abfrage-Editor aufrufen, können Sie die Anmeldeinformationen für den Cluster unter Verwendung eines Secrets in AWS Secrets Manager übergeben. Zum Übergeben der Anmeldeinformationen auf diese Weise geben Sie den Namen oder den Amazon-Ressourcennamen (ARN) des Secrets an.

Weitere Informationen zu den Mindestberechtigungen finden Sie unter Erstellen und Verwalten von Secrets mit AWS Secrets Manager im AWS Secrets Manager-Benutzerhandbuch.

So speichern Sie Ihre Anmeldeinformationen in einem Secret für einen Amazon-Redshift-Cluster

  1. Sie können mit AWS Secrets Manager ein Secret erstellen, das Anmeldeinformationen für den Cluster enthält. Wenn Sie Store a new secret (Neues Secret speichern) auswählen, wählen Sie Credentials for Redshift cluster (Anmeldedaten für Redshift-Cluster) aus. Speichern Sie einen Wert für User name (Benutzername) (der Datenbankbenutzer),Password (Passwort) und DB cluster (DB-Cluster) (Cluster-ID) in Ihrem Secret.

    Anweisungen finden Sie unter Erstellen eines Basis-Secrets im AWS Secrets Manager-Benutzerhandbuch.

  2. Sie können die Details des von Ihnen erstellten geheimen Schlüssel über die AWS Secrets Manager-Konsole oder den aws secretsmanager describe-secret-Befehl AWS CLI anzeigen.

Verbinden mit dem alten Abfrage-Editor

Die folgenden Cluster-Knotentypen unterstützen den alten Abfrage-Editor:

  • dc1.8xlarge

  • dc2.large

  • dc2.8xlarge

  • ds2.8xlarge

  • ra3.xlplus

  • ra3.4xlarge

  • ra3.16xlarge

Beachten Sie die folgenden Punkte, wenn Sie den alten Abfrage-Editor in der Amazon-Redshift-Konsole verwenden:

  • Bis zu 50 Benutzer können sich gleichzeitig mit dem Abfrageeditor mit einem Cluster verbinden.

  • Die maximale Anzahl der Benutzer, die sich mit einem Cluster verbinden, schließt diejenigen ein, die sich über den Abfrageeditor verbinden.

  • Es können jeweils bis zu 50 Workload-Management- (WLM-)Abfrageslots gleichzeitig aktiv sein. Weitere Informationen zu Abfrageslots finden Sie unter Implementierung von Workload-Management.

  • Der Abfrageeditor führt nur kurze Abfragen aus, die innerhalb von 10 Minuten abgeschlossen werden können.

  • Die Ergebnismengen der Abfragen werden jeweils in Seiten von 100 Zeilen paginiert.

  • Sie können den Abfrage-Editor nicht mit dem erweiterten VPC-Routing verwenden. Weitere Informationen finden Sie unter Enhanced VPC Routing in Amazon Redshift .

  • Im Abfrageeditor können Sie keine Transaktionen verwenden. Weitere Informationen zu Transaktionen finden Sie unter BEGINNEN im Datenbankentwicklerhandbuch zu Amazon Redshift.

  • Sie können Abfragen mit bis zu 3 000 Zeichen speichern.

Um den Abfrage-Editor aufzurufen, benötigen Sie eine Berechtigung. Um den Zugriff zu aktivieren, weisen Sie die von AWS verwalteten Richtlinien AmazonRedshiftQueryEditor und AmazonRedshiftReadOnlyAccess für IAM-Berechtigungen dem IAM-Benutzer zu, mit dem Sie auf Ihren Cluster zugreifen.

Falls Sie bereits einen IAM-Benutzer für den Zugriff auf Amazon Redshift erstellt haben, können Sie die Richtlinien AmazonRedshiftQueryEditor und AmazonRedshiftReadOnlyAccess diesem Benutzer zuweisen. Falls Sie noch keinen IAM-Benutzer erstellt haben, erstellen Sie einen Benutzer und ordnen Sie diesem Benutzer die Richtlinien zu.

Die von AWS verwaltete Richtlinie AmazonRedshiftQueryEditor erlaubt die Aktion redshift:GetClusterCredentials, die standardmäßig einem Datenbankbenutzer Superuser-Zugriff auf die Datenbank gewährt. Über einen der folgenden Schritte können Sie den Zugriff beschränken:

  • Erstellen Sie eine benutzerdefinierte Richtlinie, die den Aufruf von redshift:GetClusterCredentials erlaubt und die Ressource auf einen bestimmten Wert für DbUser beschränkt.

  • Fügen Sie dem Benutzer eine Richtlinie hinzu, die ihm die Berechtigung für redshift:GetClusterCredentials verweigert und dann erfordert, dass Benutzer des Abfrage-Editors sich mit temporären Anmeldeinformationen anmelden. Beispielsweise könnte eine Ablehnungsrichtlinie etwa wie folgt aussehen.

    { "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "redshift:GetClusterCredentials", "Resource": "*" } }

Weitere Informationen finden Sie unter Erstellen einer IAM-Rolle oder einer Benutzerrolle mit der Berechtigung, „GetClusterCredentials“ aufzurufen.

Wenn Sie eine Verbindung zu einem Cluster mit dem alten Abfrage-Editor herstellen, verwenden Sie eine der folgenden Authentifizierungsmethoden. Jede Methode erfordert eine andere Kombination von Eingaben von der Amazon-Redshift-Konsole.

Verbinden mit Datenbankpasswort

Geben Sie bei dieser Methode das Administrator-Benutzerpasswort für die Standarddatenbank an. Sie haben dieses Passwort angegeben, als Sie Ihren Cluster erstellt haben.

Temporäre Anmeldeinformationen

Geben Sie mit dieser Methode Ihre database- und db-user-Werte an.

Arbeiten mit dem Abfrage-Editor

Im folgenden Beispiel verwenden Sie den Abfrageeditor, um die folgenden Aufgaben auszuführen:

  • SQL-Befehle ausführen

  • Abfrageausführungsdetails anzeigen

  • Abfrage speichern

  • Ergebnissatz einer Abfrage sortieren

Für das folgende Beispiel benötigen Sie einen vorhandenen Amazon-Redshift-Cluster. Wenn Sie über keinen Cluster verfügen, erstellen Sie einen mithilfe des in beschriebenen Verfahrens Erstellen eines Clusters.

Anmerkung

Für Amazon Redshift ist eine neue Konsole verfügbar. Wählen Sie je nach verwendeter Konsole eine der Anweisungen New console (Neue Konsole) oder Original console (Ursprüngliche Konsole) aus. Standardmäßig wird die Anweisung New Console (Neue Konsole) geöffnet.

So verwenden Sie den Abfrage-Editor in der Amazon-Redshift-Konsole

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-Redshift-Konsole unter https://console.aws.amazon.com/redshift/.

  2. Wählen Sie im Navigationsmenü EDITOR aus und verbinden Sie sich dann mit einer Datenbank in Ihrem Cluster.

  3. Wählen Sie unter Schema die Option öffentlich aus, um eine neue Tabelle auf der Grundlage dieses Schemas zu erstellen.

  4. Geben Sie den folgenden Befehl in das Fenster des Abfrageeditors ein und wählen Sie Run query (Abfrage ausführen) aus, um eine neue Tabelle zu erstellen.

    create table shoes( shoetype varchar (10), color varchar(10));
  5. Klicken Sie auf Clear (Löschen).

  6. Geben Sie den folgenden Befehl in das Fenster des Abfrageeditors ein und wählen Sie Run query (Abfrage ausführen) aus, um Zeilen zur Tabelle hinzuzufügen.

    insert into shoes values ('loafers', 'brown'), ('sandals', 'black');
  7. Klicken Sie auf Clear (Löschen).

  8. Geben Sie den folgenden Befehl in das Fenster des Abfrageeditors ein und wählen Sie Run query (Abfrage ausführen) aus, um die neue Tabelle abzufragen.

    select * from shoes;

    Die Query results (Abfrageergebnisse) zeigen die Ergebnisse an.

    Art des Schuhs Farbe

    sandals

    black

    loafers

    brown

  9. Wählen Sie Execution (Ausführung) aus, um die Ausführungsdetails anzuzeigen.

  10. Wählen Sie Data (Daten) und Export (Exportieren) aus, um die Suchergebnisse als Datei herunterzuladen.

So verwenden Sie den Abfrageeditor:

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-Redshift-Konsole unter https://console.aws.amazon.com/redshift/.

  2. Wählen Sie im Navigationsbereich die Option Abfrage-Editor aus.

  3. Wählen Sie unter Schema die Option öffentlich aus, um eine neue Tabelle auf der Grundlage dieses Schemas zu erstellen.

  4. Geben Sie die folgenden Anweisungen im Fenster des Abfrage-Editors ein und klicken Sie auf Run query (Abfrage ausführen), um die neue Tabelle zu erstellen.

    create table shoes( shoetype varchar (10), color varchar(10));
  5. Klicken Sie auf Clear (Löschen).

  6. Geben Sie den folgenden Befehl im Fenster des Abfrage-Editors ein und klicken Sie auf Run query (Abfrage ausführen), um der Tabelle Zeilen hinzuzufügen.

    insert into shoes values ('loafers', 'brown'), ('sandals', 'black');
  7. Klicken Sie auf Clear (Löschen).

  8. Geben Sie den folgenden Befehl im Fenster des Abfrage-Editors ein und klicken Sie auf Run query (Abfrage ausführen), um Abfragen über der neuen Tabelle auszuführen.

    select * from shoes;

    Sie sollten die folgenden Ergebnisse sehen.

  9. Wählen Sie View execution (Ausführung anzeigen), um die Details zur Ausführung anzuzeigen.

  10. Wählen Sie Download CSV (CSV herunterladen), um die Abfrageergebnisse als CSV-Datei herunterzuladen.