

 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.

# Abfragen einer Datenbank
<a name="query-databases"></a>

Sie haben zwei Möglichkeiten, von Ihrem Amazon-Redshift-Cluster gehostete Datenbanken abzufragen:
+ Connect zu Ihrem Cluster her und führen Sie Abfragen auf dem AWS-Managementkonsole mit dem Abfrage-Editor aus. 

  Wenn Sie den Abfrage-Editor in der Amazon-Redshift-Konsole verwenden, müssen Sie keine SQL-Clientanwendung herunterladen und einrichten. 
+ Verwenden Sie ein SQL-Client-Tool (z. B. SQL Workbench/J), um eine Verbindung zu Ihrem Cluster herzustellen. 

  Amazon Redshift unterstützt SQL-Client-Tools, die über Java Database Connectivity (JDBC) und Open Database Connectivity (ODBC) Verbindungen herstellen. Amazon Redshift stellt keine SQL-Client-Tools oder Bibliotheken bereit oder installiert sie. Daher müssen Sie diese auf Ihrem Clientcomputer oder Ihrer Amazon-EC2-Instance installieren. Sie können die meisten SQL-Client-Tools verwenden, die JDBC- oder ODBC-Treiber unterstützen.

**Anmerkung**  
 Wenn Sie gespeicherte Prozeduren schreiben, empfehlen wir eine bewährte Methode zum Sichern sensibler Werte:   
 Nehmen Sie keine Hardkodierung für sensible Informationen in der gespeicherten Prozedurlogik vor. Weisen Sie beispielsweise kein Benutzerkennwort in einer CREATE USER-Anweisung im Text einer gespeicherten Prozedur zu. Dies stellt ein Sicherheitsrisiko dar, da hartkodierte Werte als Schema-Metadaten in Katalogtabellen aufgezeichnet werden können. Übergeben Sie stattdessen mithilfe von Parametern sensible Werte wie Passwörter als Argumente an die gespeicherte Prozedur.   
Weitere Informationen über gespeicherte Prozeduren finden Sie unter [CREATE PROCEDURE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_PROCEDURE.html) und [Erstellen von gespeicherten Prozeduren in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/stored-procedure-overview.html). Weitere Informationen über die Katalogtabellen finden Sie unter [Systemkatalogtabellen](https://docs.aws.amazon.com/redshift/latest/dg/c_intro_catalog_views.html).

# Verbinden mit Amazon Redshift
<a name="cluster-syntax"></a>

Für die Verbindung zu Ihrer Datenbank können Sie die folgende Syntax verwenden.

```
cluster-name.account-number.aws-region.redshift.amazonaws.com/database-name
```

Die Syntaxelemente sind wie folgt definiert.
+  `cluster-name` 

   Der Name Ihres Clusters. 
+  `account-number` 

   Die eindeutige Kennung, die Ihrer AWS Kontonummer in einem bestimmten Fall zugeordnet ist AWS-Region. Alle Cluster, die von einem bestimmten Konto in einer bestimmten AWS-Region erstellt werden, haben dieselbe `account-number`. 
+  `aws-region` 

   Der Code für den AWS-Region , in dem sich der Cluster befindet. 
+  `database-name` 

   Der Name Ihrer Datenbank. 

Die folgende Verbindungszeichenfolge gibt beispielsweise die `my-db` Datenbank im `my-cluster` Cluster in AWS-Region us-east-1 an.

```
my-cluster.123456789012.us-east-1.redshift.amazonaws.com/my-db
```

# Abfragen einer Datenbank mit Query Editor v2
<a name="query-editor-v2"></a>

Der Abfrage-Editor v2 ist eine separate webbasierte SQL-Clientanwendung, mit der Sie Abfragen in Ihrem Amazon Redshift Data Warehouse erstellen und ausführen können. Der Abfrage-Editor v2 dient hauptsächlich dazu, Abfragen zu bearbeiten und auszuführen, Ergebnisse zu visualisieren und Ihre Arbeit mit Ihrem Team zu teilen. Mit dem Abfrage-Editor v2 können Sie Datenbanken, Schemas, Tabellen und benutzerdefinierte Funktionen () UDFs erstellen. Im Strukturansichtsbereich können Sie für jede Ihrer Datenbanken ihre Schemata anzeigen. Für jedes Schema können Sie die zugehörigen Tabellen, Ansichten und gespeicherten UDFs Prozeduren anzeigen. Der Abfrage-Editor v2 ersetzt den vorherigen Abfrage-Editor. 

**Anmerkung**  
Der Abfrage-Editor v2 ist kommerziell erhältlich AWS-Regionen. Eine Liste, AWS-Regionen wo der Abfrage-Editor v2 verfügbar ist, finden Sie in den Endpunkten, die für den [Redshift-Abfrage-Editor v2](https://docs.aws.amazon.com/general/latest/gr/redshift-service.html) aufgeführt sind. *Allgemeine Amazon Web Services-Referenz* 

Eine Demo zum Abfrage-Editor v2 finden Sie in den folgenden Videos. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/IwZNIroJUnc/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/IwZNIroJUnc)


[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/4EIV4XTE9iI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/4EIV4XTE9iI)


[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/7y-f1wlyVhI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/7y-f1wlyVhI)


Der Abfrage-Editor v2 verfügt über eine Vielzahl von Funktionen zum Verwalten und Ausführen Ihrer SQL-Anweisungen. Die Themen in den folgenden Abschnitten erleichtern Ihnen den Einstieg in viele dieser Funktionen. Erkunden Sie den Abfrage-Editor v2 selbst, um sich mit seinen Funktionen vertraut zu machen. 

# Konfiguration Ihres AWS-Konto
<a name="query-editor-v2-getting-started"></a>

Sie können diese Aufgaben ausführen, um den Abfrage-Editor v2 für die Abfrage einer Amazon Redshift Redshift-Datenbank zu konfigurieren. Mit den entsprechenden Berechtigungen können Sie auf Daten in einem Amazon Redshift Redshift-Cluster oder einer Arbeitsgruppe zugreifen, deren Eigentümer Sie AWS-Konto sind und die sich in der aktuellen Version befinden. AWS-Region

Wenn ein Administrator den Abfrage-Editor v2 zum ersten Mal für Sie konfiguriert, wählt er den aus AWS-Konto, der zum Verschlüsseln der Query Editor AWS KMS key v2-Ressourcen verwendet wird. Standardmäßig wird ein AWS eigener Schlüssel zum Verschlüsseln von Ressourcen verwendet. Alternativ dazu kann ein Administrator einen kundenseitig verwalteten Schlüssel verwenden, indem er den Amazon-Ressourcennamen (ARN) als Schlüssel auf der Konfigurationsseite auswählt. 

Nach der Konfiguration eines Kontos können die AWS KMS Verschlüsselungseinstellungen nicht geändert werden. Weitere Informationen zum Erstellen und Verwenden eines kundenseitig verwalteten Schlüssels mit dem Abfrage-Editor v2 finden Sie unter [Einen vom AWS KMS Kunden verwalteten Schlüssel zur Verwendung mit dem Abfrage-Editor v2 erstellen](#query-editor-v2-kms-key). Der Administrator kann optional auch einen S3-Bucket und Pfad auswählen, der für einige Funktionen wie z. B. das Laden von Daten aus einer Datei verwendet wird. Weitere Informationen finden Sie unter [Laden von Daten aus einer lokalen Datei – Einrichtung und Workflow](query-editor-v2-loading-data-local.md). 

Der Amazon-Redshift-Abfrage-Editor v2 unterstützt Authentifizierung, Verschlüsselung, Isolation und Compliance, um Data-at-Rest zu wahren und Daten während der Übertragung zu schützen. Weitere Informationen zu Datensicherheit im Abfrage-Editor v2 finden Sie hier: 
+ [Verschlüsselung im Ruhezustand](security-server-side-encryption.md)
+ [Verschlüsselung während der Übertragung](security-encryption-in-transit.md)
+ [Konfigurations- und Schwachstellenanalyse in Amazon Redshift](security-vulnerability-analysis-and-management.md)

AWS CloudTrail erfasst API-Aufrufe und zugehörige Ereignisse, die von Ihnen oder in Ihrem Namen getätigt wurden, AWS-Konto und übermittelt die Protokolldateien an einen von Ihnen angegebenen Amazon S3 S3-Bucket. Sie können feststellen, welche Benutzer und Konten angerufen wurden AWS, von welcher Quell-IP-Adresse aus die Anrufe getätigt wurden und wann die Aufrufe erfolgten. Weitere Informationen zur Ausführung des Abfrage-Editors v2 in AWS CloudTrail finden Sie unter [Protokollierung mit CloudTrail](logging-with-cloudtrail.md). Weitere Informationen zu CloudTrail finden Sie im [AWS CloudTrail Benutzerhandbuch](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html). 

Der Abfrage-Editor v2 verfügt für einige seiner Ressourcen über einstellbare Kontingente. Weitere Informationen finden Sie unter [Kontingente für Amazon-Redshift-Objekte](amazon-redshift-limits.md#amazon-redshift-limits-quota). 

## Mit dem Abfrage-Editor v2 erstellte Ressourcen
<a name="query-editor-v2-resources"></a>

Im Abfrage-Editor v2 können Sie Ressourcen wie gespeicherte Abfragen und Diagramme erstellen. Alle Ressourcen im Abfrage-Editor v2 sind einer IAM-Rolle oder einem Benutzer zugeordnet. Wir empfehlen, Richtlinien an eine IAM-Rolle anzufügen und die Rolle einem Benutzer zuzuweisen.

Im Abfrage-Editor v2 können Sie Tags für gespeicherte Abfragen und Diagramme hinzufügen und entfernen. Sie können diese Tags verwenden, wenn Sie benutzerdefinierte IAM-Richtlinien einrichten oder nach Ressourcen suchen. Sie können Tags auch mithilfe des AWS -Ressourcengruppen Tag-Editors verwalten.

Sie können IAM-Rollen mit IAM-Richtlinien einrichten, um Abfragen mit anderen in Ihrem eigenen Bereich zu teilen. AWS-Konto AWS-Region

## Einen vom AWS KMS Kunden verwalteten Schlüssel zur Verwendung mit dem Abfrage-Editor v2 erstellen
<a name="query-editor-v2-kms-key"></a>

**So erstellen Sie einen kundenverwalteten Schlüssel mit symmetrischer Verschlüsselung**:

Sie können einen vom Kunden verwalteten symmetrischen Verschlüsselungsschlüssel erstellen, um die Ressourcen des Abfrageeditors v2 mithilfe der AWS KMS Konsole oder AWS KMS API-Operationen zu verschlüsseln. *Anweisungen zum Erstellen eines Schlüssels finden Sie unter [Erstellen eines symmetrischen AWS KMS Verschlüsselungsschlüssels im AWS Key Management Service Entwicklerhandbuch](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk).*

**Schlüsselrichtlinie**

Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Wenn Sie Ihren kundenseitig verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie im *AWS Key Management Service Entwicklerhandbuch* unter [Verwaltung des Zugriffs auf AWS KMS Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access). 

Um Ihren vom Kunden verwalteten Schlüssel mit dem Amazon-Redshift-Abfrage-Editor v2 verwenden zu können, müssen die folgenden API-Operationen per Schlüsselrichtlinie zulässig sein: 
+ `kms:GenerateDataKey` – Erzeugt einen eindeutigen symmetrischen Datenschlüssel zur Verschlüsselung Ihrer Daten.
+ `kms:Decrypt` – Entschlüsselt Daten, die mit dem vom Kunden verwalteten Schlüssel verschlüsselt wurden.
+ `kms:DescribeKey` – Stellt die vom Kunden verwalteten Schlüsseldetails bereit, damit der Service den Schlüssel validieren kann. 

Im Folgenden finden Sie ein Beispiel für eine AWS KMS Richtlinie für AWS-Konto `111122223333`. Im ersten Abschnitt wird schränkt der `kms:ViaService` die Verwendung des Schlüssels auf den Service (Abfrage-Editor v2) ein (in der Richtlinie `sqlworkbench.region.amazonaws.com` genannt). Die AWS-Konto Verwendung des Schlüssels muss erfolgen`111122223333`. Im zweiten Abschnitt AWS-Konto `111122223333` können der Root-Benutzer und die Schlüsseladministratoren von auf den Schlüssel zugreifen.

 Wenn Sie einen erstellen AWS-Konto, beginnen Sie mit einer Anmeldeidentität, dem sogenannten AWS-Konto *Root-Benutzer*, der vollständigen Zugriff auf alle AWS-Services Ressourcen hat. Wir raten ausdrücklich davon ab, den Root-Benutzer für Alltagsaufgaben zu verwenden. Eine Liste der Aufgaben, für die Sie sich als Root-Benutzer anmelden müssen, finden Sie unter [Tasks that require root user credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) im *IAM-Benutzerhandbuch*. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "key-consolepolicy",
    "Statement": [
        {
            "Sid": "Allow access to principals authorized to use Amazon Redshift Query Editor V2",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "sqlworkbench.us-east-1.amazonaws.com",
                    "kms:CallerAccount": "111122223333"
                }
            }
        },
        {
            "Sid": "Allow access for key administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "kms:*"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key_ID"
        }
    ]
}
```

------

In den folgenden Ressourcen finden Sie weitere Informationen zu AWS KMS Schlüsseln:
+ Weitere Informationen zu AWS KMS Richtlinien finden Sie im *AWS Key Management Service Entwicklerhandbuch* [unter Angeben von Berechtigungen in einer Richtlinie](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#overview-policy-elements). 
+ Informationen zur Fehlerbehebung bei AWS KMS Richtlinien finden Sie unter [Problembehandlung beim Schlüsselzugriff](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html#example-no-iam) im *AWS Key Management Service Entwicklerhandbuch*. 
+ Weitere Informationen über Schlüssel finden Sie unter [AWS -KMS-Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) im *AWS Key Management Service -Entwicklerhandbuch*.

## Zugreifen auf den Abfrage-Editor v2
<a name="query-editor-v2-configure"></a>

Um den Abfrage-Editor v2 aufzurufen, benötigen Sie eine Berechtigung. Ein Administrator kann der Rolle eine der folgenden AWS verwalteten Richtlinien hinzufügen, um Berechtigungen zu erteilen. (Wir empfehlen, Richtlinien an eine IAM-Rolle anzufügen und die Rolle einem Benutzer zuzuweisen.) Diese AWS verwalteten Richtlinien verfügen über verschiedene Optionen, mit denen gesteuert wird, wie das Markieren von Ressourcen die gemeinsame Nutzung von Abfragen ermöglicht. Sie können die IAM-Konsole ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) verwenden, um IAM-Richtlinien anzuhängen. 
+ **AmazonRedshiftQueryEditorV2 FullAccess** — Gewährt vollen Zugriff auf die Vorgänge und Ressourcen des Amazon Redshift Query Editor v2. Diese Richtlinie gewährt außerdem Zugriff auf andere erforderliche Dienste.
+ **AmazonRedshiftQueryEditorV2 NoSharing** — Ermöglicht die Arbeit mit dem Amazon Redshift Query Editor v2, ohne Ressourcen gemeinsam zu nutzen. Diese Richtlinie gewährt außerdem Zugriff auf andere erforderliche Dienste. 
+ **AmazonRedshiftQueryEditorV2 ReadSharing** — Ermöglicht die Arbeit mit dem Amazon Redshift Query Editor v2 mit begrenzter gemeinsamer Nutzung von Ressourcen. Der Prinzipal mit der entsprechenden Berechtigung kann die mit seinem Team geteilten Ressourcen lesen, kann sie jedoch nicht ändern. Diese Richtlinie gewährt außerdem Zugriff auf andere erforderliche Dienste. 
+ **AmazonRedshiftQueryEditorV2 ReadWriteSharing** — Ermöglicht die Arbeit mit dem Amazon Redshift Query Editor v2 mit gemeinsamer Nutzung von Ressourcen. Der Prinzipal mit den entsprechenden Berechtigungen kann die mit seinem Team geteilten Ressourcen lesen und bearbeiten. Diese Richtlinie gewährt außerdem Zugriff auf andere erforderliche Dienste. 

Sie können auch Ihre eigene Richtlinie erstellen, basierend auf den zulässigen und verweigerten Berechtigungen in den bereitgestellten verwalteten Richtlinien. Wenn Sie den IAM-Konsolenrichtlinien-Editor verwenden, um Ihre eigene Richtlinie zu erstellen, wählen Sie **SQL Workbench** als Service aus, für den Sie die Richtlinie im visuellen Editor erstellen. Der Abfrage-Editor v2 verwendet den Dienstnamen AWS SQL Workbench im visuellen Editor und im IAM-Richtliniensimulator. 

Damit ein Prinzipal (ein Benutzer mit einer zugewiesenen IAM-Rolle) eine Verbindung mit einem Amazon-Redshift-Cluster herstellen kann, benötigt er die Berechtigungen in einer der verwalteten Richtlinien des Abfrage-Editors v2. Sie benötigen außerdem eine der `redshift:GetClusterCredentialsWithIAM` oder `redshift:GetClusterCredentials` -Berechtigungen für den Cluster. Um diese Berechtigung zu erhalten, kann jemand mit Administratorberechtigung eine Richtlinie an die IAM-Rollen anfügen, mit denen mithilfe temporärer Anmeldeinformationen eine Verbindung zum Cluster hergestellt wird. Sie können die Richtlinie auf bestimmte Cluster eingrenzen oder sie allgemeiner formulieren. Weitere Informationen zur Berechtigung zur Verwendung temporärer Anmeldeinformationen finden Sie unter [Erstellen einer IAM-Rolle oder eines IAM-Benutzers mit der Berechtigung zum Aufrufen von GetClusterCredentialsWith IAM](generating-iam-credentials-steps.md#generating-iam-credentials-role-permissions) oder. GetClusterCredentials 

Damit ein Prinzipal (in der Regel ein Benutzer mit einer zugewiesenen IAM-Rolle) auf der Seite **Kontoeinstellungen** die Funktion **Ergebnissatz exportieren** für andere im Konto aktivieren kann, benötigt er die Berechtigung `sqlworkbench:UpdateAccountExportSettings`, die der Rolle angefügt ist. Diese Berechtigung ist in der `AmazonRedshiftQueryEditorV2FullAccess` AWS verwalteten Richtlinie enthalten.

Wenn dem Abfrage-Editor v2 neue Funktionen hinzugefügt werden, werden die AWS verwalteten Richtlinien nach Bedarf aktualisiert. Wenn Sie basierend auf den zulässigen und verweigerten Berechtigungen in den bereitgestellten verwalteten Richtlinien Ihre eigene Richtlinie erstellen, bearbeiten Sie Ihre Richtlinien, sodass sie den Änderungen an den verwalteten Richtlinien entsprechen. Weitere Informationen zu verwalteten Richtlinien für Amazon Redshift finden Sie unter [AWS verwaltete Richtlinien für Amazon Redshift](redshift-iam-access-control-identity-based.md#redshift-policy-resources.managed-policies).

Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
+ Benutzer und Gruppen in AWS IAM Identity Center:

  Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter [Erstellen eines Berechtigungssatzes](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) im *AWS IAM Identity Center -Benutzerhandbuch*.
+ Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:

  Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter [Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) im *IAM-Benutzerhandbuch*.
+ IAM-Benutzer:
  + Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter [Eine Rolle für einen IAM-Benutzer erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) im *IAM-Benutzerhandbuch*.
  + (Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter [Hinzufügen von Berechtigungen zu einem Benutzer (Konsole)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

**Anmerkung**  
Wenn ein AWS IAM Identity Center Administrator alle Zuordnungen von Berechtigungssätzen für einen bestimmten Berechtigungssatz im gesamten Konto entfernt, ist der Zugriff auf alle Abfrage-Editor-Ressourcen, die ursprünglich mit dem entfernten Berechtigungssatz verknüpft waren, nicht mehr verfügbar. Wenn dieselben Berechtigungen später erneut erstellt werden, wird eine neue interne Kennung erstellt. Da sich die interne Kennung geändert hat, kann auf Query-Editor-Ressourcen, die zuvor einem Benutzer gehört haben, nicht zugegriffen werden. Bevor Administratoren einen Berechtigungssatz löschen, empfehlen wir, dass Benutzer des betreffenden Berechtigungssatzes Query-Editor-Ressourcen wie Notebooks und Abfragen als Backup exportieren.

## Einrichten von Prinzipal-Tags für die Verbindung eines Clusters oder einer Arbeitsgruppe von Query Editor v2 aus
<a name="query-editor-v2-principal-tags-iam"></a>

Wenn Sie mithilfe der Verbundbenutzeroption eine Verbindung zu Ihrem Cluster oder Ihrer Arbeitsgruppe herstellen möchten, richten Sie entweder Ihre IAM-Rolle oder einen Benutzer mit Prinzipal-Tags ein. Sie können auch Ihren Identitätsanbieter (IDP) für die Weitergabe in `RedshiftDbUser` und (optional) `RedshiftDbGroups` einrichten. Weitere Informationen zur Verwendung von IAM zum Verwalten von Tags finden Sie unter [Übergeben von Sitzungs-Tags in AWS -Security-Token-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) im *IAM-Benutzerhandbuch*. Um den Zugriff einzurichten AWS Identity and Access Management, kann ein Administrator mithilfe der IAM-Konsole ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) Tags hinzufügen. 

**So fügen Sie einer IAM-Rolle Prinzipal-Tags hinzu**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im Navigationsbereich **Roles (Rollen)** aus.

1. Wählen Sie die Rolle aus, die Zugriff auf den Abfrage-Editor v2 unter Verwendung eines Verbundbenutzers benötigt.

1. Wählen Sie die Registerkarte **Tags** aus.

1. Wählen Sie **Manage tags** (Tags verwalten) aus.

1. Klicken Sie auf **Tag hinzufügen** und geben Sie für **Schlüssel** `RedshiftDbUser` und unter **Wert** den Namen des Verbundbenutzers ein.

1. Wählen Sie optional **Tag hinzufügen** aus und geben Sie für **Schlüssel** `RedshiftDbGroups` und unter **Wert** den Gruppennamen ein, der dem Benutzer zugeordnet werden soll.

1. Klicken Sie auf **Save changes** (Änderungen speichern), um die Liste der Tags anzuzeigen, die mit Ihrer ausgewählten IAM-Rolle verknüpft sind. Das Weitergeben von Änderungen kann mehrere Sekunden dauern.

1. Um den Verbundbenutzer zu verwenden, aktualisieren Sie die Seite des Abfrage-Editors v2, nachdem die Änderungen weitergegeben wurden.

**Einrichten Ihres Identitätsanbieters (IDP) zur Weitergabe von Prinzipal-Tags**  
Die Vorgehensweise zum Einrichten von Tags mithilfe eines Identitätsanbieters (IDP) variiert je nach IDP. Anweisungen zum Übergeben von Benutzer- und Gruppeninformationen an SAML-Attribute finden Sie in der IDP-Dokumentation. Bei korrekter Konfiguration erscheinen die folgenden Attribute in Ihrer SAML-Antwort, die von verwendet wird, AWS -Security-Token-Service um die Haupt-Tags für und auszufüllen. `RedshiftDbUser` `RedshiftDbGroups` 

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:RedshiftDbUser">
    <AttributeValue>db-user-name</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:RedshiftDbGroups">
    <AttributeValue>db-groups</AttributeValue>
</Attribute>
```

 Bei der optionalen Option *db\$1groups* muss es sich um eine durch Doppelpunkte getrennte Liste handeln, z. B. `group1:group2:group3`

Darüber hinaus können Sie das Attribut `TransitiveTagKeys` festlegen, um die Tags während der Rollenverkettung beizubehalten.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys">
  <AttributeValue>RedshiftDbUser</AttributeValue>
  <AttributeValue>RedshiftDbGroups</AttributeValue>
</Attribute>
```

Weitere Informationen zum Einrichten des Abfrage-Editors v2 finden Sie unter [Für die Verwendung des Abfrage-Editors v2 erforderliche Berechtigungen](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2).

Weitere Informationen zum Einrichten von Active Directory Federation Services (AD FS) finden Sie im Blogbeitrag: [Verbundzugriff auf Amazon-Redshift-Abfrage-Editor v2 mit Active Directory Federation Services (AD FS)](https://aws.amazon.com/blogs//big-data/federate-access-to-amazon-redshift-query-editor-v2-with-active-directory-federation-services-ad-fs-part-3/). 

Weitere Informationen zum Einrichten von Okta finden Sie im Blogbeitrag: [Single-Sign-On-Verbundzugriff auf Amazon-Redshift-Abfrage-Editor v2 mit Okta](https://aws.amazon.com/blogs//big-data/federate-single-sign-on-access-to-amazon-redshift-query-editor-v2-with-okta/). 

**Anmerkung**  
Wenn Sie mithilfe der Verbindungsoption **Verbundbenutzer** von Query Editor v2 eine Verbindung zu Ihrem Cluster oder Ihrer Arbeitsgruppe herstellen, kann der Identitätsanbieter (IDP) benutzerdefinierte Prinzipal-Tags für `RedshiftDbUser` und `RedshiftDbGroups` bereitstellen. Unterstützt derzeit nicht AWS IAM Identity Center die direkte Übergabe von benutzerdefinierten Prinzipal-Tags an den Abfrage-Editor v2.

# Öffnen des Abfrage-Editors v2
<a name="query-editor-v2-open"></a>

Mit Amazon Redshift können Sie unter Verwendung von Query Editor v2 in der Amazon-Redshift-Konsole SQL-Abfragen für Ihren Data-Warehouse-Cluster ausführen. Query Editor v2 ist ein webbasiertes Tool, das eine benutzerfreundliche Oberfläche für die Ausführung von Ad-hoc-Abfragen, die Untersuchung von Daten und die Durchführung von Datenanalyseaufgaben bietet. In den folgenden Abschnitten erfahren Sie, wie Sie Query Editor v2 in der Konsole öffnen und seine Funktionen effektiv nutzen können.

**Den Abfrage-Editor v2 öffnen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Redshift Redshift-Konsole unter [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. Wählen Sie im Navigator-Menü **Editor** und dann **Query editor v2** (Abfrage-Editor v2) aus. Der Abfrage-Editor v2 wird in einer neuen Registerkarte geöffnet.

Die Abfrage-Editor-Seite enthält ein Navigationsmenü, in dem Sie eine Ansicht wie folgt auswählen können:

**Editor ![\[Horizontal lines representing redacted or censored text.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-align-left.png)**  
Sie verwalten und fragen Ihre Daten ab, die als Tabellen organisiert und in einer Datenbank enthalten sind. Die Datenbank kann gespeicherte Daten oder einen Verweis auf Daten enthalten, die an anderer Stelle, z. B. in Amazon S3, gespeichert sind. Sie stellen eine Verbindung zu einer Datenbank her, die entweder in einem Cluster oder einer Serverless-Arbeitsgruppe enthalten ist.  
In der Ansicht **Editor** haben Sie die folgenden Steuerelemente:   
+ Im Feld **Cluster** oder **Workgroup** (Arbeitsgruppe) wird der Name des Objekts angezeigt, mit dem Sie gerade verbunden sind. Das Feld **Database** (Datenbank) zeigt die Datenbanken innerhalb des Clusters oder der Arbeitsgruppe an. Aktionen in der Ansicht **Database** (Datenbank) wirken sich standardmäßig auf die ausgewählte Datenbank aus. 
+ Eine hierarchische Strukturansicht Ihrer Cluster oder Arbeitsgruppen, Datenbanken und Schemata. Unter den Schemata können Sie mit Ihren Tabellen, Ansichten, Funktionen und gespeicherten Prozeduren arbeiten. Jedes Objekt in der Baumansicht bietet ein Kontextmenü zum Ausführen verknüpfter Aktionen für das Objekt, etwa **Refresh** (Aktualisieren) oder **Drop** (Entfernen). 
+ Die Aktion ![\[The create icon used in the AWS Console.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-add.png) **Create** (Erstellen) zum Erstellen von Datenbanken, Schemata, Tabellen und Funktionen.
+ Die ![\[The upload icon used in the AWS Console.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-upload.png)-Aktion **Daten laden**, um Daten aus Amazon S3 oder aus einer lokalen Datei in Ihrer Datenbank zu laden.
+ Das Symbol ![\[The floppy disk icon used in the AWS Console.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-floppy-disk.png) **Save** (Speichern) zum Speichern Ihrer Abfrage. 
+ Das Symbol ![\[The shortcut icon used in the AWS Console.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-key-command.png) **Shortcuts** zum Anzeigen der Tastenkombinationen für den Editor. 
+ Ein ![\[The more actions icon used in the AWS Console.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-more.png) **Mehr**-Symbol, um mehr Aktionen im Editor anzuzeigen. Wie beispielsweise: 
  + **Für mein Team freigeben** zum Freigeben einer Abfrage oder eines Notebooks für Ihr Team. Weitere Informationen finden Sie unter [Zusammenarbeiten und Teilen im Team](query-editor-v2-team.md).
  + Das Symbol **Shortcuts** zum Anzeigen der Tastenkombinationen für den Editor.
  + **Tab-Verlauf**, um den Verlauf einer Registerkarte im Editor anzuzeigen.
  + **Aktualisieren der automatischen Vervollständigung**, um die angezeigten Vorschläge beim Verfassen von SQL zu aktualisieren.
+ Den ![\[The editor icon in the AWS Console where can enter and run queries.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/add-plus.png) **Editor**-Bereich, in dem Sie Ihre Abfrage eingeben und ausführen können. 

  Nachdem Sie eine Abfrage ausgeführt haben, erscheint die Registerkarte **Result** mit den Ergebnissen. Hier können Sie **Chart** (Diagramm) aktivieren und sich die Ergebnisse visuell darstellen lassen. Sie können mit der Option **Export** (Exportieren) einen Export Ihrer Ergebnisse durchführen.
+ Ein ![\[The icon in the AWS Console where you can add sections to enter and run SQL or add Markdown.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/add-plus.png) **Notebook**-Bereich, in dem Sie Abschnitte hinzufügen können, um SQL einzugeben und auszuführen oder Markdown hinzuzufügen. 

  Nachdem Sie eine Abfrage ausgeführt haben, erscheint die Registerkarte **Result** mit den Ergebnissen. In diesem Bereich können Sie mit **Export** (Exportieren) einen Export Ihrer Ergebnisse durchführen.

**Abfragen ![\[A folder icon used in the AWS Console used to query databases.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-folder-close.png)**  
Eine Abfrage enthält die SQL-Befehle zum Verwalten und Abfragen Ihrer Daten in einer Datenbank. Wenn Sie den Abfrage-Editor v2 verwenden, um Beispieldaten zu laden, werden auch Beispielabfragen für Sie erstellt und gespeichert.  
 Wenn Sie eine gespeicherte Abfrage auswählen, können Sie diese über das Kontextmenü (Rechtsklickmenü) öffnen, umbenennen und löschen. Sie können Attribute wie den **Abfrage-ARN** einer gespeicherten Abfrage anzeigen, indem Sie **Abfragedetails** auswählen. Sie können auch den Versionsverlauf einsehen, an die Abfrage angehängte Tags bearbeiten und die Abfrage mit Ihrem Team teilen.

**Notebooks ![\[A book icon used in the AWS Console used as SQL notebook.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-manual.png)**  
Ein SQL-Notebook enthält SQL- und Markdown-Zellen. Sie können mit Notebooks mehrere SQL-Befehle in einem einzigen Dokument organisieren, kommentieren und freigeben.  
 Wenn Sie ein gespeichertes Notebook auswählen, können Sie dieses über das Kontextmenü (Rechtsklickmenü) öffnen, umbenennen, duplizieren und löschen. Sie können Attribute wie den **Notebook-ARN** eines gespeicherten Notebooks anzeigen, indem Sie **Notebook-Details** auswählen. Sie können auch den Versionsverlauf einsehen, an das Notebook angehängte Tags bearbeiten, das Notebook exportieren und mit Ihrem Team teilen. Weitere Informationen finden Sie unter [Notizbücher in Amazon RedshiftNotebooks](query-editor-v2-notebooks.md).

**Diagramme ![\[Icon of a chart used in the AWS Console as visual representation of data.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-chart.png)**  
Ein Diagramm ist eine visuelle Darstellung Ihrer Daten. Der Abfrage-Editor v2 bietet Werkzeuge, um verschiedene Diagramme zu erstellen und zu speichern.   
 Wenn Sie ein gespeichertes Diagramm auswählen, können Sie dieses über das Kontextmenü (Rechtsklickmenü) öffnen, umbenennen und löschen. Sie können Attribute wie den **Diagramm-ARN** eines gespeicherten Diagramms anzeigen, indem Sie **Diagrammdetails** auswählen. Sie können auch an das Diagramm angehängte Tags bearbeiten und das Diagramm exportieren. Weitere Informationen finden Sie unter [Visualisieren von Abfrageergebnissen](query-editor-v2-charts.md). 

**Verlauf ![\[Icon of a clock used in the AWS Console for query history.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-clock.png)**  
Der Abfrage-Verlauf ist eine Liste von Abfragen, die Sie mit dem Amazon-Redshift-Abfrage-Editor v2 ausgeführt haben. Diese Abfragen wurden entweder als einzelne Abfragen oder als Teil eines SQL-Notebooks ausgeführt. Weitere Informationen finden Sie unter [Abfrage- und Registerkarten-Verlauf anzeigen](query-editor-v2-history.md). 

**Geplante Abfragen ![\[Icon of a calendar used in the AWS Console for scheduled queries.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-calendar.png)**  
Eine geplante Abfrage ist eine Abfrage, deren Ausführung für bestimmte Zeitpunkte geplant ist.

 Alle Ansichten des Abfrage-Editors v2 haben die folgenden Symbole:
+ Ein Symbol ![\[Icon of a quarter moon used in the AWS Console to switch between light and dark modes.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-moon.png) **Visual mode** (Visualisierungsmodus) zum Umschalten zwischen Hell- und Dunkelmodus.
+ Ein Symbol ![\[Icon of a gear used in the AWS Console to show settings.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-cog.png) **Settings** (Einstellungen), um ein Menü mit den verschiedenen Einstellungsbildschirmen anzuzeigen.
  + Ein Symbol ![\[Icon used in the AWS Console to show editor preferences.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-properties.png) **Editor preferences** (Editor-Einstellungen) zum Bearbeiten Ihrer Einstellungen, wenn Sie den Abfrage-Editor v2 verwenden. Hier können Sie die **Workspace-Einstellungen bearbeiten**, um die Schriftgröße, die Tabulatorgröße und andere Anzeigeneinstellungen zu ändern. Sie können die **automatische Vervollständigung** auch aktivieren (oder deaktivieren), um Vorschläge bei der Eingabe Ihrer SQL-Anweisung anzuzeigen.
  + Ein Symbol ![\[Icon used in the AWS Console to view connections used in the editor tab.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-connection.png) **Connections** (Verbindungen), um die von Ihren Editor-Registerkarten verwendeten Verbindungen anzuzeigen.

    Eine Verbindung wird zum Abrufen von Daten aus einer Datenbank verwendet. Eine Verbindung wird für eine bestimmte Datenbank erstellt. Bei einer isolierten Verbindung sind die Ergebnisse eines SQL-Befehls, der die Datenbank ändert, z. B. das Erstellen einer temporären Tabelle, auf einer anderen Editor-Registerkarte nicht sichtbar. Wenn Sie eine Editor-Registerkarte im Abfrage-Editor v2 öffnen, ist die Standardeinstellung eine isolierte Verbindung. Wenn Sie eine gemeinsam genutzte Verbindung erstellen, d. h. Sie deaktivieren den Schalter **Isolated session** (Isolierte Sitzung), dann sind die Ergebnisse in anderen gemeinsam genutzten Verbindungen mit der gleichen Datenbank untereinander sichtbar. Editor-Registerkarten, die eine gemeinsame Verbindung mit einer Datenbank verwenden, werden jedoch nicht parallel ausgeführt. Abfragen, die dieselbe Verbindung verwenden, müssen warten, bis die Verbindung verfügbar ist. Eine Verbindung mit einer Datenbank kann nicht mit einer anderen Datenbank gemeinsam genutzt werden, sodass SQL-Ergebnisse nicht über verschiedene Datenbankverbindungen hinweg sichtbar sind.

    Die Anzahl der Verbindungen, die im Konto eines Benutzers aktiv sein können, wird von einem Administrator des Abfrage-Editors v2 gesteuert.
  + Ein Symbol ![\[Icon used in the AWS Console used by administrators to change settings of user accounts.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-settings.png) **Account settings** (Kontoeinstellungen), das von einem Administrator verwendet wird, um bestimmte Einstellungen aller Benutzer im Konto zu ändern. Weitere Informationen finden Sie unter [Kontoeinstellungen](#query-editor-v2-settings).

## Überlegungen zur Arbeit mit dem Abfrage-Editor v2
<a name="query-editor-v2-considerations"></a>

Beachten Sie Folgendes, wenn Sie mit dem Abfrage-Editor v2 arbeiten.
+ 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, werden die ersten 100 MB mit einer Warnung zurückgegeben.
+ Sie können Abfragen mit bis zu 300 000 Zeichen ausführen. 
+ Sie können Abfragen mit bis zu 30 000 Zeichen speichern. 
+ Standardmäßig führt der Abfrage-Editor v2 automatisch einen Commit für jeden einzelnen SQL-Befehl aus, der ausgeführt wird. Wenn eine BEGIN-Anweisung bereitgestellt wird, werden Anweisungen innerhalb des BEGIN-COMMIT- oder BEGIN-ROLLBACK-Blocks als einzelne Transaktion ausgeführt. Weitere Informationen zu Transaktionen finden Sie unter [BEGIN](https://docs.aws.amazon.com/redshift/latest/dg/r_BEGIN.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.
+ Die maximale Anzahl von Warnungen, die der Abfrage-Editor v2 während der Ausführung einer SQL-Anweisung anzeigt, beträgt `10`. Wenn beispielsweise eine gespeicherte Prozedur ausgeführt wird, werden maximal 10 RAISE-Anweisungen angezeigt.
+ Query Editor v2 unterstützt keinen IAM-`RoleSessionName` mit Kommas (,). Möglicherweise wird ein Fehler ähnlich dem folgenden angezeigt: Fehlermeldung: „'AROA123456789example:MyText, yourtext' is not a valid value for TagValue - it contains unzulässige Zeichen“ Dieses Problem tritt auf, wenn Sie ein IAM definieren, das ein Komma enthält`RoleSessionName`, und dann den Abfrage-Editor v2 mit dieser IAM-Rolle verwenden.

  [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html#saml_role-session-attribute](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html#saml_role-session-attribute) 

## Kontoeinstellungen
<a name="query-editor-v2-settings"></a>

Ein Benutzer mit den richtigen IAM-Berechtigungen kann **Account settings** (Kontoeinstellungen) für andere Benutzer im selben AWS-Konto anzeigen und ändern. Dieser Administrator kann Folgendes anzeigen oder festlegen:
+ Die maximale Anzahl gleichzeitiger Datenbankverbindungen pro Benutzer im Konto. Dazu gehören Verbindungen für **Isolated sessions** (Isolierte Sitzungen). Wenn Sie diesen Wert ändern, kann es 10 Minuten dauern, bis die Änderung wirksam wird.
+ Erlauben Sie Benutzern im Konto, einen gesamten Ergebnissatz aus einem SQL-Befehl in eine Datei zu exportieren.
+ Laden und zeigen Sie Beispieldatenbanken mit einigen zugehörigen gespeicherten Abfragen an.
+ Geben Sie einen Amazon-S3-Pfad an, der von Kontobenutzern verwendet wird, um Daten aus einer lokalen Datei zu laden.
+ Zeigen Sie den ARN des KMS-Schlüssels an, der zum Verschlüsseln von Ressourcen des Abfrage-Editors v2 verwendet wird.

# Herstellen einer Verbindung mit einer Amazon-Redshift-Datenbank
<a name="query-editor-v2-connecting"></a>

Um eine Verbindung zu einer Datenbank herzustellen, wählen Sie den Namen des Clusters oder der Arbeitsgruppe im Strukturansichtsbereich aus. Geben Sie bei Aufforderung die Verbindungsparameter ein.

Wenn Sie eine Verbindung zu einem Cluster oder einer Arbeitsgruppe und ihren Datenbanken herstellen, geben Sie in der Regel einen Namen für **Database** (Datenbank) an. Sie stellen außerdem Parameter bereit, die für eine der folgenden Authentifizierungsmethoden erforderlich sind:

**IAM Identity Center**  
Stellen Sie mit dieser Methode mit Ihren Single-Sign-On-Anmeldeinformationen von Ihrem Identitätsanbieter (IDP) eine Verbindung zu Ihrem Amazon Redshift Data Warehouse her. Ihr Cluster oder Ihre Arbeitsgruppe muss in der Amazon-Redshift-Konsole für IAM Identity Center aktiviert sein. Hilfe beim Einrichten von Verbindungen zum IAM Identity Center finden Sie unter [Connect Redshift mit AWS IAM Identity Center für ein Single-Sign-On-Erlebnis](redshift-iam-access-control-idp-connect.md).

**Verbundbenutzer**  
Bei dieser Methode müssen die Prinzipal-Tags Ihrer IAM-Rolle oder Ihres Benutzers die Verbindungsdetails angeben. Sie konfigurieren diese Tags in AWS Identity and Access Management oder bei Ihrem Identity Provider (IdP). Der Abfrage-Editor v2 basiert auf den folgenden Tags.  
+ `RedshiftDbUser` – Dieses Tag definiert den Datenbankbenutzer, der vom Abfrage-Editor v2 verwendet wird. Dieses Tag ist erforderlich.
+ `RedshiftDbGroups` – Dieses Tag definiert die Datenbankgruppen, die beim Herstellen einer Verbindung mit dem Abfrage-Editor v2 verbunden werden. Dieses Tag ist optional und sein Wert muss eine durch Doppelpunkte getrennte Liste sein, z. B. `group1:group2:group3`. Leere Werte werden ignoriert, d. h. `group1::::group2` wird als `group1:group2` interpretiert. 
Diese Tags werden an die API `redshift:GetClusterCredentials` weitergeleitet, um Anmeldeinformationen für Ihren Cluster abzurufen. Weitere Informationen finden Sie unter [Einrichten von Prinzipal-Tags für die Verbindung eines Clusters oder einer Arbeitsgruppe von Query Editor v2 aus](query-editor-v2-getting-started.md#query-editor-v2-principal-tags-iam).

**Temporäre Anmeldeinformationen unter Verwendung eines Datenbankbenutzernamens**  
Diese Option ist nur dann verfügbar, wenn Sie eine Verbindung mit einem Cluster herstellen. Bei dieser Methode, Abfrage-Editor v2, geben Sie einen **User name** (Benutzername) für die Datenbank an. Query Editor v2 generiert ein temporäres Passwort, um eine Verbindung zu der Datenbank mit Ihrem Datenbankbenutzernamen herzustellen. Ein Benutzer, der diese Methode verwendet, um eine Verbindung herzustellen, muss über die IAM-Berechtigung `redshift:GetClusterCredentials` verfügen. Wenn Sie verhindern möchten, dass Benutzer diese Methode verwenden, ändern Sie ihren IAM-Benutzer oder ihre -Rolle, um diese Berechtigung zu verweigern. 

**Temporäre Anmeldeinformationen unter Verwendung Ihrer IAM-Identität**  
Diese Option ist nur dann verfügbar, wenn Sie eine Verbindung mit einem Cluster herstellen. Bei dieser Methode ordnet Query Editor v2 Ihrer IAM-Identität einen Benutzernamen zu und generiert ein temporäres Passwort zum Herstellen einer Verbindung zu der Datenbank mit Ihrer IAM-Identität. Ein Benutzer, der diese Methode verwendet, um eine Verbindung herzustellen, muss über die IAM-Berechtigung `redshift:GetClusterCredentialsWithIAM` verfügen. Wenn Sie verhindern möchten, dass Benutzer diese Methode verwenden, ändern Sie ihren IAM-Benutzer oder ihre -Rolle, um diese Berechtigung zu verweigern. 

**Datenbank-Benutzername und -Passwort**  
Geben Sie bei dieser Methode auch einen **User name** (Benutzername) und ein **Password** (Passwort) für die Datenbank an, mit der Sie eine Verbindung herstellen. Der Abfrage-Editor v2 erstellt in Ihrem Namen ein Secret, das in AWS Secrets Manager gesichert wird. Dieses Secret enthält Anmeldeinformationen zum Verbinden mit Ihrer Datenbank. 

**AWS Secrets Manager**  
 Bei dieser Methode geben Sie anstelle eines Datenbanknamens ein in Secrets Manager gespeichertes **Secret** an, das Ihre Datenbank und Ihre Anmeldeinformationen enthält. Weitere Informationen zum Erstellen eines Secrets finden Sie unter [Erstellen eines Secrets für Anmeldeinformationen zur Datenbankverbindung](redshift-secrets-manager-integration-create.md). 

Wenn Sie mit dem Abfrage-Editor v2 einen Cluster oder eine Arbeitsgruppe auswählen, können Sie je nach Kontext Verbindungen über das Kontextmenü (Rechtsklick) erstellen, bearbeiten und löschen. Sie können Attribute wie den **Verbindungs-ARN** der Verbindung anzeigen, indem Sie **Verbindungsdetails** auswählen. Sie können auch an die Verbindung angehängte Tags bearbeiten.

# Durchsuchen einer Amazon-Redshift-Datenbank
<a name="query-editor-v2-object-browse"></a>

In einer Datenbank können Sie Schemata, Tabellen, Ansichten, Funktionen und gespeicherte Prozeduren im Baumansichtsbereich verwalten. Jedem Objekt in der Ansicht sind Aktionen in einem Kontextmenü (rechte Maustaste) zugeordnet.

In der hierarchischen Strukturansicht werden Datenbankobjekte angezeigt. Wenn Sie das Strukturansichtsfenster aktualisieren und Datenbankobjekte anzeigen möchten, die möglicherweise erstellt wurden, nachdem die Strukturansicht zuletzt angezeigt wurde, wählen Sie das ![\[Circular arrow icon representing a refresh or reload action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-refresh.png)-Symbol aus. Beim Öffnen des Kontextmenüs (rechte Maustaste) erscheint ein Objekt, das anzeigt, welche Aktionen Sie ausführen können.

![\[Tree-view icons\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/sqlworkbench-tree-view.png)

Nachdem Sie eine Tabelle ausgewählt haben, haben Sie folgende Optionen:
+ Um eine Abfrage im Editor mit einer SELECT-Anweisung zu starten, die alle Spalten in der Tabelle abfragt, verwenden Sie die Option **Select table** (Tabelle wählen).
+ Um die Attribute oder eine Tabelle anzuzeigen, verwenden Sie die Option **Show table definition** (Tabellendefinition anzeigen). Hiermit können Sie Spaltennamen, Spaltentypen, Kodierung, Verteilungsschlüssel, Sortierschlüssel sehen und ob eine Spalte Nullwerte enthalten kann. Weitere Informationen über Tabellenattribute finden Sie unter [CREATE TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.
+ Um eine Tabelle zu löschen, verwenden Sie **Delete** (Löschen). Sie können entweder mit **Truncate table** (Tabelle abschneiden) alle Zeilen aus der Tabelle löschen oder mit **Drop table** (Tabelle entfernen) die Tabelle aus der Datenbank entfernen. Weitere Informationen finden Sie unter [TRUNCATE](https://docs.aws.amazon.com/redshift/latest/dg/r_TRUNCATE.html) und [DROP TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

Wählen Sie bei einem Schema **Refresh** (Aktualisieren) oder **Drop Schema** (Schema entfernen) aus. 

Wählen Sie bei einer Ansicht **Show view definition** (Ansichtsdefinition anzeigen) oder **Drop view** (Ansicht entfernen) aus. 

Wählen Sie bei einer Funktion **Show function definition** (Funktionsdefinition anzeigen) oder **Drop function** (Funktion entfernen) aus. 

Wählen Sie bei einer gespeicherten Prozedur **Show procedure definition** (Prozedurdefinition anzeigen) oder **Drop procedure** (Prozedur entfernen) aus. 

# Erstellen von Datenbankobjekten
<a name="query-editor-v2-object-create"></a>

Sie können Datenbankobjekte erstellen, darunter Datenbanken, Schemas, Tabellen und benutzerdefinierte Funktionen (). UDFs Sie müssen mit einem Cluster oder einer Arbeitsgruppe und einer Datenbank verbunden sein, um Datenbankobjekte zu erstellen.

## Erstellen von Datenbanken
<a name="query-editor-v2-object-create-database"></a>

Sie können den Abfrage-Editor v2 verwenden, um Datenbanken in Ihrem Cluster oder Ihrer Arbeitsgruppe zu erstellen.

**Eine Datenbank erstellen**

Weitere Informationen über Datenbanken finden Sie unter [CREATE DATABASE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_DATABASE.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

1. Wählen Sie ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-add.png)**Create** (Erstellen) aus und danach **Database** (Datenbank).

1. Geben Sie einen **Database name** (Datenbanknamen) ein.

1. (Optional) Wählen Sie **Users and groups** (Benutzer und Gruppen) und dort einen **Database user** (Datenbankbenutzer) aus.

1. (Optional) Sie können die Datenbank aus einem Datashare oder  AWS Glue Data Catalog erstellen. Weitere Informationen zu finden Sie AWS Glue unter [Was ist? AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) im *AWS Glue Entwicklerhandbuch*.
   + (Optional) Wählen Sie **Mit einem Datashare erstellen** aus und klicken Sie auf **Einen Datashare auswählen**. Die Liste enthält Producer-Datashares, mit denen ein Consumer-Datashare im aktuellen Cluster oder in der aktuellen Arbeitsgruppe erstellt werden kann.
   + (Optional) Wählen Sie **Erstellen mit AWS Glue Data Catalog** und wählen Sie **eine AWS Glue-Datenbank aus**. Geben Sie im **Datenkatalogschema** den Namen ein, der für das Schema verwendet wird, wenn auf die Daten in einem dreiteiligen Namen (database.schema.table) verwiesen wird. 

1. Wählen Sie **Datenbank erstellen** aus.

   Die neue Datenbank wird in der Baumansicht angezeigt.

   Wenn Sie den optionalen Schritt zum Abfragen einer Datenbank auswählen, die aus einem Datashare erstellt wurde, stellen Sie eine Verbindung mit einer Amazon-Redshift-Datenbank im Cluster oder in der Arbeitsgruppe her (z. B. die Standarddatenbank `dev`). Verwenden Sie dabei die dreiteilige Notation (database.schema.table), die auf den Datenbanknamen verweist, den Sie beim Auswählen der Option **Mit einem Datashare erstellen** erstellt haben. Die Datashare-Datenbank ist auf der Editor-Registerkarte des Abfrage-Editors v2 aufgeführt, jedoch nicht für eine direkte Verbindung aktiviert.

   Wenn Sie den optionalen Schritt zur Abfrage einer Datenbank wählen, die aus einer erstellt wurde AWS Glue Data Catalog, stellen Sie eine Verbindung zu Ihrer Amazon Redshift Redshift-Datenbank im Cluster oder in der Arbeitsgruppe her (z. B. die Standarddatenbank`dev`) und verwenden Sie die dreiteilige Notation (database.schema.table), die auf den Datenbanknamen verweist, den Sie erstellt haben, als Sie **Create using** ausgewählt haben, auf das Schema AWS Glue Data Catalog, das Sie in **Data catalog** schema benannt haben, und auf die Tabelle in. AWS Glue Data CatalogÄhnlich wie:

   ```
   SELECT * FROM glue-database.glue-schema.glue-table
   ```
**Anmerkung**  
Vergewissern Sie sich, dass Sie mithilfe der Verbindungsmethode **Temporäre Anmeldeinformationen mit Ihrer IAM-Identität** mit der Standarddatenbank verbunden sind und dass Ihren IAM-Anmeldeinformationen Nutzungsrechte für die AWS Glue Datenbank gewährt wurden.  

   ```
   GRANT USAGE ON DATABASE glue-database to "IAM:MyIAMUser"
   ```

   Die AWS Glue Datenbank ist auf der Registerkarte des Abfrage-Editors v2 aufgeführt, sie ist jedoch nicht für eine direkte Verbindung aktiviert.

   *Weitere Informationen zum Abfragen von finden Sie unter [Arbeiten mit von Lake Formation verwalteten Datenfreigaben als Verbraucher](https://docs.aws.amazon.com/redshift/latest/dg/lake-formation-getting-started-consumer.html) und [Arbeiten mit von Lake Formation verwalteten Datenfreigaben als Produzent im Amazon Redshift Database Developer Guide](https://docs.aws.amazon.com/redshift/latest/dg/lake-formation-getting-started-producer.html). AWS Glue Data Catalog*

**Beispiel für das Erstellen einer Datenbank als Datashare-Consumer**

Das folgende Beispiel beschreibt ein bestimmtes Szenario, das verwendet wurde, um mithilfe des Abfrage-Editors v2 eine Datenbank aus einem Datashare zu erstellen. Sehen Sie sich dieses Szenario an, um zu erfahren, wie Sie aus einem Datashare in Ihrer Umgebung eine Datenbank erstellen können. Dieses Szenario verwendet zwei Cluster, `cluster-base` (der Producer-Cluster) und `cluster-view` (der Consumer-Cluster).

1. Verwenden Sie die Amazon-Redshift-Konsole, um einen Datashare für die Tabelle `category2` im Cluster `cluster-base` zu erstellen. Der Producer-Datashare heißt `datashare_base`.

   Weitere Informationen zum Erstellen von Datashares finden Sie unter [Freigeben von Daten über Cluster in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/datashare-overview.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

1. Verwenden Sie die Amazon-Redshift-Konsole, um einen Datashare `datashare_base` als Consumer für die Tabelle `category2` im Cluster `cluster-view` zu erstellen.

1. Sehen Sie sich das Strukturansichtsfenster im Abfrage-Editor v2 an, das die Hierarchie von `cluster-base` anzeigt als:
   + Cluster: `cluster-base`
     + Datenbank: `dev`
       + Schema: `public`
         + Tabellen: `category2`

1. Wählen Sie ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-add.png)**Create** (Erstellen) aus und danach **Database** (Datenbank).

1. Geben Sie `see_datashare_base` als **Datenbankname** ein.

1. Wählen Sie **Mit einem Datashare erstellen** aus und klicken Sie auf **Einen Datashare auswählen**. Wählen Sie `datashare_base` als Quelle der Datenbank aus, die Sie erstellen.

   Das Strukturansichtsfenster im Abfrage-Editor v2 zeigt die Hierarchie von `cluster-view` an als:
   + Cluster: `cluster-view`
     + Datenbank: `see_datashare_base`
       + Schema: `public`
         + Tabellen: `category2`

1. Wenn Sie die Daten abfragen, stellen Sie eine Verbindung mit der Standarddatenbank des Clusters `cluster-view` (in der Regel `dev`) her, aber verweisen Sie auf die Datashare-Datenbank `see_datashare_base` in Ihrem SQL-Code.
**Anmerkung**  
In der Editoransicht des Abfrage-Editors v2 ist der ausgewählte Cluster `cluster-view`. Die ausgewählte Datenbank ist `dev`. Die `see_datashare_base`-Datenbank ist aufgeführt, jedoch nicht für eine direkte Verbindung aktiviert. Sie wählen die `dev`-Datenbank aus und verweisen auf `see_datashare_base` in dem SQL-Code, den Sie ausführen.

   ```
   SELECT * FROM "see_datashare_base"."public"."category2";
   ```

   Die Abfrage ruft Daten aus dem Datashare `datashare_base` im Cluster `cluster_base` ab.

**Beispiel für das Erstellen einer Datenbank aus einem AWS Glue Data Catalog**

Das folgende Beispiel beschreibt ein bestimmtes Szenario, das verwendet wurde, um eine Datenbank AWS Glue Data Catalog mithilfe eines Abfrage-Editors v2 zu erstellen. Sehen Sie sich dieses Szenario an, um zu erfahren, wie Sie eine Datenbank aus einer AWS Glue Data Catalog in Ihrer Umgebung erstellen können. Dieses Szenario verwendet einen Cluster `cluster-view`, der die von Ihnen erstellte Datenbank enthalten soll.

1. Wählen Sie ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-add.png)**Create** (Erstellen) aus und danach **Database** (Datenbank).

1. Geben Sie `data_catalog_database` als **Datenbankname** ein.

1. Wählen Sie **Create using a AWS Glue Data Catalog** und **wählen Sie Choose an AWS Glue database** aus. Wählen Sie `glue_db` als Quelle der Datenbank aus, die Sie erstellen.

   Wählen Sie **Datenkatalogschema** aus und geben Sie `myschema` als Schemaname ein, der in dreiteiliger Notation verwendet werden soll.

   Das Strukturansichtsfenster im Abfrage-Editor v2 zeigt die Hierarchie von `cluster-view` an als:
   + Cluster: `cluster-view`
     + Datenbank: `data_catalog_database`
       + Schema: `myschema`
         + Tabellen: `category3`

1. Wenn Sie die Daten abfragen, stellen Sie eine Verbindung mit der Standarddatenbank des Clusters `cluster-view` (in der Regel `dev`) her, aber verweisen Sie auf die Datenbank `data_catalog_database` in Ihrem SQL-Code. 
**Anmerkung**  
In der Editoransicht des Abfrage-Editors v2 ist der ausgewählte Cluster `cluster-view`. Die ausgewählte Datenbank ist `dev`. Die `data_catalog_database`-Datenbank ist aufgeführt, jedoch nicht für eine direkte Verbindung aktiviert. Sie wählen die `dev`-Datenbank aus und verweisen auf `data_catalog_database` in dem SQL-Code, den Sie ausführen.

   ```
   SELECT * FROM "data_catalog_database"."myschema"."category3";
   ```

   Die Abfrage ruft Daten ab, die von  AWS Glue Data Catalog katalogisiert sind.

## Erstellen von Schemata
<a name="query-editor-v2-object-create-schema"></a>

Sie können den Abfrage-Editor v2 verwenden, um Schemata in Ihrem Cluster oder Ihrer Arbeitsgruppe zu erstellen.

**Ein Schema erstellen**

Weitere Informationen über Schemata finden Sie unter [Schemata](https://docs.aws.amazon.com/redshift/latest/dg/r_Schemas_and_tables.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

1. Wählen Sie ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-add.png)**Create** (Erstellen) aus und danach **Schema**.

1. Geben Sie einen **Schema name** (Schemennamen) ein.

1. Wählen Sie entweder **Local** (Lokal) oder **External** (Extern) für **Schema type** (Schematyp) aus.

   Weitere Informationen über lokale Schemata finden Sie unter [CREATE SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_SCHEMA.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. Weitere Informationen über externe Schemata finden Sie unter [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

1. Wenn Sie **External** (Extern) auswählen, stehen Ihnen folgende Optionen für ein externes Schema zur Verfügung.
   + **Glue Data Catalog** (Glue-Datenkatalog) – zum Erstellen eines externen Schemas in Amazon Redshift, das auf Tabellen in AWS Glue verweist. Wählen Sie neben der AWS Glue Datenbank auch die dem Cluster zugeordnete IAM-Rolle und die dem Datenkatalog zugeordnete IAM-Rolle aus.
   + **PostgreSQL** – zum Erstellen eines externen Schemas in Amazon Redshift, das auf eine Datenbank verweist, die mit Amazon RDS für PostgreSQL oder mit einer Edition von Amazon Aurora PostgreSQL kompatibel ist. Geben Sie die Verbindungsinformationen für die Datenbank an. Weitere Informationen über Verbundabfragen finden Sie unter [Abfragen von Daten mit Verbundabfragen](https://docs.aws.amazon.com/redshift/latest/dg/federated-overview.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.
   + **MySQL** – zum Erstellen eines externen Schemas in Amazon Redshift, das auf eine Datenbank verweist, die mit Amazon RDS für MySQL oder mit einer Edition von Amazon Aurora MySQL kompatibel ist. Geben Sie die Verbindungsinformationen für die Datenbank an. Weitere Informationen über Verbundabfragen finden Sie unter [Abfragen von Daten mit Verbundabfragen](https://docs.aws.amazon.com/redshift/latest/dg/federated-overview.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

1. Wählen Sie **Create schema** (Schema erstellen) aus.

   Das neue Schema wird in der Baumansicht angezeigt.

## Erstellen von Tabellen
<a name="query-editor-v2-object-create-table"></a>

Sie können den Abfrage-Editor v2 verwenden, um Tabellen in Ihrem Cluster oder Ihrer Arbeitsgruppe zu erstellen.

**Eine Tabelle erstellen**

Sie können eine Tabelle basierend auf einer CSV-Datei erstellen, in der Sie jede Spalte der Tabelle angeben bzw. definieren. Weitere Informationen über Tabellen finden Sie unter [Gestalten von Tabellen](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html) und [CREATE TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_NEW.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

Wählen Sie **Open query in editor** (Abfrage im Editor öffnen) aus, um die Anweisung CREATE TABLE anzuzeigen und zu bearbeiten, bevor Sie die Abfrage zum Erstellen der Tabelle ausführen. 

1. Klicken Sie auf ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-add.png)**Create** (Erstellen) und wählen Sie **Table** (Tabelle) aus.

1. Wählen Sie ein Schema aus.

1. Geben Sie einen Tabellennamen ein.

1. Wählen Sie ![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/add-plus.png) **Add field** (Feld hinzufügen), um eine Spalte hinzuzufügen. 

1. Verwenden Sie eine CSV-Datei als Vorlage für die Tabellendefinition:

   1. Wählen Sie **Load from CSV** (Laden aus CSV) aus.

   1. Gehen Sie zum Speicherort der Datei.

      Wenn Sie eine CSV-Datei verwenden, muss die erste Zeile der Datei die Spaltenüberschriften enthalten.

   1. Wählen Sie die Datei und dann **Open** (Öffnen). Bestätigen Sie, dass die Spaltennamen und Datentypen korrekt sind.

1. Wählen Sie die einzelnen Spalten und die gewünschten Optionen aus:
   + Wählen Sie einen Wert für **Encoding** (Codierung) aus.
   + Wählen Sie einen **Default value** (Standardwert) aus.
   + Aktivieren Sie **Automatically increment** (Automatisch inkrementieren), wenn die Spaltenwerte inkrementiert werden sollen. Geben Sie dann einen Wert für **Auto increment seed** (Seed automatisch inkrementieren) und **Auto increment step** (Schritt automatisch inkrementieren) ein.
   + Aktivieren Sie **Not NULL** (Nicht NULL), wenn die Spalte immer einen Wert enthalten soll.
   + Geben Sie einen Wert für **Size** (Größe) für die Spalte ein.
   + Aktivieren Sie **Primary key** (Primärschlüssel), wenn Sie möchten, dass die Spalte ein Primärschlüssel sein soll.
   + Aktivieren Sie **Unique key** (Einmaliger Schlüssel), wenn Sie möchten, dass die Spalte ein einmaliger Schlüssel sein soll.

1. (Optional) Wählen Sie **Table details** (Tabellendetails) und dann eine der folgenden Optionen aus:
   + Spalte des Verteilungsschlüssels und deren Stil.
   + Spalte des Sortierschlüssels und deren Stil.
   + Aktivieren Sie **Backup**, um die Tabelle in Snapshots aufzunehmen.
   + Aktivieren Sie **Temporary table** (Temporäre Tabelle), um die Tabelle als temporäre Tabelle zu erstellen.

1. Wählen Sie **Open query in editor** (Abfrage im Editor öffnen) aus, um noch mehr Einstellungen zum Definieren der Tabelle zu treffen, bzw. **Create table** (Tabelle erstellen), um die Tabelle zu erstellen.

## Erstellung von Funktionen
<a name="query-editor-v2-object-create-function"></a>

Sie können den Abfrage-Editor v2 verwenden, um Funktionen in Ihrem Cluster oder Ihrer Arbeitsgruppe zu erstellen.

**Eine Funktion erstellen**

1. Wählen Sie ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-add.png)**Create** (Erstellen) aus und dann **Function** (Funktion).

1. Wählen Sie bei **Type** entweder **SQL** oder **Python** als Typ aus.

1. Wählen Sie einen Wert für **Schema** aus.

1. Geben Sie bei **Name** einen Namen für die Funktion ein.

1. Geben Sie bei **Volatility** den Wert der Volatilität der Funktion ein.

1. Wählen Sie **Parameters** nach ihren Datentypen in der Reihenfolge der Eingabeparameter.

1. Wählen Sie bei **Returns** (Rückgabewerte) einen Datentyp aus.

1. Geben Sie den **SQL-Programmcode** oder den **Python-Programmcode** für die Funktion ein.

1. Wählen Sie **Erstellen** aus.

Weitere Informationen zu benutzerdefinierten Funktionen (UDFs) finden Sie unter [Erstellen benutzerdefinierter Funktionen](https://docs.aws.amazon.com/redshift/latest/dg/user-defined-functions.html) im *Amazon Redshift Database* Developer Guide. 

# Abfrage- und Registerkarten-Verlauf anzeigen
<a name="query-editor-v2-history"></a>

Sie können den Abfrage-Verlauf mit dem Abfrage-Editor v2 anzeigen. Im Abfrageverlauf werden nur Abfragen angezeigt, die Sie mit dem Abfrage-Editor v2 ausgeführt haben. Es werden Abfragen angezeigt, die über eine **Editor**- oder **Notebook**-Registerkarte ausgeführt wurden. Sie können die angezeigte Liste nach einem Zeitraum filtern, z. B. `This week`, in dem eine Woche als Montag–Sonntag definiert ist. Die Liste der Abfragen ruft gleichzeitig 25 Zeilen mit Abfragen ab, die Ihrem Filter entsprechen. Wählen Sie **Load more (Mehr laden)** aus, um den nächsten Satz anzuzeigen. Wählen Sie eine Abfrage aus dem Menü **Actions (Aktionen)** aus. Die verfügbaren Aktionen hängen davon ab, ob die ausgewählte Abfrage gespeichert wurde. Sie können die folgenden Operationen auswählen:
+ **View query details (Abfragedetails anzeigen)** – zeigt eine Abfragedetailseite mit weiteren Informationen zu der ausgeführten Abfrage an.
+ **Open query in a new tab (Abfrage in einer neuen Registerkarte öffnen)** – öffnet eine neue Editor-Registerkarte und bereitet sie mit der ausgewählten Abfrage vor. Wenn die Verbindung noch besteht, werden der Cluster oder die Arbeitsgruppe und die Datenbank automatisch ausgewählt. Stellen Sie zum Durchführen der Abfrage zunächst sicher, dass der richtige Cluster oder die richtige Arbeitsgruppe und die richtige Datenbank ausgewählt wurden.
+ **Open source tab (Open-Source-Registerkarte)** – wenn die Registerkarte noch geöffnet ist, wird zu der Editor- oder Notebook-Registerkarte navigiert, die die Abfrage bei ihrer Ausführung enthielt. Der Inhalt des Editors oder Notebooks hat sich möglicherweise geändert, nachdem die Abfrage ausgeführt wurde.
+ **Open saved query (Gespeicherte Abfrage öffnen)** – navigiert zur Editor- oder Notebook-Registerkarte und öffnet die Abfrage.

Sie können auch den Verlauf der Abfragen anzeigen, die auf einer **Editor**-Registerkarte ausgeführt wurden, oder den Verlauf der Abfragen, die auf einer **Notebook**-Registerkarte ausgeführt wurden. Wenn Sie den Verlauf der Abfragen auf einer Registerkarte anzeigen möchten, wählen Sie **Tab history (Registerkartenverlauf)** aus. Im Registerkartenverlauf können Sie Folgendes tun:
+ **Copy query (Abfrage kopieren)** – kopiert den SQL-Inhalt der Abfrageversion in die Zwischenablage.
+ **Open query in a new tab (Abfrage in einer neuen Registerkarte öffnen)** – öffnet eine neue Editor-Registerkarte und bereitet sie mit der ausgewählten Abfrage vor. Wenn Sie die Abfrage ausführen möchten, müssen Sie den Cluster oder die Arbeitsgruppe und die Datenbank auswählen.
+ **View query details (Abfragedetails anzeigen)** – zeigt eine Abfragedetailseite mit weiteren Informationen zu der ausgeführten Abfrage an.

# Interagieren mit generativem SQL von Amazon Q
<a name="query-editor-v2-generative-ai"></a>

**Anmerkung**  
Generative SQL-Unterstützung von Amazon Q ist nur in den folgenden Fällen verfügbar AWS-Regionen:  
Region USA Ost (Nord-Virginia) (us-east-1)
Region USA Ost (Ohio) (us-east-2)
Region USA West (Oregon) (us-west-2)
Region Asien-Pazifik (Mumbai) (ap-south-1)
Region Asien-Pazifik (Seoul) (ap-northeast-2)
Region Asien-Pazifik (Singapur) (ap-southeast-1)
Region Asien-Pazifik (Sydney) (ap-southeast-2)
Region Asien-Pazifik (Tokio) (ap-northeast-1)
Region Kanada (Zentral) (ca-central-1)
Region Europa (Frankfurt) (eu-central-1)
Region Europa (Irland) (eu-west-1)
Region Europa (London) (eu-west-2)
Region Europa (Paris) (eu-west-3)
Region Südamerika (São Paulo) (sa-east-1)
Informationen darüber, wo Ihre Daten verarbeitet werden, finden Sie unter [Cross region inference in Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/cross-region-inference.html) im *Benutzerhandbuch von Amazon Q Developer*.

Sie können in Amazon Redshift Query Editor v2 mit der Funktion für generatives SQL von Amazon Q interagieren. Es handelt sich hier um einen Programmierassistenten, der SQL-Anweisungen basierend auf Ihren Aufforderungen und Ihrem Datenbankschema generiert. Dieser Programmierassistent ist verfügbar, während Sie ein Notebook in Query Editor v2 erstellen. Das generierte SQL gilt für die Datenbank, mit der Ihr Notebook verbunden ist.

Stellen Sie bei der Interaktion mit generativem SQL von Amazon Q spezifische Fragen, iterieren Sie bei komplexen Anforderungen und überprüfen Sie die Richtigkeit der Antworten. 

Seien Sie bei Analyseanforderungen in natürlicher Sprache so spezifisch wie möglich, damit der Programmierassistent genau versteht, was Sie benötigen. Anstatt nach „Finden Sie die besten Veranstaltungsorte zu suchen, an denen die meisten Tickets verkauft wurden“, geben Sie mehr Informationen an, z. B. „Finden Sie names/ids die drei Veranstaltungsorte, die 2008 die meisten Tickets verkauft haben“. Verwenden Sie einheitliche und spezifische Namen von Objekten in Ihrer Datenbank, wenn Sie diese kennen. Verwenden Sie beispielsweise die in Ihrer Datenbank definierten Schema-, Tabellen- und Spaltennamen, anstatt auf unterschiedliche Weise auf dasselbe Objekt zu verweisen, da dies den Assistenten verwirren kann.

Unterteilen Sie komplexe Anforderungen in mehrere einfache Anweisungen, die für den Assistenten leichter zu interpretieren sind. Stellen Sie immer wieder Folgefragen, um eine detailliertere Analyse von dem Assistenten zu erhalten. Fragen Sie zum Beispiel zuerst, in welchem Bundesstaat es die meisten Veranstaltungsorte gibt. Fragen Sie dann unter Berücksichtigung der Antwort nach dem beliebtesten Veranstaltungsort in diesem Bundesstaat. 

Überprüfen Sie das generierte SQL vor der Ausführung, um die Richtigkeit sicherzustellen. Wenn die generierte SQL-Abfrage Fehler enthält oder nicht Ihrer Absicht entspricht, geben Sie dem Assistenten Anweisungen zur Korrektur, anstatt die gesamte Anforderung neu zu formulieren. Wenn in der Abfrage beispielsweise eine Prädikatklausel für das Jahr fehlt, fordern Sie den Assistenten auf, die Veranstaltungsorte aus dem Jahr 2008 anzugeben.

Senden Sie den Text der Fehler, die Sie beim Ausführen von generiertem SQL erhalten, als Prompts zurück an das generative SQL von Amazon Q. Dieses lernt aus den Fehlern, um besseres SQL zu erstellen.

Fügen Sie Ihr Schema zum SQL-Suchpfad hinzu, um zu signalisieren, dass das Schema verwendet werden sollte. Fügen Sie beispielsweise das Tickit-Schema hinzu, wenn sich die Daten im Tickit-Schema und nicht im öffentlichen Schema befinden.

```
set search_path to '$user', tickit;
```

## Überlegungen bei der Interaktion mit generativem SQL von Amazon Q
<a name="query-editor-v2-generative-ai-considerations"></a>

Beachten Sie bei der Arbeit im Chat-Bereich Folgendes:
+ Der Administrator von Query Editor v2 für Ihr Konto muss die Chat-Funktion auf der Seite **Einstellungen für generatives SQL** aktiviert haben.
+ Um Amazon Q Generative SQL verwenden zu können, benötigen Sie zusätzlich zu anderen Berechtigungen, die `sqlworkbench:GetQSqlRecommendations` in der AWS verwalteten Richtlinie für den Abfrage-Editor v2 angegeben sind, eine Genehmigung in Ihrer IAM-Richtlinie. Weitere Informationen zu AWS verwalteten Richtlinien finden Sie unter[Zugreifen auf den Abfrage-Editor v2](query-editor-v2-getting-started.md#query-editor-v2-configure).
+ Ihre Fragen müssen auf Englisch verfasst werden.
+ Ihre Fragen müssen sich auf die verbundene Datenbank in Ihrem Cluster oder Ihrer Arbeitsgruppe beziehen. Um Fehler wegen eines leeren Zustands zu vermeiden, sollte die Datenbank mindestens eine Tabelle und einige Daten enthalten.
+ Ihre Fragen müssen sich auf Daten beziehen, die in der verbundenen Datenbank gespeichert sind. Sie können nicht auf ein externes Schema verweisen. Weitere Informationen zu den unterstützten Schemas finden Sie unter [Erstellen eines Schemas](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.
+ Bei allen Fragen, die bewirken, dass SQL die verbundene Datenbank ändert, kann es zu einer Warnung kommen.
+ Generative KI-Technologie ist neu und die Antworten können Fehler enthalten, die manchmal als Halluzinationen bezeichnet werden. Testen und überprüfen Sie den gesamten Code auf Fehler und Schwachstellen, bevor Sie ihn in Ihrer Umgebung oder Ihrem Workload verwenden.
+ Sie können die Empfehlungen verbessern, indem Sie die von anderen Benutzern in Ihrem Konto ausgeführten SQL-Abfragen gemeinsam nutzen. Ihr Kontoadministrator kann die folgenden SQL-Befehle ausführen, um Zugriff auf den Abfrageverlauf des Kontos zu gewähren.

  ```
  GRANT ROLE SYS:MONITOR to "IAMR:role-name";
  GRANT ROLE SYS:MONITOR to "IAM:user-name";
  GRANT ROLE SYS:MONITOR to "database-username";
  ```

  Weitere Informationen zu `SYS:MONITOR` finden Sie unter [Systemdefinierte Amazon-Redshift-Rollen](https://docs.aws.amazon.com/redshift/latest/dg/r_roles-default.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.
+ Ihre Daten sind sicher und privat. Ihre Daten werden nicht kontoübergreifend gemeinsam genutzt. Ihre Abfragen, Daten und Datenbankschemas werden nicht zum Trainieren eines Basismodells (FM) für generative KI verwendet. Ihre Eingaben werden als kontextbezogene Aufforderungen an das FM nur zur Beantwortung Ihrer Fragen verwendet.

# Verwendung von generativem SQL
<a name="query-editor-v2-generative-ai-interact"></a>

Nach Konfiguration der richtigen Berechtigungen können Sie bei der Arbeit mit einem Notebook in Query Editor v2 ein Symbol auswählen, um eine Konversation zu starten.

**So interagieren Sie mit dem generativen SQL von Amazon Q, um SQL zu generieren**

1. Öffnen Sie auf der Registerkarte **Editor** von Query Editor v2 ein Notebook.

1. Wählen Sie das Symbol für generatives SQL ![\[Generative SQL panel\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-amazon-q.png) aus und folgen Sie dann den Anweisungen, um Ihre Fragen an das generative SQL von Amazon Redshift Query Editor v2 im Chat-Bereich zu stellen.

   Sie stellen Fragen in einem Prompt-Feld und das generative SQL von Amazon Q antwortet mit SQL-Vorschlägen. Alle aufgetretenen Fehler werden Ihnen im Chat-Bereich zurückgemeldet.

1. Wählen Sie **Zu Notebook hinzufügen** aus, um Ihrem Notebook eine Markdown-Zelle mit Ihrer Aufforderung und eine SQL-Zelle mit dem vorgeschlagenen SQL hinzuzufügen.

1. (Optional) Geben Sie Feedback zu dem generierten SQL, indem Sie das Symbol für hilfreiches Feedback ![\[Helpful feedback\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-thumbs-up.png) oder das Symbol für nicht hilfreiches Feedback ![\[Not helpful feedback\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-thumbs-down.png) auswählen. Sie können nicht hilfreiches Feedback als `Incorrect tables/columns`, `Incorrect predicates/literals/group bys`, `Incorrect SQL structure` oder `Other` kategorisieren. Darüber hinaus können Sie Ihrem Feedback Angaben zur Genauigkeit des SQL in Form von Text in freier Form hinzufügen.

1. (Optional) Wählen Sie **SQL neu generieren** aus, um eine andere Antwort für dieselbe Aufforderung zu generieren. Sie können **SQL neu generieren** einmal für die aktuelle Aufforderung auswählen.

1. (Optional) Wählen Sie im generativen SQL-Chatbereich das Symbol für **Mehr** ![\[More\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-vmore.png) und anschließend **Datenbank aktualisieren** aus, um die Metadaten zu aktualisieren, die Ihre verbundene Datenbank beschreiben. Diese Metadaten umfassen die Definitionen von Schemas, Tabellen und Spalten in Ihrer Datenbank.

# Aktualisieren der Einstellungen für generatives SQL als Administrator
<a name="query-editor-v2-generative-ai-settings"></a>

Ein Benutzer mit den richtigen IAM-Berechtigungen kann die **Einstellungen für generatives SQL** für andere Benutzer in demselben AWS-Konto anzeigen und ändern. Dieser Administrator muss zusätzlich zu anderen `sqlworkbench:UpdateAccountQSqlSettings` in der AWS verwalteten Richtlinie für den Abfrage-Editor v2 angegebenen Berechtigungen über entsprechende Berechtigungen in seiner IAM-Richtlinie verfügen. Weitere Informationen über verwaltete Richtlinien finden Sie unter [Für die Verwendung des Abfrage-Editors v2 erforderliche Berechtigungen](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2).

**So kann ein Administrator den generativen SQL-Chat für alle Benutzer in dem Konto aktivieren**

1. Wählen Sie das Symbol für **Einstellungen** ![\[Settings\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-cog.png) aus, um ein Menü mit den verschiedenen Einstellungsbildschirmen anzuzeigen.

1. Wählen Sie dann das Symbol für Einstellungen für generatives SQL ![\[Generative SQL settings\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-amazon-q.png) aus, um die Seite mit den **Einstellungen für generatives SQL von Q** anzuzeigen.

1. Wählen Sie **Einstellungen für generatives SQL von Q** aus, um die Funktion für generatives SQL für Benutzer in dem Konto zu aktivieren.

   Nachdem Sie das generative SQL von Amazon Q aktiviert haben, können Sie die Anzahl der in Ihrer Zuordnung verbleibenden Prompts anzeigen. Der Administrator von Query Editor v2 kann Benutzern im Konto die Nutzung der Stufe Amazon Q Developer Pro ermöglichen. Um die Pro-Stufe zu nutzen, richten Sie Ihre Benutzer mit IAM Identity Center ein und abonnieren Sie für jeden Benutzer die Stufe Amazon Q Developer Pro. Weitere Informationen zum Einrichten des IAM Identity Center mit Amazon Redshift finden Sie unter [Connect Redshift mit AWS IAM Identity Center für ein Single-Sign-On-Erlebnis](redshift-iam-access-control-idp-connect.md). Informationen zu den Preisen für Amazon Q Developer finden Sie unter [Preise von Amazon Q Developer](https://aws.amazon.com/q/developer/pricing/).

   Wenn Sie das kostenlose Kontingent Amazon Q Developer nutzen, AWS-Konto ist die Gesamtzahl der Eingabeaufforderungen aller Benutzer von an auf 1.000 pro Monat begrenzt. Wenn Sie die Stufe Amazon Q Developer Pro nutzen, ist die Gesamtzahl der Prompts jedes einzelnen Benutzers auf 1 000 pro Monat begrenzt. Sie können die Anzahl der verfügbaren Prompts auf der Seite **Einstellungen** einsehen. Informationen zu den Preisen für Amazon Q Developer finden Sie unter [Preise von Amazon Q Developer](https://aws.amazon.com/q/developer/pricing/).

## Benutzerdefinierter Kontext
<a name="query-editor-v2-generative-custom-context"></a>

Der Administrator von Query Editor v2 kann *benutzerdefinierten Kontext* angeben, um das generierte SQL an Ihre Umgebung anzupassen. Benutzerdefinierter Kontext stellt Fachwissen und Einstellungen bereit, um eine detaillierte Kontrolle über die SQL-Generierung zu ermöglichen. Benutzerdefinierter Kontext ist in einer JSON-Datei definiert, die vom Administrator von Query Editor v2 in generatives SQL von Amazon Q hochgeladen werden kann.

Die JSON-Schlüssel, die zur Personalisierung von generiertem SQL für ein Data Warehouse verwendet werden, lauten wie folgt.

Alle Tabellenverweise müssen der dreiteiligen Notation `database.schema.table` folgen.

**Ressourcen**  
Eine Ressource gibt den Bereich oder Teil eines Datenbestands an, auf den der benutzerdefinierte Kontext angewendet wird.

**ResourceId**  
Gibt eine eindeutige Kennung der Ressource an. Geben Sie für einen Amazon-Redshift-Cluster die `cluster id` an. Geben Sie für eine Redshift-Serverless-Arbeitsgruppe den `workgroup name` an.

**ResourceType**  
Zulässiger Wert: `REDSHIFT_WAREHOUSE`.

**TablesToInclude**  
Gibt eine Gruppe von Tabellen an, die für die SQL-Generierung berücksichtigt werden. Dieses Feld ist wichtig, wenn Sie den Umfang von SQL-Abfragen auf eine definierte Teilmenge verfügbarer Tabellen beschränken möchten. Es kann zur Optimierung des Generierungsprozesses beitragen, indem unnötige Tabellenverweise reduziert werden. Sie können dieses Feld mit `TablesToExclude` kombinieren, um die Abfragegenerierung genauer steuern zu können.

**TablesToExclude**  
Gibt die Gruppe von Tabellen an, die von der SQL-Generierung ausgeschlossen sind. Verwenden Sie diese Option, wenn bestimmte Tabellen irrelevant sind oder bei der Generierung von Abfragen nicht berücksichtigt werden sollten. 

**TableAnnotations**  
Stellt Metadaten oder zusätzliche Informationen zu den verwendeten Tabellen bereit. Diese Anmerkungen können Tabellenbeschreibungen, Nutzungshinweise oder zusätzliche Attribute enthalten, die dem generativen SQL von Amazon Q helfen, den Kontext oder die Struktur der Tabelle besser zu verstehen. Dies ist nützlich, um die Genauigkeit der SQL-Generierung zu verbessern, indem es die Tabellendefinitionen übersichtlicher macht.

**ColumnsToInclude**  
Definiert, welche Spalten aus den angegebenen Tabellen bei der Generierung von SQL-Abfragen einbezogen werden. Dieses Feld hilft dem generativen SQL von Amazon Q, sich auf die relevanten Spalten zu konzentrieren, und verbessert die Leistung, indem der Umfang des Datenabrufs eingeschränkt wird. Es stellt sicher, dass das generative SQL von Amazon Q nur Daten abruft, die für den betreffenden Abfragekontext benötigt werden.

**ColumnsToExclude**  
Gibt die Spalten an, die bei der SQL-Generierung nicht berücksichtigt werden. Dies kann verwendet werden, wenn bestimmte Spalten irrelevante oder redundante Daten enthalten, die vom generativen SQL von Amazon Q nicht berücksichtigt werden sollten. Durch die Verwaltung der Einbeziehung und des Ausschlusses von Spalten können Sie die Ergebnisse verfeinern und die Kontrolle über die abgerufenen Daten behalten.

**ColumnAnnotations**  
Ähnlich wie `TableAnnotations` enthält dieses Feld spezifische Metadaten oder Anmerkungen für einzelne Spalten. Diese Anmerkungen können Einblicke in Spaltendefinitionen oder spezielle Behandlungsanweisungen bieten. Diese Informationen sind nützlich, um den SQL-Generierungsprozess zu steuern und sicherzustellen, dass die Spalten in Abfragen angemessen verwendet werden.

**CuratedQueries**  
Eine Reihe vordefinierter Beispiele für Fragen und Antworten, wobei die Frage in natürlicher Sprache (NLQ) geschrieben ist und die entsprechende SQL-Abfrage die Antwort darstellt. Diese Beispiele helfen dem generativen SQL von Amazon Q, zu verstehen, welche Arten von Abfragen es generieren soll. Sie dienen als Referenzpunkte, um die Genauigkeit und Relevanz generativer SQL-Ausgaben von Amazon Q zu verbessern.

**CustomDocuments**  
Zusätzliche Informationen oder Hinweise, die dem generativen SQL von Amazon Q zur Verfügung gestellt werden, wie Definitionen, Domain-spezifisches Wissen oder Erklärungen. Wenn Ihre Geschäftseinheit beispielsweise eine spezielle Methode zur Berechnung eines Werts verwendet, z. B. „In der Fertigungsabteilung ist der Gesamtumsatz Preis x Umsatz“, kann dies hier dokumentiert werden. Diese Dokumente verbessern die Fähigkeit des generativen SQL von Amazon Q, die Eingaben in natürlicher Sprache zu interpretieren, indem sie zusätzlichen Kontext bereitstellen.

**AdditionalTables**  
Gibt alle zusätzlichen Tabellen an, die für die SQL-Generierung berücksichtigt werden sollten, aber nicht Teil der im Data Warehouse gespeicherten Daten sind. Dies ermöglicht es dem generativen SQL von Amazon Q, externe Datenquellen in seine SQL-Generierungslogik zu integrieren und so seine Kapazität für den Umgang mit komplexen Datenumgebungen zu erweitern.

**AppendToPrompt**  
Zusätzliche Anweisungen oder Richtlinien, die dem generativen SQL von Amazon Q zur Verfügung gestellt wurden, um den Prozess der SQL-Generierung zu steuern. Dies kann spezifische Anweisungen zur Strukturierung der Abfrage, Einstellungen für bestimmte SQL-Konstrukte oder andere allgemeine Anweisungen beinhalten, die die Qualität der generativen SQL-Ausgabe von Amazon Q verbessern.

Der folgende benutzerdefinierte Beispielkontext zeigt das Format der JSON-Datei und definiert Folgendes:
+ Einen benutzerdefinierten Kontext für das Amazon Redshift Data Warehouse für den Cluster `mycluster`.
+ Bestimmte Tabellen und Spalten, die einbezogen und ausgeschlossen werden sollen, um den SQL-Generierungsprozess zu optimieren.
+ Anmerkungen für die Tabellen und Spalten, die einbezogen werden sollen.
+ Kuratierte Beispielabfragen für die Verwendung durch das generative SQL von Amazon Q.
+ Benutzerdefinierte Dokumente und Integritätsschutzmaßnahmen, die bei der SQL-Generierung verwendet werden sollen.
+ DDL für zusätzliche Tabellen, die beim Generieren von SQL verwendet werden sollen.

```
{
    "resources": [
        {
            "ResourceId": "mycluster",
            "ResourceType": "REDSHIFT_WAREHOUSE",
            "TablesToInclude": [
                "database.schema.table1",
                "database.schema.table2"
            ],
            "TablesToExclude": [
                "database.schema.table3",
                "database.schema.table4"
            ],
            "ColumnsToInclude": {
                "database.schema.table1": [
                    "col1",
                    "col2"
                ],
                "database.schema.table2": [
                    "col1",
                    "col2"
                ]
            },
            "ColumnsToExclude": {
                "database.schema.table5": [
                    "col1",
                    "col2"
                ],
                "database.schema.table6": [
                    "col1",
                    "col2"
                ]
            },
            "TableAnnotations": {
                "database.schema.table1": "table1 refers to Q3 sales",
                "database.schema.table2": "table2 refers to Q4 sales"
            },
            "ColumnAnnotations": {
                "database.schema.table1": {
                    "col1": "col1 refers to Q3 sale total",
                    "col2": "col2 refers to sale location"
                },
                "database.schema.table2": {
                    "col1": "col2 refers to Q4 sale total",
                    "col2": "col2 refers to sale location"
                }
            },
            "CuratedQueries": [
                {
                    "Question": "what is the sales data for Q3",
                    "Answer": "SELECT * FROM table1"
                },
                {
                    "Question": "what is the sales data for Q4",
                    "Answer": "SELECT * FROM table2"
                }
            ],
            "CustomDocuments": [
                "in manufacturing division total sales is price * revenue",
                "in research division total sales is price * revenue"
            ],
            "AdditionalTables": {
                "database.schema.table8": "create table database.schema.table8(col1 int)",
                "database.schema.table9": "create table database.schema.table9(col1 int)"
            },
            "AppendToPrompt": "Apply these guardrails: Queries should never return the secretId field of a user."
        }
    ]
}
```

# Tutorial: Verwendung der Amazon-Q-Funktion für generatives SQL mit den TICKIT-Daten
<a name="query-editor-v2-generative-ai-example"></a>

Um effiziente Aufforderungen zum Generieren von SQL zu erstellen, müssen Sie sich mit Ihrem Datenbankschema und Ihren Daten vertraut machen. Die TICKIT-Daten umfassen sieben Tabellen, zwei Faktentabellen und fünf Dimensionen. Die Beispieldaten enthalten Aufzeichnungen über Verkäufe an Besucher von Unterhaltungsveranstaltungen, die im Jahr 2008 stattfanden. Weitere Informationen über das TICKIT-Datenschema finden Sie unter [Beispieldatenbank](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. Sie können die TICKIT-Daten mit verschiedenen Methoden in der Amazon Redshift-Konsole und in Query Editor v2 in eine Datenbank laden. Query Editor v2 bietet eine Methode zum Laden von TICKIT-Daten in die Datenbank `sample_data_dev`. Weitere Informationen finden Sie unter [Laden von Daten in eine Datenbank](query-editor-v2-loading.md). Query Editor v2 bietet auch Beispielaufforderungen für die TICKIT-Daten. Das folgende Szenario beschreibt eine Konversation mit generativem SQL zum Generieren von SQL zu den TICKIT-Beispieldaten. In diesem Szenario sind die TICKIT-Beispieldaten bereits in einer Datenbank `dev` in einem Amazon-Redshift-Cluster erstellt. 

**Anmerkung**  
Dieses Beispiel dient der Veranschaulichung einer Konversation. Es kann sein, dass die Antworten des generativen SQL nicht mit den Ergebnissen übereinstimmen, die Sie bei Verwendung derselben Aufforderungen erhalten.

**Beispiel für eine Konversation mit generativem SQL von Amazon Q**

1. Stellen Sie im **Editor** eine Verbindung zu einem Cluster oder einer Arbeitsgruppe her, die die TICKIT-Beispieldaten enthält.

1. Erstellen Sie ein leeres Notebook und wählen Sie das Symbol für generatives SQL ![\[Generative SQL\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-amazon-q.png), um den Chat-Bereich zu öffnen.

1. Geben Sie die folgende Aufforderung ein, um SQL zur Überprüfung der Anzahl der Datensätze in der Tabelle `VENUE` zu generieren:

   ```
   How many venues are there?
   ```

   ```
   SELECT
     COUNT(*) AS num_venues
   FROM
     tickit.venue
   ```

   Wählen Sie **Zu Notebook hinzufügen** aus, um dem geöffneten Notebook zwei Zellen hinzuzufügen. Eine Markdown-Zelle „How many venues are there?“ und eine mit dem generierten SQL.

   Wählen Sie in der SQL-Zelle **Ausführen** aus, um das Ergebnis zu erhalten:

   ```
   count
   ------
   202
   ```

1. Um nach einer anderen Version von SQL zu fragen, wählen Sie **SQL neu generieren** aus. Sie erhalten die folgende Antwort:

   ```
   SELECT
     venuestate,
     COUNT(*) AS num_venues
   FROM
     tickit.venue
   GROUP BY
     venuestate
   ```

   Wählen Sie **Zu Notebook hinzufügen** aus, um dem geöffneten Notebook zwei weitere Zellen hinzuzufügen. Eine Markdown-Zelle „How many venues are there?“ und eine mit dem generierten SQL.

   Wählen Sie in der SQL-Zelle die Option **Ausführen** aus, um das Ergebnis, eine Auflistung der Bundesstaaten der Veranstaltungsorte nach Anzahl, zu erhalten.

   ```
   venuestate num_venues
   ----------------------
   MA         4	
   OH         8	
   MI         5	
   ...
   ```

1. Der generative SQL-Assistent kann Annahmen darüber treffen, was Sie fragen. Obwohl es in der Datenbank keine Widgets gibt, können Sie dennoch fragen. In diesem Fall erhalten Sie die Meldung, dass kein SQL generiert werden konnte.

   ```
   How many widgets are there?
   ```

   ```
   I was not able to generate any SQL
   ```

1. Wenn Sie mehr über Ihre Datenbank erfahren, können Sie spezifischere Fragen zum Generieren von SQL stellen. Sie wissen beispielsweise, dass die Datenbank Verkaufsdaten zu mehreren Monaten im Jahr 2008 enthält. Geben Sie die folgende Aufforderung ein, um SQL zur Ermittlung der Anzahl der Verkäufe im November 2008 zu generieren:

   ```
   How many sales were there in November 2008?
   ```

   ```
   SELECT
     COUNT(*) AS num_sales
   FROM
     tickit.sales s
     JOIN tickit.date d ON s.dateid = d.dateid
   WHERE
     d.month = 'November'
     AND d.year = 2008
   ```

   Wählen Sie **Zu Notebook hinzufügen** aus, um dem geöffneten Notebook zwei Zellen hinzuzufügen. Eine Markdown-Zelle „How many sales were there in November 2008?“ und eine mit dem generierten SQL.

   Wählen Sie in der SQL-Zelle **Ausführen** aus, um das Ergebnis zu erhalten:

   ```
   num_sales
   -----
   0
   ```

   Sie erkennen, dass dies nicht das Ergebnis ist, das Sie erwartet haben.

1. Sie stellen fest, dass das Prädikat `date.month='November'` erwartet, dass der Monat in der DATE-Tabelle durch eine Abkürzung des Monatsnamens dargestellt wird. Sie ändern das Prädikat in `d.month='NOV'` und führen das SQL erneut aus.

   ```
   SELECT
     COUNT(*)
   FROM
     sales
     JOIN date ON sales.dateid = date.dateid
   WHERE
     date.month = 'NOV'
     AND date.year = 2008
   ```

   Wählen Sie in der SQL-Zelle **Ausführen** aus, um neue Ergebnisse zu erhalten.

   ```
   count
   -----
   14261
   ```

1. Wenn Sie eine Frage stellen, die versucht, die verbundene Datenbank zu ändern, wird eine Warnmeldung zusammen mit dem empfohlenen SQL zurückgegeben. Geben Sie die folgende Aufforderung ein, um SQL zum Einfügen von Daten in eine Tabelle zu generieren:

   ```
   Insert 1 into the venue table.
   ```

   ```
   INSERT
   ,
   UPDATE
     OR delete data
   FROM
     the database AS that could potentially change the data.Please provide a query that ONLY selects data
   ```

   ```
   I was not able to generate the correct SQL code. I generated SQL, but you'll have to edit it to work with your database.
   ```

   Wenn Sie **Zu Notebook hinzufügen** auswählen, um dem geöffneten Notebook zwei Zellen hinzuzufügen und das SQL auszuführen, schlägt das SQL fehl.

   ```
   ERROR: syntax error at or near "," Position: 132 [ErrorId: 1-6546764a-011df2691778846219ce6ec2]
   ```

In diesem Szenario wurden nur einige grundlegende Möglichkeiten zur Interaktion mit dem generativen SQL von Amazon Q veranschaulicht. Sie können noch mehr mit dieser generativen KI-Technologie experimentieren, um leichter mit der Erstellung von SQL zur Abfrage Ihrer Datenbank beginnen zu können.

# Laden von Daten in eine Datenbank
<a name="query-editor-v2-loading"></a>

Mit dem Abfrage-Editor v2 können Sie Daten in eine Datenbank in einem Amazon-Redshift-Cluster oder einer Amazon-Redshift-Arbeitsgruppe laden. In diesem Abschnitt wird beschrieben, wie Beispieldaten, Daten aus S3 und Daten aus einer lokalen Dateieinrichtung und einem Workflow geladen werden.

## Beispieldaten
<a name="query-editor-v2-loading-sample-data"></a>

Der Abfrage-Editor v2 umfasst Beispieldaten und -Notebooks, die in eine Beispieldatenbank und ein entsprechendes Schema geladen werden können. 

Um Beispieldaten zu laden, wählen Sie das ![\[External\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/external.png)-Symbol aus, das den zu ladenden Beispieldaten zugeordnet ist. Query Editor v2 lädt dann die Daten in ein Schema in der Datenbank `sample_data_dev` und erstellt einen Ordner mit gespeicherten Notebooks. 

Die folgenden Beispieldatensätze sind verfügbar.

**Tickit**  
In den meisten Beispielen der Amazon-Redshift-Dokumentation werden Beispieldaten namens `tickit` verwendet. Diese Daten umfassen sieben Tabellen, zwei Faktentabellen und fünf Dimensionen. Wenn Sie diese Daten laden, wird das Schema `tickit` mit Beispieldaten aktualisiert. Weitere Informationen über `tickit`-Daten finden Sie unter [Beispieldatenbank](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

**tpch**  
Diese Daten werden für ein Benchmarking zur Entscheidungsunterstützung verwendet. Wenn Sie diese Daten laden, wird das Schema `tpch` mit Beispieldaten aktualisiert. Weitere Informationen zu `tpch`-Daten finden Sie unter [TPC-H](http://www.tpc.org/tpch/). 

**tpcds**  
Diese Daten werden für ein Benchmarking zur Entscheidungsunterstützung verwendet. Wenn Sie diese Daten laden, wird das Schema `tpcds` mit Beispieldaten aktualisiert. Weitere Informationen zu `tpcds`-Daten finden Sie unter [TPC-DS](http://www.tpc.org/tpcds/). 

# Daten aus Amazon S3 laden
<a name="query-editor-v2-loading-data"></a>

Sie können Amazon-S3-Daten in eine vorhandene oder neue Tabelle laden.

**Daten in eine vorhandene Tabelle laden**

Der Abfrage-Editor v2 nutzt den Befehl COPY, um Daten aus Amazon S3 zu laden. Der Befehl COPY wird im Assistenten „Load data“ (Daten laden) des Abfrage-Editors v2 generiert und verwendet. Er unterstützt viele Parameter, die für die COPY-Befehlssyntax zum Kopieren aus Amazon S3 verfügbar sind. Weitere Informationen über den Befehl COPY und seine Optionen zum Laden von Daten aus Amazon S3 finden Sie unter [COPY aus dem Amazon-Simple-Storage-Service](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

1. Vergewissern Sie sich, dass die Tabelle bereits in der Datenbank erstellt wurde, in die Sie Daten laden möchten. 

1. Vergewissern Sie sich in der Strukturansicht von Query Editor v2, dass Sie mit der Zieldatenbank verbunden sind, bevor Sie fortfahren. Sie können über das Kontextmenü (rechte Maustaste) eine Verbindung zu dem Cluster oder der Arbeitsgruppe herstellen, in den/die die Daten geladen werden.

   Wählen Sie ![\[Load\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-upload.png)**Load data** (Daten laden) aus.

1. Wählen Sie für **Datenquelle** die Option **Aus S3-Bucket laden** aus.

1. Wählen Sie in **S3** **Browse S3 URIs**, um nach dem Amazon S3 S3-Bucket zu suchen, der die zu ladenden Daten enthält. 

1. Wenn sich der angegebene Amazon S3 S3-Bucket nicht in derselben Tabelle befindet AWS-Region wie die Zieltabelle, wählen Sie den **S3-Dateispeicherort für den AWS-Region Speicherort** der Daten.

1. Wählen Sie **Diese Datei ist eine Manifestdatei**, wenn es sich bei der Amazon S3-Datei tatsächlich um ein Manifest handelt, das mehrere Amazon S3 S3-Buckets enthält URIs.

1. Wählen Sie das **File format** (Dateiformat) für die hochzuladende Datei. Die unterstützten Datenformate sind CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET und ORC. Abhängig vom angegebenen Dateiformat können Sie die jeweiligen **File options** (Dateioptionen) auswählen. Sie können auch **Data is encrypted** (Daten sind verschlüsselt) auswählen, wenn die Daten verschlüsselt sind. Geben Sie dann den Amazon-Ressourcennamen (ARN) des KMS-Schlüssels ein, mit dem die Daten verschlüsselt werden.

   Wenn Sie CSV oder DELIMITER auswählen, können Sie auch das **Trennzeichen** auswählen und angeben, ob Sie die **Kopfzeilen ignorieren** möchten, wenn es sich bei der angegebenen Anzahl von Zeilen tatsächlich um Spaltennamen und nicht um zu ladende Daten handelt.

1. Wählen Sie eine Komprimierungsmethode aus, mit der Ihre Datei komprimiert werden soll. Die Standardeinstellung ist keine Komprimierung.

1. (Optional) In den **Advanced settings** (erweiterten Einstellungen) finden Sie verschiedene **Data conversion parameters** (Datenkonvertierungsparameter) und **Load operations** (Ladeoperationen). Geben Sie diese Informationen nach Bedarf für Ihre Datei ein.

   Weitere Informationen zu Datenkonvertierung und Datenladeparametern finden Sie unter [Data conversion parameters](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) (Datenkonvertierungsparameter) und [Data load operations](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html) (Datenladeoperationen) im *Amazon Redshift Database Developer Guide* (Datenbankleitfaden zu Amazon Redshift).

1. Wählen Sie **Weiter** aus.

1. Wählen Sie **Bestehende Tabelle laden** aus.

1. Bestätigen oder wählen Sie den Standort der **Zieltabelle**, einschließlich **Cluster oder Arbeitsgruppe**, **Datenbank**, **Schema** und Name der **Tabelle**, in die die Daten geladen werden.

1. Wählen Sie eine **IAM role** (IAM-Rolle) aus, die über die erforderlichen Berechtigungen zum Laden von Daten aus Amazon S3 verfügt.

1. (Optional) Wählen Sie Spaltennamen aus, um sie in das Feld **Column mapping** (Spaltenzuordnung) einzugeben, damit die Spalten in der Reihenfolge der Eingabedatendatei zugeordnet werden.

1. Wählen Sie **Load data** (Daten laden), um das Laden der Daten zu starten.

   Nach Abschluss des Ladens wird der Abfrage-Editor mit dem generierten COPY-Befehl angezeigt, der zum Laden Ihrer Daten verwendet wurde. Das **Result** (Ergebnis) von COPY wird angezeigt. Bei Erfolg können Sie nun mithilfe von SQL Daten aus der geladenen Tabelle auswählen. Wenn ein Fehler auftritt, stellen Sie eine Systemansicht-Abfrage (STL\$1LOAD\$1ERRORS), um weitere Details zu erfahren. Informationen über Fehler beim Befehl COPY finden Sie unter [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

Wenn Sie Daten in eine neue Tabelle laden, erstellt Query Editor v2 zuerst die Tabelle in der Datenbank und lädt die Daten dann als separate Aktionen in demselben Workflow.

**So laden Sie Daten in eine neue Tabelle**

Der Abfrage-Editor v2 nutzt den Befehl COPY, um Daten aus Amazon S3 zu laden. Der Befehl COPY wird im Assistenten „Load data“ (Daten laden) des Abfrage-Editors v2 generiert und verwendet. Er unterstützt viele Parameter, die für die COPY-Befehlssyntax zum Kopieren aus Amazon S3 verfügbar sind. Weitere Informationen über den Befehl COPY und seine Optionen zum Laden von Daten aus Amazon S3 finden Sie unter [COPY aus dem Amazon-Simple-Storage-Service](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

1. Vergewissern Sie sich in der Strukturansicht von Query Editor v2, dass Sie mit der Zieldatenbank verbunden sind, bevor Sie fortfahren. Sie können über das Kontextmenü (rechte Maustaste) eine Verbindung zu dem Cluster oder der Arbeitsgruppe herstellen, in den/die die Daten geladen werden.

   Wählen Sie ![\[Load\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-upload.png)**Load data** (Daten laden) aus.

1. Wählen Sie für **Datenquelle** die Option **Aus S3-Bucket laden** aus.

1. Wählen Sie in **S3** **Browse S3 URIs**, um nach dem Amazon S3 S3-Bucket zu suchen, der die zu ladenden Daten enthält. 

1. Wenn sich der angegebene Amazon S3 S3-Bucket nicht in derselben Tabelle befindet AWS-Region wie die Zieltabelle, wählen Sie den **S3-Dateispeicherort für den AWS-Region Speicherort** der Daten.

1. Wählen Sie **Diese Datei ist eine Manifestdatei**, wenn es sich bei der Amazon S3-Datei tatsächlich um ein Manifest handelt, das mehrere Amazon S3 S3-Buckets enthält URIs.

1. Wählen Sie das **File format** (Dateiformat) für die hochzuladende Datei. Die unterstützten Datenformate sind CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET und ORC. Abhängig vom angegebenen Dateiformat können Sie die jeweiligen **File options** (Dateioptionen) auswählen. Sie können auch **Data is encrypted** (Daten sind verschlüsselt) auswählen, wenn die Daten verschlüsselt sind. Geben Sie dann den Amazon-Ressourcennamen (ARN) des KMS-Schlüssels ein, mit dem die Daten verschlüsselt werden.

   Wenn Sie CSV oder DELIMITER auswählen, können Sie auch das **Trennzeichen** auswählen und angeben, ob Sie die **Kopfzeilen ignorieren** möchten, wenn es sich bei der angegebenen Anzahl von Zeilen tatsächlich um Spaltennamen und nicht um zu ladende Daten handelt.

1. Wählen Sie eine Komprimierungsmethode aus, mit der Ihre Datei komprimiert werden soll. Die Standardeinstellung ist keine Komprimierung.

1. (Optional) In den **Advanced settings** (erweiterten Einstellungen) finden Sie verschiedene **Data conversion parameters** (Datenkonvertierungsparameter) und **Load operations** (Ladeoperationen). Geben Sie diese Informationen nach Bedarf für Ihre Datei ein.

   Weitere Informationen zu Datenkonvertierung und Datenladeparametern finden Sie unter [Data conversion parameters](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) (Datenkonvertierungsparameter) und [Data load operations](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html) (Datenladeoperationen) im *Amazon Redshift Database Developer Guide* (Datenbankleitfaden zu Amazon Redshift).

1. Wählen Sie **Weiter** aus.

1. Wählen Sie **Neue Tabelle laden** aus.

   Die Tabellenspalten werden aus den Eingabedaten abgeleitet. Sie können die Definition des Tabellenschemas ändern, indem Sie Spalten und Tabellendetails hinzufügen. Um zum abgeleiteten Tabellenschema von Query Editor v2 zurückzukehren, wählen Sie **Auf Standardwerte zurücksetzen** aus.

1. Bestätigen oder wählen Sie den Standort der **Zieltabelle**, einschließlich **Cluster oder Arbeitsgruppe**, **Datenbank** und **Schema**, in die die Daten geladen werden. Geben Sie einen Namen für die zu erstellende **Tabelle** ein.

1. Wählen Sie eine **IAM role** (IAM-Rolle) aus, die über die erforderlichen Berechtigungen zum Laden von Daten aus Amazon S3 verfügt.

1. Wählen Sie **Tabelle erstellen** aus, um die Tabelle unter Verwendung der angezeigten Definition zu erstellen.

   Eine Zusammenfassung der Tabellendefinition zur Überprüfung wird angezeigt. Die Tabelle wird in der Datenbank erstellt. Um die Tabelle später zu löschen, führen Sie einen SQL-Befehl DROP TABLE aus. Weitere Informationen finden Sie unter [DROP TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

1. Wählen Sie **Load data** (Daten laden), um das Laden der Daten zu starten.

   Nach Abschluss des Ladens wird der Abfrage-Editor mit dem generierten COPY-Befehl angezeigt, der zum Laden Ihrer Daten verwendet wurde. Das **Result** (Ergebnis) von COPY wird angezeigt. Bei Erfolg können Sie nun mithilfe von SQL Daten aus der geladenen Tabelle auswählen. Wenn ein Fehler auftritt, stellen Sie eine Systemansicht-Abfrage (STL\$1LOAD\$1ERRORS), um weitere Details zu erfahren. Informationen über Fehler beim Befehl COPY finden Sie unter [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

# Laden von Daten aus einer lokalen Datei – Einrichtung und Workflow
<a name="query-editor-v2-loading-data-local"></a>

Sie können Daten aus einer lokalen Datei in eine vorhandene oder neue Tabelle laden.

## Einrichtung durch den Administrator für das Laden von Daten aus einer lokalen Datei
<a name="query-editor-v2-loading-data-local-setup"></a>

Ihr Administrator für den Abfrage-Editor v2 muss den gemeinsamen Amazon-S3-Bucket im Fenster **Account settings** (Kontoeinstellungen) angeben. Die Kontobenutzer müssen mit den richtigen Berechtigungen konfiguriert werden.
+ Erforderliche IAM-Berechtigungen: Die Benutzer, die die Funktion zum Laden von Daten aus einer lokalen Datei verwenden sollen, müssen über die Berechtigungen `s3:ListBucket`, `s3:GetBucketLocation`, `s3:putObject`, `s3:getObject` und `s3:deleteObject` verfügen. Die *optional-prefix* kann angegeben werden, um die Verwendung dieses Buckets im Zusammenhang mit dem Abfrage-Editor v2 auf Objekte mit diesem Präfix zu beschränken. Diese Option könnten Sie verwenden, wenn Sie denselben Amazon-S3-Bucket auch für andere Zwecke als den Abfrage-Editor v2 verwenden. Weitere Informationen zu Buckets und Präfixen finden Sie unter [Verwalten des Benutzerzugriffs auf bestimmte Ordner](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-folders) im *Benutzerhandbuch zu Amazon Simple Storage Service*. Um sicherzustellen, dass kein benutzerübergreifender Datenzugriff zulässig ist, empfehlen wir dem Administrator für Query Editor v2, eine Amazon-S3-Bucket-Richtlinie zu verwenden, um den Objektzugriff auf der Grundlage von `aws:userid` einzuschränken. Das folgende Beispiel gewährt Amazon S3 S3-Berechtigungen für a *<staging-bucket-name>* mit Lese-/Schreibzugriff nur für Amazon S3 S3-Objekte mit dem Präfix `aws:userid` as.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:ListBucket",
                  "s3:GetBucketLocation"
              ],
              "Resource": [
                  "arn:aws:s3:::<staging-bucket-name>"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "s3:GetObject",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::<staging-bucket-name>[/<optional-prefix>]/${aws:userid}/*"
              ]
          }
      ]
  }
  ```

------
+ Datentrennung: Die Benutzer sollten keinen Zugriff auf die Daten der anderen Benutzer haben (auch nicht kurzzeitig). Beim Laden aus einer lokalen Datei wird der Amazon-S3-Staging-Bucket verwendet, der vom Administrator für den Abfrage-Editor v2 eingerichtet wurde. Konfigurieren Sie die Bucket-Richtlinie für den Staging-Bucket, um für eine Datentrennung zwischen Benutzern zu sorgen. Das folgende Beispiel zeigt eine Bucket-Richtlinie, die Daten zwischen Benutzern von trennt. *<staging-bucket-name>*

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

****  

  ```
  {
   "Version":"2012-10-17",		 	 	 
      "Statement": [
          {"Sid": "userIdPolicy",
              "Effect": "Deny",
              "Principal": "*",
              "Action": ["s3:PutObject",
                         "s3:GetObject",
                         "s3:DeleteObject"],
              "NotResource": [
                  "arn:aws:s3:::<staging-bucket-name>[/<optional-prefix>]/${aws:userid}/*"
              ]
           }
      ]
  }
  ```

------

## Laden von Daten aus einer lokalen Datei
<a name="query-editor-v2-loading-data-local-procedure"></a>

**So laden Sie Daten aus einer lokalen Datei in eine vorhandene Tabelle**

Ihr Administrator für Query Editor v2 muss den gemeinsamen Amazon-S3-Bucket im Fenster **Kontoeinstellungen** angeben. Query Editor v2 lädt die lokale Datei automatisch in einen von Ihrem Konto verwendeten gemeinsamen Amazon-S3-Bucket hoch und verwendet dann den Befehl COPY zum Laden von Daten. Der Befehl COPY wird im Fenster „Load local file“ (Lokale Datei laden) des Abfrage-Editors v2 generiert und ausgeführt. Er unterstützt viele Parameter, die für die COPY-Befehlssyntax zum Kopieren aus Amazon S3 verfügbar sind. Weitere Informationen über den Befehl COPY und seine Optionen zum Laden von Daten aus Amazon S3 finden Sie unter [COPY aus Amazon S3](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

1. Vergewissern Sie sich, dass die Tabelle bereits in der Datenbank erstellt wurde, in die Sie Daten laden möchten. 

1. Vergewissern Sie sich in der Strukturansicht des Abfrageeditors v2, dass Sie mit der Zieldatenbank verbunden sind. Sie können über das Kontextmenü (rechte Maustaste) eine Verbindung zu dem Cluster oder der Arbeitsgruppe herstellen, in den/die die Daten geladen werden. 

1. Wählen Sie ![\[Load\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-upload.png)**Load data** (Daten laden) aus.

1. Wählen Sie für **Data source** (Datenquelle) die Option **Load from local file** (Aus lokaler Datei laden) aus.

1. Wählen Sie **Durchsuchen** aus, um nach der Datei zu suchen, die die Daten für **Datei laden** enthält. Standardmäßig werden Dateien mit der Erweiterung `.csv`, `.avro`, `.parquet` und `.orc` angezeigt, Sie können jedoch auch andere Dateitypen auswählen. Die maximale -Dateigröße ist 100 MB.

1. Wählen Sie das **File format** (Dateiformat) für die hochzuladende Datei. Die unterstützten Datenformate sind CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET und ORC. Abhängig vom angegebenen Dateiformat können Sie die jeweiligen **File options** (Dateioptionen) auswählen. Sie können auch **Data is encrypted** (Daten sind verschlüsselt) auswählen, wenn die Daten verschlüsselt sind. Geben Sie dann den Amazon-Ressourcennamen (ARN) des KMS-Schlüssels ein, mit dem die Daten verschlüsselt werden.

   Wenn Sie CSV oder DELIMITER auswählen, können Sie auch das **Trennzeichen** auswählen und angeben, ob Sie die **Kopfzeilen ignorieren** möchten, wenn es sich bei der angegebenen Anzahl von Zeilen tatsächlich um Spaltennamen und nicht um zu ladende Daten handelt.

1. (Optional) In den **Advanced settings** (erweiterten Einstellungen) finden Sie verschiedene **Data conversion parameters** (Datenkonvertierungsparameter) und **Load operations** (Ladeoperationen). Geben Sie diese Informationen nach Bedarf für Ihre Datei ein.

   Weitere Informationen zu Datenkonvertierung und Datenladeparametern finden Sie unter [Data conversion parameters](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) (Datenkonvertierungsparameter) und [Data load operations](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html) (Datenladeoperationen) im *Amazon Redshift Database Developer Guide* (Datenbankleitfaden zu Amazon Redshift).

1. Wählen Sie **Weiter** aus.

1. Wählen Sie **Bestehende Tabelle laden** aus.

1. Bestätigen oder wählen Sie den Standort der **Zieltabelle**, einschließlich **Cluster oder Arbeitsgruppe**, **Datenbank**, **Schema** und Name der **Tabelle**, in die die Daten geladen werden.

1. (Optional) Sie können Spaltennamen auswählen, um sie in das Feld **Column mapping** (Spaltenzuordnung) einzugeben, damit die Spalten in der Reihenfolge der Eingabedatendatei zugeordnet werden.

1. Wählen Sie **Load data** (Daten laden), um das Laden der Daten zu starten.

   Wenn der Ladevorgang abgeschlossen ist, wird eine Nachricht mit der Mitteilung angezeigt, ob der Ladevorgang erfolgreich war oder nicht. Bei Erfolg können Sie nun mithilfe von SQL Daten aus der geladenen Tabelle auswählen. Wenn ein Fehler auftritt, stellen Sie eine Systemansicht-Abfrage (STL\$1LOAD\$1ERRORS), um weitere Details zu erfahren. Informationen über Fehler beim Befehl COPY finden Sie unter [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

   Die Vorlage für den Befehl COPY, die zum Laden von Daten verwendet wurde, wird in Ihrem Abfrageverlauf (**Query history**) angezeigt. In der Vorlage für den Befehl COPY sind einige der verwendeten Parameter aufgeführt, die Vorlage kann jedoch nicht direkt in einer Registerkarte des Editors ausgeführt werden. Weitere Informationen zum Abfrageverlauf finden Sie unter [Abfrage- und Registerkarten-Verlauf anzeigen](query-editor-v2-history.md).

Wenn Sie Daten in eine neue Tabelle laden, erstellt Query Editor v2 zuerst die Tabelle in der Datenbank und lädt die Daten dann als separate Aktionen in demselben Workflow.

**So laden Sie Daten aus einer lokalen Datei in eine neue Tabelle**

Ihr Administrator für den Abfrage-Editor v2 muss den gemeinsamen Amazon-S3-Bucket im Fenster **Account settings** (Kontoeinstellungen) angeben. Die lokale Datei wird automatisch in einen von Ihrem Konto verwendeten gemeinsamen Amazon-S3-Bucket hochgeladen. Anschließend verwendet der Abfrage-Editor v2 den Befehl COPY zum Laden von Daten. Der Befehl COPY wird im Fenster „Load local file“ (Lokale Datei laden) des Abfrage-Editors v2 generiert und ausgeführt. Er unterstützt viele Parameter, die für die COPY-Befehlssyntax zum Kopieren aus Amazon S3 verfügbar sind. Weitere Informationen über den Befehl COPY und seine Optionen zum Laden von Daten aus Amazon S3 finden Sie unter [COPY aus Amazon S3](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-source-s3.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

1. Vergewissern Sie sich in der Strukturansicht des Abfrageeditors v2, dass Sie mit der Zieldatenbank verbunden sind. Sie können über das Kontextmenü (rechte Maustaste) eine Verbindung zu dem Cluster oder der Arbeitsgruppe herstellen, in den/die die Daten geladen werden. 

1. Wählen Sie ![\[Load\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-upload.png)**Load data** (Daten laden) aus.

1. Wählen Sie für **Data source** (Datenquelle) die Option **Load from local file** (Aus lokaler Datei laden) aus.

1. Wählen Sie **Durchsuchen** aus, um nach der Datei zu suchen, die die Daten für **Datei laden** enthält. Standardmäßig werden Dateien mit der Erweiterung `.csv`, `.avro`, `.parquet` und `.orc` angezeigt, Sie können jedoch auch andere Dateitypen auswählen. Die maximale -Dateigröße ist 100 MB.

1. Wählen Sie das **File format** (Dateiformat) für die hochzuladende Datei. Die unterstützten Datenformate sind CSV, JSON, DELIMITER, FIXEDWIDTH, SHAPEFILE, AVRO, PARQUET und ORC. Abhängig vom angegebenen Dateiformat können Sie die jeweiligen **File options** (Dateioptionen) auswählen. Sie können auch **Data is encrypted** (Daten sind verschlüsselt) auswählen, wenn die Daten verschlüsselt sind. Geben Sie dann den Amazon-Ressourcennamen (ARN) des KMS-Schlüssels ein, mit dem die Daten verschlüsselt werden.

   Wenn Sie CSV oder DELIMITER auswählen, können Sie auch das **Trennzeichen** auswählen und angeben, ob Sie die **Kopfzeilen ignorieren** möchten, wenn es sich bei der angegebenen Anzahl von Zeilen tatsächlich um Spaltennamen und nicht um zu ladende Daten handelt.

1. (Optional) In den **Advanced settings** (erweiterten Einstellungen) finden Sie verschiedene **Data conversion parameters** (Datenkonvertierungsparameter) und **Load operations** (Ladeoperationen). Geben Sie diese Informationen nach Bedarf für Ihre Datei ein.

   Weitere Informationen zu Datenkonvertierung und Datenladeparametern finden Sie unter [Data conversion parameters](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) (Datenkonvertierungsparameter) und [Data load operations](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html) (Datenladeoperationen) im *Amazon Redshift Database Developer Guide* (Datenbankleitfaden zu Amazon Redshift).

1. Wählen Sie **Weiter** aus.

1. Wählen Sie **Neue Tabelle laden** aus.

1. Bestätigen oder wählen Sie den Standort der **Zieltabelle**, einschließlich **Cluster oder Arbeitsgruppe**, **Datenbank** und **Schema**, in die die Daten geladen werden. Geben Sie einen Namen für die zu erstellende **Tabelle** ein.

1. Wählen Sie **Tabelle erstellen** aus, um die Tabelle unter Verwendung der angezeigten Definition zu erstellen.

   Eine Zusammenfassung der Tabellendefinition zur Überprüfung wird angezeigt. Die Tabelle wird in der Datenbank erstellt. Um die Tabelle später zu löschen, führen Sie einen SQL-Befehl DROP TABLE aus. Weitere Informationen finden Sie unter [DROP TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

1. Wählen Sie **Load data** (Daten laden), um das Laden der Daten zu starten.

   Wenn der Ladevorgang abgeschlossen ist, wird eine Nachricht mit der Mitteilung angezeigt, ob der Ladevorgang erfolgreich war oder nicht. Bei Erfolg können Sie nun mithilfe von SQL Daten aus der geladenen Tabelle auswählen. Wenn ein Fehler auftritt, stellen Sie eine Systemansicht-Abfrage (STL\$1LOAD\$1ERRORS), um weitere Details zu erfahren. Informationen über Fehler beim Befehl COPY finden Sie unter [STL\$1LOAD\$1ERRORS](https://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

   Die Vorlage für den Befehl COPY, die zum Laden von Daten verwendet wurde, wird in Ihrem Abfrageverlauf (**Query history**) angezeigt. In der Vorlage für den Befehl COPY sind einige der verwendeten Parameter aufgeführt, die Vorlage kann jedoch nicht direkt in einer Registerkarte des Editors ausgeführt werden. Weitere Informationen zum Abfrageverlauf finden Sie unter [Abfrage- und Registerkarten-Verlauf anzeigen](query-editor-v2-history.md).

# Erstellen von Abfragen mit Amazon Redshift
<a name="query-editor-v2-query-run"></a>

Sie können eine Abfrage im Editor eingeben oder eine gespeicherte Abfrage aus der Liste **Queries** (Abfragen) auswählen und auf **Run** (Ausführen) gehen.

Beim Standardwert von **Limit 100** sind die Ergebnisse auf 100 Zeilen begrenzt. Sie können diese Option deaktivieren, damit eine größere Ergebnismenge zurückzugeben wird. Wenn Sie diese Option deaktivieren, können Sie die Option LIMIT in Ihre SQL-Anweisung aufnehmen, wenn Sie sehr große Ergebnismengen vermeiden möchten. Weitere Informationen finden Sie unter [ORDER BY-Klausel](https://docs.aws.amazon.com/redshift/latest/dg/r_ORDER_BY_clause.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

Um einen Abfrageplan im Ergebnisbereich anzuzeigen, aktivieren Sie **Explain** (Erläuterung). Aktivieren Sie **Explain graph** (Diagramm erläutern), damit die Ergebnisse auch eine grafische Darstellung des Erläuterungsplans anzeigen.

Um eine Abfrage im Ordner **Queries** (Abfragen) zu speichern, wählen Sie **Save** (Speichern) aus.

Bei einer erfolgreichen Abfrage wird eine Erfolgsmeldung angezeigt. Wenn die Abfrage Informationen zurückgibt, werden die Ergebnisse im Abschnitt **Results** (Ergebnisse) gezeigt. Wenn die Anzahl der Ergebnisse den Anzeigebereich überschreitet, erscheinen oben im Ergebnisbereich Zahlen. Sie können die Zahlen auswählen, um die Ergebnisse auf aufeinanderfolgenden Seiten anzuzeigen.

Sie können den Abschnitt **Result** (Ergebnis) für jede Spalte filtern und sortieren. Um Filterkriterien in die Ergebnisspaltenüberschrift einzugeben, bewegen Sie den Mauszeiger über die Spalte. Es erscheint ein Menü (![\[Filter menu\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/menu.png)), wo Sie Kriterien zum Filtern eingeben können.

Wenn die Abfrage einen Fehler enthält, zeigt der Abfrage-Editor v2 eine Fehlermeldung im Ergebnisbereich an. Die Nachricht enthält Informationen dazu, wie die Abfrage korrigiert werden kann.

Sie können die Ergebnisse Ihrer Abfrage exportieren oder kopieren, indem Sie das Kontextmenü (Rechtsklick) im Ergebnisbereich wie folgt verwenden:
+ Wählen Sie **Kopieren nach** und entweder **JSON** oder **CSV** aus, um die ausgewählten Zeilen in eine Datei herunterzuladen.
+ Wählen Sie **Zeilen kopieren** aus, um die ausgewählten Zeilen in die Zwischenablage zu kopieren.
+ Wählen Sie **Zeilen mit Kopfzeilen kopieren** aus, um die ausgewählten Zeilen mit den Spaltenüberschriften in die Zwischenablage zu kopieren.

Sie können auch **Exportieren** im Ergebnisbereich und dann entweder **JSON** oder **CSV** auswählen, um den gesamten Satz von Zeilenergebnissen in eine Datei herunterzuladen. Die Anzahl der Zeilen im Ergebnissatz kann durch die Option **Limit** oder die SQL-`limit`-Klausel in der Abfrage beschränkt werden. Die maximale Größe des heruntergeladenen Ergebnissatzes beträgt 5 MB.

Sie können auch die Tastenkombination Strg\$1C unter Windows oder Cmd\$1C unter macOS verwenden, um Daten von der aktuellen Ergebnisseite in die Zwischenablage zu kopieren. Wenn keine Zeilen ausgewählt sind, wird die Zelle mit Fokus in die Zwischenablage kopiert. Nachdem Zeilen ausgewählt sind, werden die ausgewählten Zeilen in die Zwischenablage kopiert.

Um eine neue Abfrage-Registerkarte hinzuzufügen, wählen Sie das Symbol ![\[New query tab\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/add-plus.png) und dann die Option **Editor** aus, die in der Zeile mit den Abfrage-Registerkarten angezeigt wird. Die Abfrage-Registerkarte verwendet eine `Isolated session` oder auch nicht. Bei einer isolierten Verbindung sind die Ergebnisse eines SQL-Befehls, z. B. das Erstellen einer temporären Tabelle, auf einer anderen Editor-Registerkarte nicht sichtbar. Wenn Sie eine Editor-Registerkarte im Abfrage-Editor v2 öffnen, ist die Standardeinstellung eine isolierte Sitzung. 

**Eine Abfrage ausführen**

1. Führen Sie im Abfragebereich einen der folgenden Schritte aus:
   + Geben Sie eine Abfrage ein.
   + Fügen Sie eine Abfrage ein, die Sie kopiert haben.
   + Wählen Sie den Ordner **Queries** (Abfragen), öffnen Sie das Kontextmenü (rechte Maustaste) über einer gespeicherten Abfrage und wählen Sie **Open query** (Abfrage öffnen) aus.

1. Vergewissern Sie sich, dass Sie den richtigen Wert für den **Cluster** oder die **Workgroup** (Arbeitsgruppe) und die **Database** (Datenbank) für das SQL ausgewählt haben, das Sie ausführen möchten. 

   Zunächst können Sie Ihren **Cluster** oder Ihre **Workgroup** (Arbeitsgruppe) in der Strukturansicht auswählen. Wählen Sie Ihre **Database** (Datenbank) auch in der Strukturansicht.

   Sie können **Cluster** oder **Arbeitsgruppe** sowie **Datenbank** innerhalb jeder Editor-Registerkarte mit dem Dropdown-Steuerelement neben der Kopfzeile **Isolierte Sitzung** der jeweiligen Editor-Registerkarte ändern.

   Für jede Editor-Registerkarte wählen Sie aus, ob der SQL-Befehl in einer **Isolated session** (Isolierte Sitzung) ausgeführt werden soll. Eine isolierte Sitzung hat eine eigene Verbindung mit einer Datenbank. Verwenden Sie diese, um SQL auszuführen, das von anderen Abfrage-Editor-Sitzungen isoliert ist. Weitere Informationen zu Verbindungen finden Sie unter [Öffnen des Abfrage-Editors v2](query-editor-v2-open.md).

1. Wählen Sie **Run** (Ausführen) aus.

   Der Bereich **Result** (Ergebnis) öffnet sich. Dort werden die Ergebnisse angezeigt.

**Den Erläuterungsplan für eine Abfrage anzeigen**

1. Wählen Sie die Abfrage aus.

1. Aktivieren Sie **Explain** (Erläutern).

   Standardmäßig ist das **Explain graph**(Erläuterungsdiagramm) ebenfalls aktiviert.

1. Klicken Sie auf **Ausführen**.

   Die Abfrage wird ausgeführt und der Erläuterungsplan wird im Bereich **Result** (Ergebnis) der Abfrage angezeigt.

Die Abfragen-Editor v2 unterstützt die folgenden Funktionen:
+ Sie können Abfragen mit mehreren SQL-Anweisungen auf einer Abfrageregisterkarte erstellen. Die Abfragen werden seriell ausgeführt und es werden mehrere Ergebnisregisterkarten für die einzelnen Abfragen geöffnet. 
+ Sie können Abfragen mit Sitzungsvariablen und temporären Tabellen erstellen.
+ Sie können Abfragen mit austauschbaren Parametern erstellen, die durch `${parameter}` bestimmt sind. Sie können Ihre SQL-Abfrage mit mehreren austauschbaren Parametern erstellen und denselben Parameter an mehreren Stellen in Ihrer SQL-Anweisung verwenden. 

  Wenn die Abfrage ausgeführt wird, wird ein Fenster angezeigt, in das Sie den Wert des Parameters eingeben. Jedes Mal, wenn Sie die Abfrage ausführen, wird das Fenster angezeigt, in dem Sie Ihre Parameterwerte eingeben können. 

  Ein Beispiel finden Sie unter [Beispiel: Umsatz größer als ein bestimmter Parameter](#query-editor-v2-example-sales-qtysold-greater-than-parameter). 
+ Abfragen werden automatisch versioniert. Sie können eine frühere Version einer auszuführenden Abfrage auswählen.
+ Sie müssen nicht warten, bis eine Abfrage abgeschlossen ist, bevor Sie mit dem Workflow fortfahren. Abfragen werden weiterhin ausgeführt, auch wenn Sie den Abfrage-Editor schließen.
+ Beim Erstellen von Abfragen wird das automatische Vervollständigen von Schema-, Tabellen- und Spaltennamen unterstützt.

Die SQL-Editor unterstützt die folgenden Funktionen:
+ Die in SQL verwendeten Anfangs- und Endklammern haben übereinstimmende Farben. Im Editor werden vertikale Linien angezeigt, um Ihnen beim Zuordnen von Klammern zu helfen.
+ Sie können Abschnitte Ihres SQL reduzieren und erweitern. 
+ Sie können Text in Ihrem SQL suchen und ersetzen.
+ Sie können Tastenkombinationen für verschiedene allgemeine Bearbeitungsaufgaben verwenden.
+ Im Editor werden SQL-Fehler hervorgehoben, um ein einfaches Auffinden von Problembereichen zu ermöglichen.

Eine Demo der Editorfunktionen finden Sie im folgenden Video. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/9JAq0yDs0YE/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/9JAq0yDs0YE)


## Abfragebeispiele
<a name="query-editor-v2-examples"></a>

Im Folgenden finden Sie Beschreibungen der verschiedenen Abfragetypen, die Sie ausführen können. 

Die in vielen dieser Abfragen verwendeten Daten stammen aus dem `tickit`-Beispielschema. Weitere Informationen zum Laden der `tickit`-Beispieldaten finden Sie unter [Laden von Daten in eine Datenbank](query-editor-v2-loading.md). Weitere Informationen über `tickit`-Beispieldaten finden Sie unter [Beispieldatenbank](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.

Wenn Sie diese Beispielabfragen ausführen, bestätigen Sie, dass Sie die richtige Datenbank im Editor ausgewählt haben, z. B. `sample_data_dev`.

**Topics**
+ [Beispiel: Setzen von Sitzungsvariablen](#query-editor-v2-example-set-session-variable)
+ [Beispiel: Top-Veranstaltung nach Gesamtumsatz](#query-editor-v2-example-top-event-sales)
+ [Beispiel: Umsatz größer als ein bestimmter Parameter](#query-editor-v2-example-sales-qtysold-greater-than-parameter)
+ [Beispiel: Erstellen einer temporären Tabelle](#query-editor-v2-example-create-temporary-table)
+ [Beispiel: Auswahl aus einer temporären Tabelle](#query-editor-v2-example-select-from-temporary-table)

### Beispiel: Setzen von Sitzungsvariablen
<a name="query-editor-v2-example-set-session-variable"></a>

Mit dem folgenden Befehl wird der `search_path`-Server-Konfigurationsparameter für die Sitzung auf *public* (öffentlich) gesetzt. Weitere Informationen finden Sie unter [SET](https://docs.aws.amazon.com/redshift/latest/dg/r_SET.html) und [search\$1path](https://docs.aws.amazon.com/redshift/latest/dg/r_search_path.html)*im Datenbankentwicklerhandbuch zu Amazon Redshift*. 

```
set search_path to public;
```

### Beispiel: Top-Veranstaltung nach Gesamtumsatz
<a name="query-editor-v2-example-top-event-sales"></a>

Die folgende Abfrage findet die Veranstaltung mit dem größten Umsatz. 

```
select eventname, count(salesid) totalorders, sum(pricepaid) totalsales
from sales, event
where sales.eventid=event.eventid
group by eventname
order by 3;
```

Es folgt eine unvollständige Liste der Ergebnisse.

```
eventname           totalorders       totalsales
White Christmas         20              9352
Joshua Radin            38             23469
Beach Boys              58             30383
Linda Ronstadt          56             35043
Rascal Flatts           76             38214
Billy Idol              67             40101
Stephenie Meyer         72             41509
Indigo Girls            57             45399
...
```

### Beispiel: Umsatz größer als ein bestimmter Parameter
<a name="query-editor-v2-example-sales-qtysold-greater-than-parameter"></a>

Die folgende Abfrage findet Umsätze, bei denen die verkaufte Menge größer ist als der durch `${numberoforders}` bestimmte Parameter. Wenn der Parameterwert `7` lautet, hat das Ergebnis 60 Zeilen. Wenn Sie die Abfrage ausführen, zeigt der Abfrage-Editor v2 das Fenster **Run query form** (Abfrageformular ausführen) an, auf dem der Wert von Parametern in der SQL-Anweisung gesammelt wird. 

```
select salesid, qtysold
from sales 
where qtysold > ${numberoforders}
order by 2;
```

Es folgt eine unvollständige Liste der Ergebnisse.

```
salesid	qtysold
20005	8
21279	8
130232	8
42737	8
74681	8
67103	8
105533	8
91620	8
121552	8
...
```

### Beispiel: Erstellen einer temporären Tabelle
<a name="query-editor-v2-example-create-temporary-table"></a>

Die folgende Anweisung erstellt die temporäre Tabelle *eventsalestemp* indem Informationen aus den Tabellen *sales* und *events* ausgewählt werden. 

```
create temporary table eventsalestemp as
select eventname, count(salesid) totalorders, sum(pricepaid) totalsales
from sales, event
where sales.eventid=event.eventid
group by eventname;
```

### Beispiel: Auswahl aus einer temporären Tabelle
<a name="query-editor-v2-example-select-from-temporary-table"></a>

Die folgende Anweisung wählt Ereignisse, Gesamtaufträge und Gesamtumsatz aus der temporären Tabelle *eventsalestemp*, geordnet nach der Gesamtzahl der Bestellungen. 

```
select eventname,  totalorders,  totalsales
from eventsalestemp
order by 2;
```

Es folgt eine unvollständige Liste der Ergebnisse.

```
eventname          totalorders   totalsales
White Christmas        20          9352
Joshua Radin           38         23469
Martina McBride        50         52932
Linda Ronstadt         56         35043
Indigo Girls           57         45399
Beach Boys             58         30383
...
```

# Notizbücher in Amazon Redshift
<a name="query-editor-v2-notebooks"></a>

Mithilfe von Notebooks können Sie mehrere SQL-Abfragen in einem einzigen Dokument organisieren, kommentieren und freigeben. Einem Notebook lassen sich mehrere SQL-Abfrage- und Markdown-Zellen hinzufügen. Notebooks bieten die Möglichkeit, Abfragen und Erklärungen im Zusammenhang mit einer Datenanalyse unter Verwendung mehrerer Abfrage- und Markdown-Zellen in einem einzigen Dokument zu gruppieren. Sie können Text hinzufügen und das Erscheinungsbild mithilfe der Markdown-Syntax formatieren, um Kontext und zusätzliche Informationen für Ihre Datenanalyse bereitzustellen. Sie können Ihre Notebooks für Teammitglieder freigeben.

Für die Verwendung von Notebooks müssen Sie Ihrem IAM-Prinzipal (einem IAM-Benutzer oder einer IAM-Rolle) die Berechtigung für Notebooks hinzufügen. Als bewährte Methode empfehlen wir, einer IAM-Rolle Berechtigungsrichtlinien anzufügen und sie dann nach Bedarf Benutzern und Gruppen zuzuweisen. Weitere Informationen finden Sie unter [Identity and Access Management in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html). Sie können die Berechtigung zu einer der von Abfrage-Editor v2 verwalteten Richtlinien hinzufügen. Weitere Informationen finden Sie unter [Zugreifen auf den Abfrage-Editor v2](query-editor-v2-getting-started.md#query-editor-v2-configure).

Sie können alle Zellen eines Notebooks nacheinander ausführen. Die SQL-Abfragezelle eines Notebooks verfügt über fast dieselben Funktionen wie eine Registerkarte im Abfrage-Editor. Weitere Informationen finden Sie unter [Erstellen von Abfragen mit Amazon Redshift](query-editor-v2-query-run.md). Im Folgenden sind die Unterschiede zwischen einer Registerkarte im Abfrage-Editor und einer SQL-Zelle in einem Notebook aufgeführt.
+ Es gibt kein Steuerelement zur Ausführung von `Explain` in einer SQL-Anweisung in einem Notebook.
+ Sie können nur ein Diagramm pro SQL-Zelle in einem Notebook erstellen.

Sie können Notebooks in Dateien, die mit Abfrage-Editor v2 erstellt wurden, exportieren und importieren. Die Dateierweiterung lautet `.ipynb` und die Dateigröße kann maximal 5 MB betragen. Die SQL- und Markdown-Zellen werden in der Datei gespeichert. Ein Cluster oder eine Arbeitsgruppe und eine Datenbank werden nicht im exportierten Notebook gespeichert. Wenn Sie ein importiertes Notebook öffnen, wählen Sie den Cluster oder die Arbeitsgruppe und die Datenbank aus, in dem/denen es ausgeführt werden soll. Nach Ausführung von SQL-Zellen können Sie auf der Registerkarte „Results“ (Ergebnisse) auswählen, ob die aktuelle Ergebnisseite als Diagramm angezeigt werden soll. Die Ergebnismenge einer Abfrage wird nicht im Notebook gespeichert.

# Ein Notizbuch erstellen
<a name="query-editor-v2-notebooks-create"></a>

Sie können ein Notizbuch erstellen, um mehrere SQL-Abfragen in einem einzigen Dokument zu organisieren, zu kommentieren und gemeinsam zu nutzen. 

**So erstellen Sie ein Notebook**

1. Wählen Sie im Navigatormenü das Editor-Symbol (![\[Horizontal lines representing redacted or censored text.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-align-left.png)).

1. Wählen Sie das Plussymbol (![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/add-plus.png)) und dann **Notizbuch**.

   Standardmäßig wird eine SQL-Abfragezelle im Notebook angezeigt.

1. Führen Sie in der SQL-Abfragezelle einen der folgenden Schritte aus:
   + Geben Sie eine Abfrage ein.
   + Fügen Sie eine Abfrage ein, die Sie kopiert haben.

1. (Optional) Wählen Sie das Plussymbol (![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/add-plus.png)) und anschließend Markdown, um eine **Markdown-Zelle** hinzuzufügen, in der Sie beschreibenden oder erklärenden Text mithilfe der Standard-Markdown-Syntax angeben können. 

1. (Optional) Wählen Sie das Plussymbol (![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/add-plus.png)) und anschließend SQL, um eine **SQL-Zelle einzufügen**. 

Sie können Notizbücher mit dem Stiftsymbol (![\[Pencil icon representing an editing or writing function.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-edit.png)) umbenennen.

Über das Menüsymbol (![\[Three dots arranged horizontally, representing an ellipsis or "more" menu icon.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-more.png)) können Sie auch die folgenden Operationen an einem Notizbuch ausführen:
+ ![\[Share\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-share.png)**Share with my team** (Für mein Team freigeben) – Zum Freigeben des Notebooks für Ihr Team gemäß den Tags. Um ein Notebook für Ihr Team freizugeben, müssen Sie sicherstellen, dass das Prinzipal-Tag `sqlworkbench-team` auf denselben Wert wie bei den übrigen Teammitgliedern in Ihrem Konto eingestellt ist. Beispielsweise könnte ein Administrator den Wert für jeden in der Buchhaltungsabteilung auf `accounting-team` einstellen. Ein Beispiel finden Sie unter [Für die Verwendung des Abfrage-Editors v2 erforderliche Berechtigungen](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2).
+ ![\[Export\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-export.png)**Export** (Exportieren) – Zum Exportieren des Notebooks in eine lokale Datei mit der Erweiterung `.ipynb`.
+ ![\[Import query\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-import.png)**Abfrage importieren** — Um eine Abfrage aus einer lokalen Datei in eine Zelle im Notizbuch zu importieren. Sie können Dateien mit `.txt` Erweiterungen `.sql` und Erweiterungen importieren.
+  ![\[Save\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-floppy-disk.png)**Save version** (Version speichern) – Zum Erstellen einer Version des Notebooks. Wenn Sie verschiedene Versionen eines Notebooks anzeigen möchten, navigieren Sie zu Ihren gespeicherten Notebooks und öffnen Sie **Version history** (Versionsverlauf).
+  ![\[Duplicate\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-duplicate.png)**Duplicate** (Duplizieren) – Zum Erstellen einer Kopie des Notebooks und Öffnen dieser Kopie in einer neuen Notebook-Registerkarte. 
+  ![\[Shortcuts\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-key-command.png)**Shortcuts** (Tastenkombinationen) – Zum Anzeigen der verfügbaren Tastenkombinationen beim Erstellen eines Notebooks. 

# In Notizbücher importieren
<a name="query-editor-v2-notebooks-import"></a>

Sie können ein ganzes Notizbuch oder einzelne SQL-Zellen in ein Query Editor v2-Notizbuch importieren.

Um ein ganzes Notizbuch aus einer lokalen Datei in **Meine Notizbücher** zu importieren, wählen Sie „![\[Import\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-import.png)**Importieren**“ und anschließend „**Notizbuch importieren**“. Navigiere zu der `.ipynb` Datei, die dein Notizbuch enthält. Das Notebook wird in den aktuell geöffneten Notebook-Ordner importiert. Sie können das Notebook anschließend im Notebook-Editor öffnen.

Um eine Abfrage aus einer lokalen Datei in eine SQL-Zelle in einem Notizbuch zu importieren, wählen Sie ![\[Import\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-import.png) **Import** und anschließend **Abfrage importieren** aus. Folgen Sie im Fenster „**Abfrage importieren**“ den Anweisungen auf dem Bildschirm, um Dateien und Ordner auszuwählen, die als Abfrage in ein neues Notizbuch oder ein vorhandenes Notizbuch importiert werden können. Die Dateien müssen die Erweiterung `.sql` oder haben`.txt`. Jede Abfrage kann bis zu 10.000 Zeichen lang sein. Wenn Sie einem vorhandenen Notizbuch etwas hinzufügen, wählen Sie aus allen Notizbüchern in Ihrer Liste **Gespeicherte Notizbücher aus, welches Notizbuch** Sie auswählen. Die importierten Abfragen werden als SQL-Zellen am Ende des Notizbuchs hinzugefügt. Wenn Sie ein neues Notizbuch auswählen, wählen Sie den Namen des Notizbuchs und es wird im aktuell geöffneten Ordner für gespeicherte Notizbücher erstellt. 

**Anmerkung**  
Wenn Sie mit der TextEdit Anwendung `.sql` Dateien auf macOS erstellen, tritt möglicherweise ein Problem auf, bei dem der Datei eine zusätzliche versteckte Erweiterung hinzugefügt wird. Beispielsweise TextEdit kann eine Datei mit dem Namen `Test.sql` erstellt in gespeichert werden`Test.sql.rtf`. Der Abfrage-Editor v2 unterstützt keine Dateien mit der `.rtf` Erweiterung. Wenn Sie jedoch eine `.sql` Datei erstellen TextEdit und sie als Klartextdatei speichern, hat die Datei eine zusätzliche versteckte `.txt` Erweiterung. Beispielsweise `Text.sql` könnte eine Datei mit dem Namen gespeichert werden als`Text.sql.txt`. Im Gegensatz zur `.rtf` Erweiterung unterstützt der Abfrage-Editor v2 Dateien mit dieser `.txt` Erweiterung und `Text.sql.txt` wird daher beim Import von Abfragen in Notizbücher unterstützt.

Eine Demo zu Notebooks finden Sie im folgenden Video. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/GNahyu7j98M/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/GNahyu7j98M)


# Abfragen der AWS Glue Data Catalog
<a name="query-editor-v2-glue"></a>

Sie können den Abfrage-Editor v2 verwenden, um in Ihrem Katalog katalogisierte Daten abzufragen, AWS Glue Data Catalog indem Sie bestimmte SQL-Befehle verwenden und die in diesem Abschnitt beschriebenen Berechtigungen gewähren. Standardmäßig ist der  AWS Glue Data Catalog  als Datenbank des Abfrage-Editors v2 mit dem Namen `awsdatacatalog` aufgeführt. Das Abfragen von AWS Glue Data Catalog  ist nicht in allen AWS-Regionen von Amazon Redshift verfügbar. Verwenden Sie den Befehl SHOW, um festzustellen, ob diese Funktion verfügbar ist. Weitere Informationen zu finden Sie AWS Glue unter [Was ist AWS Glue?](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) im *AWS Glue Entwicklerhandbuch*.

**Anmerkung**  
Das Abfragen von AWS Glue Data Catalog wird nur in Amazon RA3 Redshift-Knotenclustern und Amazon Redshift Serverless unterstützt.

Mit den folgenden SQL-Befehlen können Sie Ihr Data Warehouse konfigurieren und die katalogisierten AWS Glue Datenbankobjekte anzeigen:
+ SHOW – um anzuzeigen, ob `awsdatacatalog` für das aktuell verbundene Data Warehouse gemountet ist. Wenn Sie zum Beispiel den Parameterwert `data_catalog_auto_mount` anzeigen möchten, führen Sie den folgenden Befehl aus:

  ```
  SHOW data_catalog_auto_mount;
  ```

  Weitere Informationen finden Sie unter [SHOW](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW.html) im *Entwicklerhandbuch für Amazon Redshift Database*.
+ ALTER SYSTEM – um die Konfiguration von `data_catalog_auto_mount` auf Systemebene zu ändern. Wenn Sie zum Beispiel den Parameterwert `data_catalog_auto_mount` in `on` ändern möchten, führen Sie den folgenden Befehl aus:

  ```
  ALTER SYSTEM SET data_catalog_auto_mount = on;
  ```

  Die Änderung wird wirksam, wenn ein bereitgestellter Cluster neu gestartet wird oder eine Serverless-Arbeitsgruppe automatisch angehalten und fortgesetzt wird. Weitere Informationen finden Sie unter [ALTER SYSTEM](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_SYSTEM.html) im *Entwicklerhandbuch für Amazon Redshift Database*.
+ SHOW SCHEMAS – zeigt eine Liste von Schemata an. Die Schemas in der genannten Datenbank stellen die AWS Glue Datenbanken `awsdatacatalog` dar, die in der katalogisiert sind. AWS Glue Data Catalog Wenn Sie diese Schemata beispielsweise anzeigen möchten, führen Sie folgenden Befehl aus:

  ```
  SHOW SCHEMAS FROM DATABASE awsdatacatalog;
  ```

  Weitere Informationen finden Sie unter [SHOW SCHEMAS](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW_SCHEMAS.html) im *Entwicklerhandbuch für Amazon Redshift Database*.
+ SHOW TABLES – zeigt eine Liste von Tabellen in einem Schema an. Um beispielsweise die Tabellen in der genannten AWS Glue Data Catalog Datenbank anzuzeigen, die sich im Schema `myglue` Run befinden`awsdatacatalog`, gehen Sie wie folgt vor:

  ```
  SHOW TABLES FROM SCHEMA awsdatacatalog.myschema;
  ```

  Weitere Informationen finden Sie unter [SHOW TABLES](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW_TABLES.html) im *Entwicklerhandbuch für Amazon Redshift Database*.
+ SHOW COLUMNS – zeigt eine Liste von Spalten in einer Tabelle an. Um beispielsweise die Spalten in der genannten AWS Glue Data Catalog Datenbank anzuzeigen`awsdatacatalog`, die sich in Schema `myglue` und Table `mytable` Run befinden:

  ```
  SHOW COLUMNS FROM TABLE awsdatacatalog.myglue.mytable;
  ```

  Weitere Informationen finden Sie unter [SHOW COLUMNS](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW_COLUMNS.html) im *Entwicklerhandbuch für Amazon Redshift Database*.

**Um Ihrem IAM-Benutzer oder Ihrer IAM-Rolle die Berechtigung zur Abfrage von zu gewähren, AWS Glue Data Catalog**

1. Stellen Sie in der Strukturansicht mithilfe der Authentifizierungsmethode **Datenbankbenutzername und -passwort** eine Verbindung mit Ihrer ursprünglichen Datenbank in Ihrem bereitgestellten Cluster oder Ihrer Serverless-Arbeitsgruppe her. Verwenden Sie beispielsweise für eine Verbindung mit der Datenbank `dev` den Administratorbenutzernamen und das -passwort, die Sie bei der Erstellung des Clusters oder der Arbeitsgruppe verwendet haben.

1. Führen Sie auf einer Registerkarte des Editors die folgende SQL-Anweisung aus, um einem IAM-Benutzer Zugriff auf den AWS Glue Data Catalog zu gewähren.

   ```
   GRANT USAGE ON DATABASE awsdatacatalog to "IAM:myIAMUser"
   ```

   Wo *IAM:myIAMUser* befindet sich ein IAM-Benutzer, dem Sie Nutzungsrechte gewähren möchten. AWS Glue Data Catalog Alternativ können Sie einer IAM-Rolle *IAMR:myIAMRole* Nutzungsrechte gewähren.

1. Bearbeiten oder löschen Sie in der Strukturansicht die Verbindung zu dem Cluster oder der Arbeitsgruppe, den/die Sie zuvor erstellt haben. Stellen Sie auf eine der folgenden Arten eine Verbindung mit Ihrem Cluster oder Ihrer Arbeitsgruppe her:
   + Wenn Sie von einem Cluster aus auf die Datenbank von `awsdatacatalog` zugreifen möchten, müssen Sie die Authentifizierungsmethode **Temporäre Anmeldeinformationen unter Verwendung Ihrer IAM-Identität** verwenden. Weitere Informationen zu dieser Authentifizierungsmethode finden Sie unter [Herstellen einer Verbindung mit einer Amazon-Redshift-Datenbank](query-editor-v2-connecting.md). Möglicherweise muss der Administrator für Ihren Abfrage-Editor v2 die **Kontoeinstellungen** für das Konto konfigurieren, damit diese Authentifizierungsmethode im Verbindungsfenster angezeigt wird.
   + Wenn Sie von einer Arbeitsgruppe aus auf die Datenbank von `awsdatacatalog` zugreifen möchten, müssen Sie die Authentifizierungsmethode **Verbundbenutzer** verwenden. Weitere Informationen zu dieser Authentifizierungsmethode finden Sie unter [Herstellen einer Verbindung mit einer Amazon-Redshift-Datenbank](query-editor-v2-connecting.md).

1. Mit der erteilten Berechtigung können Sie Ihre IAM-Identität verwenden, um SQL-Abfragen für Ihren AWS Glue Data Catalog auszuführen.

Nach Herstellung der Verbindung können Sie den Abfrage-Editor v2 verwenden, um Daten abzufragen, die im AWS Glue Data Catalog katalogisiert sind. Wählen Sie in der Strukturansicht des Abfrage-Editors v2 den Cluster oder die Arbeitsgruppe und die Datenbank `awsdatacatalog` aus. Vergewissern Sie sich, dass im Editor- oder Notebook-Bereich der richtige Cluster bzw. die richtige Arbeitsgruppe ausgewählt ist. Bei der ausgewählten Datenbank sollte es sich um die ursprüngliche Amazon-Redshift-Datenbank handeln, beispielsweise `dev`. Informationen zum Erstellen von Abfragen finden Sie unter [Erstellen von Abfragen mit Amazon Redshift](query-editor-v2-query-run.md) und [Notizbücher in Amazon RedshiftNotebooks](query-editor-v2-notebooks.md). Die Datenbank namens `awsdatacatalog` ist für den Verweis auf die externe Data-Catalog-Datenbank in Ihrem Konto reserviert. Es sind nur schreibgeschützte Abfragen für die Datenbank `awsdatacatalog` möglich. Verwenden Sie für den Verweis auf die Tabelle in Ihrer SELECT-Anweisung eine dreiteilige Notation. Dabei ist der erste Teil der Datenbankname, der zweite Teil der AWS Glue Datenbankname und der dritte Teil der AWS Glue Tabellenname.

```
SELECT * FROM awsdatacatalog.<aws-glue-db-name>.<aws-glue-table-name>;
```

Sie können verschiedene Szenarien ausführen, in denen die AWS Glue Data Catalog Daten gelesen und Amazon Redshift Redshift-Tabellen gefüllt werden.

Das folgende SQL-Beispiel verbindet zwei Tabellen, die in definiert sind. AWS Glue

```
SELECT pn.emp_id, alias, role, project_name 
FROM "awsdatacatalog"."empl_db"."project_name_table" pn, 
"awsdatacatalog"."empl_db"."project_alias_table" pa
WHERE pn.emp_id = pa.emp_id;
```

Das folgende SQL-Beispiel erstellt eine Amazon Redshift Redshift-Tabelle und füllt sie mit Daten aus einer Verknüpfung von zwei AWS Glue Tabellen.

```
CREATE TABLE dev.public.glue AS
SELECT pn.emp_id, alias, role, project_name 
FROM "awsdatacatalog"."empl_db"."project_name_table" pn, 
"awsdatacatalog"."empl_db"."project_alias_table" pa
WHERE pn.emp_id = pa.emp_id;
```

## Abfragen von Amazon S3 S3-Tabellen (Vorschau)
<a name="query-editor-v2-glue-s3-tables"></a>

Sie können den Abfrage-Editor v2 verwenden, um Daten in Amazon S3Table-Katalogen abzufragen, die auf dem installiert sind. AWS Glue Data Catalog Amazon S3 S3-Tabellenkataloge werden AWS Glue Data Catalog bei der Erstellung bereitgestellt und erscheinen automatisch als externe Datenbanken auf allen bereitgestellten Clustern und serverlosen Arbeitsgruppen in demselben Konto AWS-Region . Weitere Informationen zum Zugriff auf Amazon S3 S3-Tabellen mit Amazon Redshift finden Sie unter [Zugreifen Amazon S3 S3-Tabellen mit Amazon Redshift](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-redshift.html) im Amazon Simple Storage Service-Benutzerhandbuch.

# Abfragen eines Data Lake
<a name="query-editor-v2-querying-data-lake"></a>

Sie können Daten in einem Amazon S3 Data Lake abfragen, indem Sie die Aufgaben in diesem Tutorial ausführen. Zuerst erstellen Sie ein externes Schema, um auf die externe Datenbank im [AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/components-overview.html#data-catalog-intro) zu verweisen. Anschließend können Sie Daten im Amazon S3-Data Lake abfragen.

## Demo: Einen Data Lake abfragen
<a name="query-editor-v2-example-data-lake-demo"></a>

Weitere Informationen zum Abfragen eines Data Lake finden Sie im folgenden Video.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/-pyy0qNmEKo/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/-pyy0qNmEKo)


## Voraussetzungen
<a name="query-editor-v2-querying-data-lake-prerequisites"></a>

Bevor Sie mit Ihrem Data Lake in Query Editor v2 arbeiten, vergewissern Sie sich, dass in Ihrer Amazon-Redshift-Umgebung Folgendes eingerichtet wurde:
+ Crawlen Sie Ihre Amazon S3 S3-Daten mithilfe AWS Glue und aktivieren Sie Ihren Datenkatalog für AWS Lake Formation.
+ Erstellen Sie eine IAM-Rolle für Amazon Redshift mithilfe des AWS Glue aktivierten Datenkatalogs für. AWS Lake Formation Einzelheiten zu diesem Verfahren finden Sie unter [So erstellen Sie eine IAM-Rolle für Amazon Redshift mit einem AWS Glue Data Catalog aktivierten](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum-create-role.html#spectrum-get-stared-create-role-lake-formation) für. AWS Lake Formation Weitere Informationen zur Verwendung von Redshift Spectrum und Lake Formation finden Sie unter [Verwenden von Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/dg/spectrum-lake-formation.html) mit. AWS Lake Formation
+ Gewähren von SELECT-Berechtigungen für die Tabelle, um diese in der Lake-Formation-Datenbank abzufragen. Weitere Informationen zu diesem Verfahren finden Sie unter [So gewähren Sie SELECT-Berechtigungen für eine Tabelle, um diese in der Lake-Formation-Datenbank abzufragen](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum-create-role.html#spectrum-get-started-grant-lake-formation-table).

  Sie können in der Lake Formation Formation-Konsole (https://console.aws.amazon.com/lakeformation/) im Bereich **Berechtigungen** auf der Seite **Data Lake-Berechtigungen** überprüfen, ob die IAM-Rolle, die AWS Glue Datenbank und die Tabellen über die richtigen Berechtigungen verfügen.
+ Bestätigung, dass Ihr verbundener Benutzer berechtigt ist, Schemata in der Amazon-Redshift-Datenbank zu erstellen und auf Daten in Ihrem Data Lake zuzugreifen. Wenn Sie in Query Editor v2 eine Verbindung zu einer Datenbank herstellen, wählen Sie eine Authentifizierungsmethode aus, die Anmeldeinformationen beinhaltet. Dabei kann es sich um einen Datenbankbenutzer oder einen IAM-Benutzer handeln. Der verbundene Benutzer muss über die richtigen Berechtigungen und Datenbankrechte verfügen, wie z. B. `superuser`. Der `admin`-Benutzer von Amazon Redshift, der den Cluster oder die Arbeitsgruppe erstellt hat, verfügt über `superuser`-Berechtigungen und kann Schemata erstellen und die Redshift-Datenbank verwalten. Weitere Informationen zum Herstellen einer Verbindung zu einer Datenbank mit Query Editor v2 finden Sie unter [Herstellen einer Verbindung mit einer Amazon-Redshift-Datenbank](query-editor-v2-connecting.md).

## Erstellen eines externen Schemas
<a name="query-editor-v2-create-external-schema"></a>

Um Daten in einem Amazon S3 Data Lake abzufragen, erstellen Sie zunächst ein externes Schema. Ein externes Schema verweist auf eine Datenbank in einem externen [AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/components-overview.html#data-catalog-intro).

1. Wählen Sie in der **Editor**-Ansicht von Query Editor v2 die Option ![\[Create\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-add.png)**Erstellen** und dann **Schema** aus.

1. Geben Sie einen **Schema name** (Schemennamen) ein.

1. Wählen Sie unter **Schematyp** die Option **Extern** aus.

1. In den **Datenkatalogdetails** ist die **Region** standardmäßig der Ort, an AWS-Region dem sich Ihre Redshift-Datenbank befindet.

1. Wählen Sie die **AWS Glue Datenbank** aus, der das externe Schema zugeordnet werden soll und die Verweise auf die AWS Glue Tabellen enthält.

1. Wählen Sie eine **IAM-Rolle** für Amazon Redshift aus, die über die erforderlichen Berechtigungen zum Abfragen von Daten in Amazon S3 verfügt.

1. Wählen Sie optional eine **IAM-Rolle** aus, die über die Berechtigung für den Datenkatalog verfügt.

1. Wählen Sie **Create schema** (Schema erstellen) aus.

   Das Schema wird in der Strukturansicht unter Ihrer Datenbank angezeigt.

Wenn Sie beim Erstellen des Schemas die Fehlermeldung „Berechtigung verweigert“ für Ihre Datenbank erhalten, überprüfen Sie, ob der verbundene Benutzer über die Datenbankberechtigung zum Erstellen eines Schemas verfügt.

## Abfragen Ihrer Daten in Amazon S3-Data Lake
<a name="query-editor-v2-query-data-lake"></a>

Verwenden Sie das Schema, das Sie im vorherigen Verfahren erstellt haben. 

1. Wählen Sie in der Strukturansicht das Schema aus.

1. Um eine Tabellendefinition anzuzeigen, wählen Sie eine Tabelle aus. Die Tabellenspalten und Datentypen werden angezeigt.

1. Um eine Tabelle abzufragen, wählen Sie die Tabelle aus und wählen Sie im Kontextmenü (Rechtsklickmenü) **Tabelle auswählen** aus, um eine Abfrage zu generieren.

1. Führen Sie die Abfrage im **Editor** aus.

   Das folgende SQL-Beispiel wurde vom Abfrage-Editor v2 generiert, um alle Zeilen in der AWS Glue Tabelle mit dem Namen abzufragen`flightscsv`. In der Ausgabe sind die Spalten und Zeilen der Einfachheit halber verkürzt.

   ```
   SELECT * FROM "dev"."mydatalake_schema"."flightscsv";
                           
   year    quarter   month   dom  day_of_week   fl_date    unique_carrier  airline_id   carrier   tail_num   fl_num		
   2016    4         10      19   3             10/19/16   OO              20304        OO         N753SK    3086	 
   2016    4         10      19   3             10/19/16   OO              20304        OO         N753SK    3086	
   2016    4         10      19   3             10/19/16   OO              20304        OO         N778SK    3087		
   2016	4         10      19   3             10/19/16   OO              20304        OO         N778SK    3087	
   ...
   ```

# Datashares
<a name="query-editor-v2-datashare-using"></a>

Sie können einen Datashare erstellen, damit Benutzer in einem anderen Cluster die Daten abfragen können. Der Cluster mit den Daten, die Sie freigeben möchten, wird als *Produzenten*-Cluster bezeichnet. Sie erstellen einen Datashare im Produzenten-Cluster für die Datenbankobjekte, die Sie freigeben möchten. Sie können Schemas, Tabellen, Ansichten und benutzerdefinierte SQL-Funktionen () gemeinsam nutzen. UDFs Der Cluster, für den Sie die Daten freigeben möchten, wird als *Konsumenten*-Cluster bezeichnet. Im Konsumenten-Cluster erstellen Sie eine Datenbank aus dem Datashare. Anschließend können Benutzer im Konsumenten-Cluster die Daten abfragen. Weitere Informationen finden Sie unter [Erste Schritte mit der gemeinsamen Nutzung von Daten](https://docs.aws.amazon.com/redshift/latest/dg/getting-started-datasharing.html) im *Amazon-Redshift-Datenbankentwicklerhandbuch*.

# Erstellen von Datashares
<a name="query-editor-v2-create-datashare"></a>

Sie erstellen einen Datashare im Cluster, den Sie als Produzenten-Cluster verwenden möchten. Weitere Informationen zu den Überlegungen im Hinblick auf Datashares finden Sie unter [Überlegungen zur Freigabe von Daten in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/datashare-considerations.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

1. Wählen Sie die zu verwendende Datenbank im Produzenten-Cluster aus.

1. Erstellen Sie einen Datashare. Zum Beispiel:

   ```
   create datashare mysource;
   ```

1. Legen Sie Berechtigungen für den Datashare fest. Zum Beispiel:

   ```
   grant alter, share on datashare mysource to admin;
   ```

1. Legen Sie Berechtigungen für die Datenbankobjekte fest, die Sie freigeben möchten. Zum Beispiel:

   ```
   alter datashare mysource add schema public;
   ```

   ```
   alter datashare mysource add table public.event;
   ```

1. Legen Sie Berechtigungen für den Konsumenten-Cluster-Namespace für den Zugriff auf den Datashare fest. Zum Beispiel:

   ```
   grant usage on datashare mysource to namespace '2b12345-1234-5678-9012-bb1234567890';
   ```

# Anzeigen von Datashares
<a name="query-editor-v2-show-datashare"></a>

Sie können die Datashares, die Sie im Produzenten-Cluster erstellt haben, anzeigen. 

1. Wählen Sie den Produzenten-Cluster aus.

1. Zeigen Sie die Datashares an. Zum Beispiel:

   ```
   show datashares;
   ```

   ```
   share_name	share_owner	source_database		consumer_database	share_type	createdate	is_publicaccessible	share_acl	producer_account	producer_namespace
   test_datashare	100		db_producer		NULL			OUTBOUND	2/15/2022		FALSE		admin		123456789012		p1234567-8765-4321-p10987654321
   ```

# Erstellen der Konsumentendatenbank
<a name="query-editor-v2-datashare-consumer"></a>

Im Konsumenten-Cluster erstellen Sie eine Datenbank aus dem Datashare. Diese Schritte beschreiben, wie Sie Daten zwischen zwei Clustern im selben Konto freigeben. Informationen zur gemeinsamen Nutzung von Daten zwischen AWS Konten finden Sie unter [AWS Kontenübergreifendes Teilen von Daten](https://docs.aws.amazon.com/redshift/latest/dg/across-account.html) im *Amazon Redshift Database Developer Guide*.

Sie können SQL-Befehle oder die Baumansicht des Abfrage-Editors v2 verwenden, um die Datenbank zu erstellen.

**So verwenden Sie SQL**

1. Erstellen Sie eine Datenbank aus dem Datashare für Ihr Konto und den Namespace des Produzenten-Clusters. Zum Beispiel:

   ```
   create database share_db from datashare mysource of account '123456789012' namespace 'p1234567-8765-4321-p10987654321'; 
   ```

1. Legen Sie Berechtigungen fest, damit Benutzer auf die Datenbank und das Schema zugreifen können. Zum Beispiel:

   ```
   grant usage on database share_db to usernames;
   ```

   ```
   grant usage on schema public to usernames;
   ```

**So verwenden Sie die Baumansicht des Abfrage-Editors v2**

1. Wählen Sie ![\[Plus sign icon inside a circle, indicating an add or create action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-add.png)**Create** (Erstellen) aus und danach **Database** (Datenbank).

1. Geben Sie einen **Database name** (Datenbanknamen) ein.

1. (Optional) Wählen Sie **Users and groups** (Benutzer und Gruppen) und dort einen **Database user** (Datenbankbenutzer) aus.

1. Klicken Sie auf **Create using a datashare** (Mit einem Datashare erstellen).

1. Wählen Sie den Datashare aus.

1. Wählen Sie **Datenbank erstellen** aus.

   Die neue![\[datashare\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-datashare.png)**Datashare**-Datenbank wird in der Baumansicht des Abfrage-Editors v2 angezeigt.

1. Legen Sie Berechtigungen fest, damit Benutzer auf die Datenbank und das Schema zugreifen können. Zum Beispiel:

   ```
   grant usage on database share_db to usernames;
   ```

   ```
   grant usage on schema public to usernames;
   ```

# Abfragen von Datashare-Objekten
<a name="query-editor-v2-query-datashare"></a>

Im Konsumenten-Cluster können Sie Datashare-Objekte unter Verwendung der vollqualifizierten Objektnamen abfragen, die mit der dreiteiligen Notation ausgedrückt werden: Datenbank, Schema und Name des Objekts. 

1. Wählen Sie in der Baumansicht des Abfrage-Editors v2 das Schema aus.

1. Um eine Tabellendefinition anzuzeigen, wählen Sie eine Tabelle aus.

   Die Tabellenspalten und Datentypen werden angezeigt.

1. Um eine Tabelle abzufragen, wählen Sie die Tabelle aus und verwenden Sie das Kontextmenü (rechte Maustaste), um **Select table** (Tabelle auswählen) auszuwählen.

1. Fragen Sie Tabellen mithilfe von SELECT Befehlen ab. Zum Beispiel:

   ```
   select top 10 * from test_db.public.event;
   ```

# Geplante Abfragen mit Query Editor v2
<a name="query-editor-v2-schedule-query"></a>

Mit Amazon Redshift Query Editor v2 können Sie SQL-Abfragen so automatisieren, dass sie nach einem Zeitplan ausgeführt werden. Geplante Abfragen sind SQL-Anweisungen, die automatisch zu bestimmten Zeiten oder Intervallen ausgeführt werden. Dies ermöglicht Ihnen eine effiziente Verwaltung von wiederkehrenden Datenoperationen und Analyseaufgaben. Möglicherweise möchten Sie Abfragen planen, wenn Sie die Batch-Verarbeitung optimieren, regelmäßige Berichte erstellen oder Daten-Pipelines innerhalb der Amazon-Redshift-Umgebung verwalten möchten. 

Geplante Abfragen erleichtern die Automatisierung von ETL-Workflows (Extrahieren, Transformieren und Laden), die Aktualisierung von Dashboards mit up-to-date Erkenntnissen und die Operationalisierung verschiedener Datenverwaltungsroutinen. Auf den folgenden Seiten finden Sie ausführliche Erläuterungen zum Erstellen, Konfigurieren und Verwalten von geplanten Abfragen, um Ihre Amazon-Redshift-Workloads zu optimieren.

# Erstellen eines Abfrageplans mit Query Editor v2
<a name="query-editor-v2-schedule-query-create"></a>

Sie können einen Zeitplan für die Ausführung einer SQL-Anweisung mit dem Amazon Redshift Query Editor v2 erstellen. Sie erstellen einen Zeitplan, um die SQL-Anweisung in Zeitintervallen auszuführen, die Ihren Geschäftsanforderungen entsprechen. Wenn die geplante Abfrage ausgeführt werden soll, wird die Abfrage von Amazon gestartet EventBridge und verwendet die Amazon Redshift Data API.

**So erstellen Sie einen Zeitplan für die Ausführung einer SQL-Anweisung**

1. Wählen Sie in der Ansicht **Editor** ![\[Editor\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-align-left.png) die Option ![\[Schedule\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-calendar.png) **Zeitplan** aus, um einen Zeitplan für die Ausführung einer SQL-Anweisung zu erstellen.

1. Wenn Sie den Zeitplan definieren, geben Sie die folgenden Informationen an.
   + Die IAM-Rolle, die die erforderlichen Berechtigungen zum Ausführen der Abfrage übernimmt Diese IAM-Rolle ist auch Ihrem Cluster oder Ihrer Arbeitsgruppe angefügt.
   + Die Authentifizierungswerte für entweder AWS Secrets Manager temporäre Anmeldeinformationen zur Autorisierung des Zugriffs auf Ihren Cluster oder Ihre Arbeitsgruppe. Diese Authentifizierungsmethoden werden von der Daten-API unterstützt. Weitere Informationen finden Sie unter [Authentifizieren einer geplanten Abfrage](query-editor-v2-schedule-query-authentication.md).
   + Den Cluster oder die Arbeitsgruppe, in dem/der sich Ihre Datenbank befindet
   + Den Namen der Datenbank, die die Daten enthält, die abgefragt werden sollen
   + Der Name der geplanten Abfrage und ihre Beschreibung. Im Abfrage-Editor v2 wird dem Namen der geplanten Abfrage, den Sie angeben, das Präfix "-“ QS2 vorangestellt. Der Query Editor v1 stellt Namen von geplanten Abfragen das Präfix „QS-“ voran.
   + Die SQL-Anweisung, die nach dem Zeitplan ausgeführt werden soll
   + Die Zeitplanfrequenz- und Wiederholungsoptionen oder einen cron-formatierten Wert, der den Zeitplan definiert. Weitere Informationen finden Sie unter [Cron Expressions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) im *Amazon CloudWatch Events-Benutzerhandbuch*.
   + Optional können Sie Amazon-SNS-Standardbenachrichtigungen aktivieren, um die geplante Abfrage zu überwachen. Möglicherweise müssen Sie die E-Mail-Adresse bestätigen, die Sie für die Amazon-SNS-Benachrichtigung angegeben haben. Sehen Sie in Ihrem Posteingang nach, ob Sie einen Link zur Bestätigung der E-Mail-Adresse für die Amazon-SNS-Benachrichtigung erhalten haben. Weitere Informationen finden Sie unter [E-Mail-Benachrichtigungen](https://docs.aws.amazon.com/sns/latest/dg/sns-email-notifications.html) im *Entwicklerhandbuch zu Amazon Simple Notification Service*. Wenn Ihre Anfrage ausgeführt wird, Sie aber keine Nachrichten sehen, die in Ihrem SNS-Thema veröffentlicht wurden, finden Sie weitere Informationen unter [Meine Regel wird ausgeführt, aber ich sehe keine Nachrichten, die in meinem Amazon SNS SNS-Thema veröffentlicht wurden](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-troubleshooting.html#eb-no-messages-published-sns), im * EventBridge Amazon-Benutzerhandbuch*.

1. Wählen Sie **Abfrage planen** aus, um den Zeitplan zu speichern und zu aktivieren und den Zeitplan der Liste der Abfragen in der Ansicht **Geplante Abfragen** hinzuzufügen.

In der Ansicht **Geplante Abfragen** ![\[Scheduled queries\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/qev2-calendar.png) sind alle geplanten Abfragen für Ihre Cluster und Arbeitsgruppen aufgeführt. In dieser Ansicht können Sie Details zur geplanten Abfrage anzeigen, den Zeitplan aktivieren oder deaktivieren, den Zeitplan bearbeiten und die geplante Abfrage löschen. Wenn Sie Abfragedetails anzeigen, können Sie auch den Verlauf der Ausführung der Abfrage mit dem Zeitplan einsehen.

**Anmerkung**  
Eine planmäßige Abfrageausführung ist nur 24 Stunden in der Liste **Planverlauf** verfügbar. Abfragen, die nach einem Zeitplan ausgeführt werden, werden nicht in der Ansicht **Abfrageverlauf** von Abfrage-Editor v2 angezeigt.

## Demo der Planung einer Abfrage
<a name="query-editor-v2-schedule-query-demo"></a>

Eine Demo der Planung einer Abfrage sehen Sie im folgenden Video. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/gTw0XUpO8sw/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/gTw0XUpO8sw)


# Festlegen von Berechtigungen zum Planen einer Abfrage
<a name="query-editor-v2-schedule-query-permissions"></a>

Um Abfragen zu planen, muss der AWS Identity and Access Management (IAM-) Benutzer, der den Zeitplan und die dem Zeitplan zugeordnete IAM-Rolle definiert, mit den IAM-Berechtigungen für die Verwendung von Amazon EventBridge und der Amazon Redshift Data API konfiguriert sein. Wenn Sie E-Mails aus geplanten Abfragen erhalten möchten, muss die Amazon-SNS-Benachrichtigung, die optional angegeben werden kann, ebenfalls konfiguriert werden.

Im Folgenden werden die Aufgaben beschrieben, mit denen AWS verwaltete Richtlinien zur Erteilung von Berechtigungen verwendet werden. Abhängig von Ihrer Umgebung möchten Sie jedoch möglicherweise die zulässigen Berechtigungen einschränken.

Bearbeiten Sie für den IAM-Benutzer, der im Abfrage-Editor v2 angemeldet ist, den IAM-Benutzer mithilfe der IAM-Konsole (). [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)
+ Zusätzlich zu den Berechtigungen zum Ausführen von Amazon Redshift- und Query Editor v2-Vorgängen können Sie die `AmazonEventBridgeFullAccess` und die `AmazonRedshiftDataFullAccess` AWS verwalteten Richtlinien an einen IAM-Benutzer anhängen. 
+ Sie können auch die Berechtigungen einer Rolle zuweisen und die Rolle dem Benutzer zuweisen.

  Weisen Sie eine Richtlinie, die die Berechtigung `sts:AssumeRole` erteilt, dem Ressourcen-ARN der IAM-Rolle zu, die Sie angeben, wenn Sie die geplante Abfrage definieren. Weitere Informationen zur Übernahme von Rollen finden Sie unter [Erteilen von Berechtigungen an einen Benutzer zum Wechseln von Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html) im *IAM-Benutzerhandbuch*.

  Das folgende Beispiel zeigt eine Berechtigungsrichtlinie, die die IAM-Rolle `myRedshiftRole` im Konto `123456789012` übernimmt. Die IAM-Rolle `myRedshiftRole` ist auch die IAM-Rolle, die dem Cluster oder der Arbeitsgruppe angefügt ist, in dem bzw. der die geplante Abfrage ausgeführt wird. 

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AssumeIAMRole",
              "Effect": "Allow",
              "Action": "sts:AssumeRole",
              "Resource": [
                  "arn:aws:iam::123456789012:role/myRedshiftRole"
              ]
          }
      ]
  }
  ```

------

  Aktualisieren Sie die Vertrauensrichtlinie der IAM-Rolle, die für die Planung der Abfrage verwendet wurde, damit der IAM-Benutzer sie übernehmen kann.

  ```
  {
              "Sid": "AssumeRole",
              "Effect": "Allow",
              "Principal": {
                  "AWS": "arn:aws:iam::123456789012:user/myIAMusername"
              },
              "Action": "sts:AssumeRole"
          }
      ]
  }
  ```

Für die IAM-Rolle, die Sie für die Ausführung der geplanten Abfrage angeben, bearbeiten Sie die IAM-Rolle mithilfe der IAM-Konsole (). [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)
+ Hängen Sie die `AmazonRedshiftDataFullAccess` und die `AmazonEventBridgeFullAccess` AWS verwalteten Richtlinien an die IAM-Rolle an. Die verwaltete Richtlinie `AmazonRedshiftDataFullAccess` erteilt `redshift-serverless:GetCredentials` nur Berechtigungen für Redshift-Serverless-Arbeitsgruppen, die mit dem Schlüssel `RedshiftDataFullAccess` gekennzeichnet sind.

# Authentifizieren einer geplanten Abfrage
<a name="query-editor-v2-schedule-query-authentication"></a>

Wenn Sie eine Abfrage planen, verwenden Sie beim Ausführen der SQL-Anweisung eine der folgenden Authentifizierungsmethoden. Jede Methode erfordert eine andere Kombination von Eingaben im Query Editor v2. Diese Authentifizierungsmethoden werden von der Daten-API unterstützt, die zur Ausführung Ihrer SQL-Anweisungen verwendet wird.

Der Datenbankbenutzer oder die Rolle, der bzw. die zum Ausführen der Abfrage verwendet wird, muss über die erforderlichen Datenbankberechtigungen verfügen. Führen Sie den folgenden SQL-Befehl aus, um der Tabelle `mytable` zum Beispiel `IAMR:MyRedshiftQEv2Scheduler`-Berechtigungen zu erteilen.

```
GRANT all ON TABLE mytable TO "IAMR:MyRedshiftQEv2Scheduler";
```

Wenn Sie die Liste der Datenbankbenutzer in Ihrem Cluster oder Ihrer Arbeitsgruppe anzeigen möchten, fragen Sie die Systemansicht `PG_USER_INFO` ab.

**Anmerkung**  
 Jede Redshift-Serverless-Arbeitsgruppe, für die Sie Abfragen planen, muss mit dem Schlüssel `RedshiftDataFullAccess` gekennzeichnet werden. Weitere Informationen finden Sie unter [Autorisieren des Zugriffs auf die Amazon Redshift Data API](data-api-access.md).  
Als Alternative zum Kennzeichnen der Arbeitsgruppe können Sie der IAM-Rolle (die im Zeitplan angegeben ist) eine Inline-Richtlinie hinzufügen, die `redshift-serverless:GetCredentials` erlaubt. Beispiel:  

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "UseTemporaryCredentialsForAllServerlessWorkgroups",
            "Effect": "Allow",
            "Action": "redshift-serverless:GetCredentials",
            "Resource": [
                "arn:aws:redshift-serverless:*:*:workgroup/*"
            ]
        }
    ]
}
```

**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. Möglicherweise haben Sie bei der Erstellung Ihres Clusters oder Ihrer Arbeitsgruppe ein Secret mit den richtigen Anmeldeinformationen erstellt. Das Secret muss mit dem Schlüssel `RedshiftDataFullAccess` markiert sein. Wenn der Tag-Schlüssel noch nicht vorhanden ist, verwenden Sie die AWS Secrets Manager Konsole, um ihn hinzuzufügen. Weitere Informationen zum Erstellen eines Secrets finden Sie unter [Erstellen eines Secrets für Anmeldeinformationen zur Datenbankverbindung](redshift-secrets-manager-integration-create.md).  
Weitere Informationen zu den Mindestberechtigungen finden Sie unter [Erstellen und Verwalten von Secrets mit AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) im *AWS Secrets Manager -Benutzerhandbuch*. 

**Temporäre Anmeldeinformationen**  
Geben Sie bei dieser Methode Ihre Werte für **Datenbankname** und **Datenbankbenutzer** an, wenn Sie eine Verbindung mit einer Datenbank in einem Cluster herstellen. Sie müssen nur Ihren Wert für **Datenbankname** angeben, wenn Sie eine Verbindung mit einer Datenbank in einer Arbeitsgruppe herstellen.  
Wenn Sie eine Verbindung mit einem Cluster herstellen, erteilt die `AmazonRedshiftDataFullAccess`-Richtlinie dem Datenbankbenutzer mit dem Namen `redshift_data_api_user` Berechtigung für `redshift:GetClusterCredentials`. Wenn Sie zum Ausführen der SQL-Anweisung einen anderen Datenbankbenutzer verwenden möchten, fügen Sie der Ihrem Cluster zugewiesenen IAM-Rolle eine Richtlinie hinzu, um `redshift:GetClusterCredentials` zu erlauben. Mit der folgenden Beispielrichtlinie werden die Datenbankbenutzer `awsuser` und `myuser` zugelassen.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "UseTemporaryCredentialsForAllDbUsers",
            "Effect": "Allow",
            "Action": "redshift:GetClusterCredentials",
            "Resource": [
                "arn:aws:redshift:*:*:dbuser:*/awsuser",
                "arn:aws:redshift:*:*:dbuser:*/myuser"
            ]
        }
    ]
}
```

# Festlegen von Berechtigungen zum Anzeigen des Zeitplanverlaufs der Abfrage
<a name="query-editor-v2-schedule-query-view-history"></a>

Damit Benutzer den Zeitplanverlauf der Abfrage anzeigen können, bearbeiten Sie die IAM-Rolle (die im Zeitplan angegeben ist) **Vertrauensstellungen**, um Berechtigungen hinzuzufügen.

Im Folgenden finden Sie ein Beispiel für eine Vertrauensrichtlinie in einer IAM-Rolle, die es dem IAM-Benutzer ermöglicht, den Verlauf von Zeitplanabfragen *myIAMusername* einzusehen. Anstatt einem IAM-Benutzer `sts:AssumeRole`-Berechtigung zu erteilen, können Sie diese Berechtigung wahlweise einer IAM-Rolle gewähren.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "redshift.amazonaws.com",
                    "redshift-serverless.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Sid": "AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/myIAMusername"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

# Überwachung der geplanten Abfrage
<a name="query-editor-v2-schedule-query-sns"></a>

Für das Amazon-SNS-Thema, das Sie für den Versand von E-Mail-Benachrichtigungen angeben, erstellen Sie das Amazon-SNS-Thema mit dem Abfrage-Editor v2, indem Sie zum Abschnitt **SNS-Benachrichtigungen** navigieren, **Aktivieren** für die Überwachung und **SNS-Thema erstellen** auswählen. Der Abfrage-Editor v2 erstellt das Amazon SNS SNS-Thema und fügt der Zugriffsrichtlinie für Amazon EventBridge einen Service Principal hinzu. Das folgende Beispiel zeigt eine **Zugriffsrichtlinie**, die im Amazon-SNS-Thema erstellt wurde. In dem Beispiel werden das Thema AWS-Region *us-west-2* AWS-Konto *123456789012*, und Amazon SNS *select-version-pdx-testunload* verwendet.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "Allow_Publish_Events",
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:us-west-2:123456789012:select-version-pdx-testunload"
    }
  ]
}
```

------

Wenn die geplante Abfrage ausgeführt wird, sendet Amazon SNS AWS Benachrichtigungs-E-Mails. Das folgende Beispiel zeigt eine E-Mail, die *myemail@example.com* für eine geplante Anfrage gesendet wurde und *QS2-may25a* die AWS-Region *eu-north-1* im Benachrichtigungsthema AWS-Konto *123456789012* *may25a-SNS* Using Amazon SNS ausgeführt wurde.

```
{"version":"0","id":"8e4323ec-5258-7138-181b-91290e30ff9b","detail-type":"Scheduled Event","source":"aws.events","account":"123456789012","time":"2023-05-25T15:22:00Z",
                    "region":"eu-north-1","resources":["arn:aws:events:eu-north-1:123456789012:rule/QS2-may25a"],"detail":{}}

--
If you wish to stop receiving notifications from this topic, please click or visit the link below to unsubscribe:
https://sns.eu-north-1.amazonaws.com/unsubscribe.html?SubscriptionArn=arn:aws:sns:eu-north-1:123456789012:may25a-SNS:0c1a3d05-39c2-4507-bc3d-47250513d7b0&Endpoint=myemail@example.com

Please do not reply directly to this email. If you have any questions or comments regarding this email, please contact us at https://aws.amazon.com/support
```

# Fehlerbehebung bei der Einrichtung oder Planung einer Abfrage
<a name="query-editor-v2-schedule-query-troubleshooting"></a>

Beachten Sie Folgendes, wenn Sie Probleme beim Planen einer Abfrage haben.

**Abfragen, die nicht ausgeführt werden**  
Prüfen Sie, ob die im Zeitplan verwendete IAM-Rolle berechtigt ist, die temporären Cluster-Anmeldeinformationen abzurufen. Die Berechtigung für bereitgestellte Cluster lautet `redshift:GetClusterCredentialsWithIAM`. Die Berechtigung für Redshift-Serverless-Arbeitsgruppen lautet `redshift-serverless:GetCredentials`.

**Der geplante Verlauf wird nicht angezeigt**  
Der IAM-Benutzer oder die IAM-Rolle, mit der Sie sich bei der AWS Konsole angemeldet haben, wurde nicht zur Vertrauensrichtlinie der IAM-Rolle hinzugefügt, die für die Planung der Abfrage verwendet wurde.  
Wenn Sie die Verbindung AWS Secrets Manager für die geplante Abfrage verwenden, vergewissern Sie sich, dass das Geheimnis mit dem Schlüssel gekennzeichnet ist. `RedshiftDataFullAccess`  
Wenn die geplante Abfrage eine AWS Secrets Manager Verbindung verwendet, muss der IAM-Rolle, die für die Planung der Abfrage verwendet wird, der Rolle das Äquivalent einer verwalteten Richtlinie `SecretsManagerReadWrite` zugewiesen sein.

**Der Status des Abfrageverlaufs lautet `Failed`**  
In der SYS\$1QUERY\$1HISTORY-Systemansicht finden Sie Einzelheiten darüber, warum die Abfrage fehlgeschlagen ist. Ein häufiges Problem ist, dass der Datenbankbenutzer oder die Rolle, der bzw. die für die Ausführung der Abfrage verwendet wurde, möglicherweise nicht über die erforderliche Berechtigung zum Ausführen der SQL-Anweisung verfügte. Weitere Informationen finden Sie unter [Authentifizieren einer geplanten Abfrage](query-editor-v2-schedule-query-authentication.md).  
Mit der folgenden SQL-Anweisung wird die SYS\$1QUERY\$1HISTORY-Ansicht abgefragt, um fehlgeschlagene Abfragen zurückzugeben.  

```
SELECT user_id, query_id, transaction_id, session_id, database_name, query_type, status, error_message, query_text 
FROM sys_query_history
WHERE status = 'failed';
```
Details zu einer bestimmten fehlgeschlagenen geplanten Abfrage finden Sie unter [Die Ergebnisse einer geplanten Abfrage anzeigen mit AWS CloudShell](query-editor-v2-schedule-query-troubleshooting-cloudshell.md).

# Die Ergebnisse einer geplanten Abfrage anzeigen mit AWS CloudShell
<a name="query-editor-v2-schedule-query-troubleshooting-cloudshell"></a>

Sie können AWS CloudShell es verwenden, um Details zu einer Zeitplanabfrage herauszufinden. Sie müssen über die entsprechenden Berechtigungen verfügen, um die im folgenden Verfahren beschriebenen AWS CLI Befehle ausführen zu können.

**So zeigen Sie die Ergebnisse einer geplanten Abfrage an**

1. Öffnen Sie auf der AWS Konsole die AWS CloudShell Eingabeaufforderung. Weitere Informationen zu AWS CloudShell finden Sie unter [Was ist AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html) im *AWS CloudShell Benutzerhandbuch*.

1. Übernehmen Sie die IAM-Rolle der geplanten Abfrage. Um die Rolle zu übernehmen, suchen Sie im Abfrage-Editor v2 nach der IAM-Rolle, die der geplanten Abfrage zugeordnet ist, und verwenden Sie sie im AWS CLI -Befehl in  AWS CloudShell. Geben Sie zum Beispiel für die Rolle `scheduler` einen AWS STS -Befehl ein, um die Rolle zu übernehmen, die von der geplanten Abfrage verwendet wird.

   ```
   aws sts assume-role --role-arn "arn:aws:iam::123456789012:role/scheduler" --role-session-name "scheduler-test" 
   ```

   Die zurückgegebenen Anmeldeinformationen sehen ähnlich wie die folgenden aus.

   ```
   "Credentials": {
   "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
   "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
   "SessionToken": "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY...",        
   "Expiration": "2023-08-18T18:19:44+00:00"
   },
   "AssumedRoleUser": {
   "AssumedRoleId": "AROA35B2NH6WBTP7ONL4E:scheduler-test",
   "Arn": "arn:aws:sts::123456789012:assumed-role/scheduler/scheduler-test"
   }
   }
   ```

1. Erstellen Sie Umgebungsvariablen unter AWS CLI Verwendung der Anmeldeinformationen, die bei der Übernahme der IAM-Rolle angezeigt werden. Sie müssen diese Tokens vor ihrer Ablaufzeit verwenden. Sie geben beispielsweise Folgendes in AWS CloudShell ein.

   ```
   export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
   export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   export AWS_SESSION_TOKEN=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY...
   ```

1. Um den Fehler einer fehlgeschlagenen Abfrage anzuzeigen, führen Sie den AWS CLI Befehl zur Beschreibung einer Anweisung aus. Die ID der SQL-Anweisung stammt von der **ID**, die im Abschnitt **Planverlauf** einer geplanten Abfrage im Abfrage-Editor v2 angezeigt wird.

   ```
   aws redshift-data describe-statement --id 130d2620-05d2-439c-b7cf-815d9767f513
   ```

   In diesem Beispiel führt der geplante SQL-Code `select * from users limit 100` zu einem SQL-Fehler, weil die Tabelle `users` nicht vorhanden ist.

   ```
   {
   "CreatedAt": "2023-08-18T17:39:15.563000+00:00",
   "Duration": -1,
   "Error": "ERROR: relation \"users\" does not exist",
   "HasResultSet": false,
   "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
   "QueryString": "select * from users limit 100\n—RequestID=a1b2c3d4-5678-90ab-cdef-EXAMPLE22222; TraceID=1-633c5642-4039308d03f3a0ba53dbdf6f",
   "RedshiftPid": 1073766651,
   "RedshiftQueryId": 0,
   "ResultRows": -1,
   "ResultSize": -1,
   "Status": "FAILED",
   "UpdatedAt": "2023-08-18T17:39:16.116000+00:00",
   "WorkgroupName": "default"
   }
   ```

# Visualisieren von Abfrageergebnissen
<a name="query-editor-v2-charts"></a>

Wenn Sie eine Abfrage ausgeführt haben und die Ergebnisse angezeigt werden, können Sie **Chart** (Diagramm) aktivieren, um eine grafische Darstellung der aktuellen Ergebnisseite anzuzeigen. Sie können die folgenden Steuerelemente verwenden, um Inhalt, Struktur und Aussehen Ihres Diagramms zu definieren:

![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/add-plus.png)-Trace  
Stellt eine Reihe verwandter grafischer Markierungen in einem Diagramm dar. Sie können in einem Diagramm mehrere Traces definieren.

Typ  
Sie können den Trace-Typ definieren, um Daten als eine der folgenden darzustellen:  
+ Streudiagramm für ein Streudiagramm oder ein Blasendiagramm.
+ Balkendiagramm zur Darstellung von Datenkategorien mit vertikalen oder horizontalen Balken.
+ Flächendiagramm zum Definieren gefüllter Bereiche.
+ Histogramm, das Balken verwendet, um die Frequenzverteilung darzustellen.
+ Kreisdiagramm für eine kreisförmige Darstellung von Daten, bei denen jedes Stück einen Prozentsatz des Ganzen darstellt.
+ Trichter- oder Trichterflächendiagramm zur Darstellung von Daten in verschiedenen Phasen eines Prozesses.
+ Das OHLC (open-high-low-close) -Diagramm wird häufig für Finanzdaten verwendet, um offene, hohe, niedrige und geschlossene Werte entlang der X-Achse darzustellen, die normalerweise Zeitintervalle darstellt.
+ Kerzendiagramm zur Darstellung eines Wertebereichs für eine Kategorie über einen Zeitraum.
+ Wasserfalldiagramm, um darzustellen, wie ein Anfangswert durch eine Reihe von Zwischenwerten zunimmt oder abnimmt. Werte können Zeitintervalle oder Kategorien darstellen.
+ Liniendiagramm zur Darstellung von Wertänderungen im Laufe der Zeit.

X-Achse  
Sie geben eine Tabellenspalte an, die Werte enthält, die entlang der X-Achse dargestellt werden sollen. Spalten, die beschreibende Werte enthalten, stellen normalerweise dimensionale Daten dar. Spalten, die quantitative Werte enthalten, stellen normalerweise Sachdaten dar.

Y-Achse  
Sie geben eine Tabellenspalte an, die Werte enthält, die entlang der Y-Achse dargestellt werden sollen. Spalten, die beschreibende Werte enthalten, stellen normalerweise dimensionale Daten dar. Spalten, die quantitative Werte enthalten, stellen normalerweise Sachdaten dar.

Nebenhandlungen  
Sie können zusätzliche Darstellungen von Diagrammdaten definieren.

Transformiert  
Sie können Transformationen definieren, um Trace-Daten zu filtern. Sie verwenden eine geteilte Transformation, um mehrere Traces aus einer einzigen Quell-Trace anzuzeigen. Sie verwenden eine Aggregat-Transformation, um eine Trace als Durchschnitt oder Minimum darzustellen. Sie verwenden eine Sortiertransformation, um ein Trace zu sortieren.

Allgemeines Erscheinungsbild  
Sie können Standardeinstellungen für Hintergrundfarbe, Randfarbe, Farbskalen zum Entwerfen von Paletten, Textstil und -formaten, Titelstil und -format sowie Modusleiste festlegen. Sie können Interaktionen für Ziehen, Klicken und Zeigen mit der Maus definieren. Sie können Metatext definieren. Sie können Standarddarstellungen für Traces, Achsen, Legenden und Anmerkungen definieren.

**Einen Alarm erstellen**

1. Führen Sie eine Abfrage aus und erhalten Sie Ergebnisse.

1. Aktivieren Sie **Charts** (Diagramme) aus.

1. Wählen Sie **Trace** (Nachverfolgung) und visualisieren Sie Ihre Daten.

1. Wählen Sie einen der folgenden Diagrammstile aus:
   + Streuung
   + Säulen
   + Flächen
   + Histogramm
   + Kreis
   + Trichter
   + Trichterflächen
   + OHLC () open-high-low-close
   + Kerzen
   + Wasserfall
   + Linien

1. Wählen Sie **Style** (Stil) aus, um das Erscheinungsbild wie Farben, Achsen, Legende und Anmerkungen anzupassen. Sie können Text, Formen und Bilder hinzufügen.

1. Wählen Sie **Annotations** (Ergänzungen) aus, um Text, Formen und Bilder hinzuzufügen.

1. Um das Diagramm zu aktualisieren, wählen Sie **Refresh** (Aktualisieren) aus. Wählen Sie **Full screen** (Vollbild) aus, um die Diagrammanzeige zu erweitern.

## Beispiel: Ein Kreisdiagramm zur grafischen Darstellung der Abfrageergebnisse erstellen
<a name="query-editor-v2-example-pie-chart"></a>

Im folgenden Beispiel wird die Tabelle *Sales* (Umsatz) aus der Beispieldatenbank verwendet. Weitere Informationen finden Sie unter [Beispieldatenbank](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

Im Folgenden finden Sie die Abfrage, die Sie ausführen, um die Daten für das Kreisdiagramm bereitzustellen.

```
select top 5 eventname, count(salesid) totalorders, sum(pricepaid) totalsales 
from sales, event
where sales.eventid=event.eventid group by eventname
order by 3;
```

**Ein Kreisdiagramm für die Top-Veranstaltung nach Gesamtumsatz erstellen**

1. Führen Sie die Abfrage aus.

1. Aktivieren Sie im Bereich mit den Abfrageergebnissen **Chart** (Diagramm).

1. Wählen Sie **Trace** aus.

1. Wählen Sie unter **Type** den Typ **Pie** (Kreis) aus.

1. Wählen Sie bei **Values** (Werte) *totalsales* aus.

1. Wählen Sie bei **Labels** (Markierungen) *eventname* aus.

1. Wählen Sie bei **Style** den Stil **General** (Allgemein) aus.

1. Wählen Sie unter **Colorscales** (Farbskalen) die Option **Categorical** (Kategorisch) und dann **Pastel2** aus.

![\[Kreisdiagramm\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/pie-chart.png)


## Beispiel: Ein Kombinationsdiagramm zum Vergleich von Umsatz und Verkäufen erstellen
<a name="query-editor-v2-example-revenue-sales-chart"></a>

Führen Sie die Schritte in diesem Beispiel aus, um ein Diagramm zu erstellen, das ein Balkendiagramm für Umsatzdaten und ein Liniendiagramm für Verkaufsdaten kombiniert. Im folgenden Beispiel wird die Tabelle *Sales* (Verkäufe) aus der Ticket-Beispieldatenbank verwendet. Weitere Informationen finden Sie unter [Beispieldatenbank](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

Im Folgenden finden Sie die Abfrage, die Sie ausführen, um die Daten für das Diagramm bereitzustellen.

```
select eventname, total_price, total_qty_sold
from  (select eventid, total_price, total_qty_sold, ntile(1000) over(order by total_price desc) as percentile
       from (select eventid, sum(pricepaid) total_price, sum(qtysold) total_qty_sold
             from   tickit.sales
             group by eventid)) Q, tickit.event E
       where Q.eventid = E.eventid
       and percentile = 1
order by total_price desc;
```

**So erstellen Sie ein Kombinationstabelle zum Vergleich von Umsatz und Verkäufen**

1. Führen Sie die Abfrage aus.

1. Aktivieren Sie im Bereich mit den Abfrageergebnissen **Chart** (Diagramm).

1. Wählen Sie unter *trace o* für **Type** (Typ) die Option **Bar** (Balken) aus.

1. Wählen Sie für **X***eventname* aus.

1. Wählen Sie für **Y***total\$1price* aus.

   Das Balkendiagramm wird mit Ereignisnamen entlang der X-Achse angezeigt.

1. Wählen Sie unter **Style** (Stil) **Traces** aus. 

1. Geben Sie für **Name** die Option *Revenue* (Umsatz) ein.

1. Wählen Sie unter **Style** (Stil) die Option **Axes** (Achsen) aus. 

1. Wählen Sie für **Title** (Titel) die Option **Y** aus und öffnen Sie *Revenue* (Umsatz).

   Die Bezeichnung *Revenue* (Umsatz) wird auf der linken Y-Achse angezeigt.

1. Wählen Sie unter **Structure** (Struktur) **Traces** aus.

1. Wählen Sie ![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/add-plus.png)**Trace** aus.

   Die Optionen „Trace 1“ werden angezeigt.

1. Wählen Sie für **Type** (Typ) die Option **Line** (Linie) aus.

1. Wählen Sie für **X***eventname* aus.

1. Wählen Sie für **Y***total\$1qty\$1sold* aus.

1. Wählen Sie unter **Axes To Use** (Zu verwendende Achsen) für **Y Axis** (Y-Achse) die Option ![\[Plus sign icon representing an addition or new item action.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/add-plus.png) aus. 

   Die **Y Axis** (Y-Achse) zeigt *Y2* an.

1. Wählen Sie unter **Style** (Stil), **Axes** (Achsen) aus.

1. Wählen Sie unter **Titles** (Titel) **Y2** aus.

1. Geben Sie für **Name***Sales* (Verkäufe) ein.

1. Wählen Sie unter **Lines** (Linien) *Y:Sales* (Y:Verkäufe) aus.

1. Wählen unter **Axis Line** (Achsen-Linie) die Option **Show** (Anzeigen) und für **Position** die Option **Right** (Rechts) aus.

![\[Umsatz- und Verkaufstabelle\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/chart-revenue-sales.png)


## Demo: Visualisierungen mit dem Abfrage-Editor v2 von Amazon Redshift erstellen
<a name="query-editor-v2-demo-visualizations"></a>

Eine Demo zum Erstellen von Visualisierungen finden Sie im folgenden Video. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/-FYqTIER-6U/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/-FYqTIER-6U)


# Zusammenarbeiten und Teilen im Team
<a name="query-editor-v2-team"></a>

Sie können Abfragen mit Ihrem Team teilen. 

Ein Team ist für eine Gruppe von Benutzern definiert, die zusammenarbeiten und Ressourcen des Abfrage-Editors v2 gemeinsam nutzen. Ein Administrator kann ein Team erstellen, indem er einer IAM-Rolle ein Tag hinzufügt. Weitere Informationen finden Sie unter [Für die Verwendung des Abfrage-Editors v2 erforderliche Berechtigungen](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2). 

# Speichern und Suchen von Abfragen
<a name="query-editor-v2-save-queries"></a>

Bevor Sie Ihre Abfrage mit Ihrem Team teilen können, speichern Sie sie. Sie können gespeicherte Abfragen anzeigen und löschen. 

**Eine Abfrage speichern**

1. Bereiten Sie Ihre Abfrage vor und wählen Sie **Save** (Speichern) aus.

1. Geben Sie einen Titel für die Abfrage ein.

1. Wählen Sie **Speichern**. 

**Nach gespeicherten Abfragen suchen**

1. Wählen Sie im Navigationsbereich **Queries** (Abfragen) aus.

1. Sie können verschiedene Abfragen sehen: **My queries** (Meine Abfragen), **Shared by me** (Von mir geteilt) bzw. **Shared to my team** (Für mein Team freigegeben). Diese Abfragen können als einzelne Abfragen oder in dafür erstellten Ordnern angezeigt werden.

# Teilen einer Abfrage
<a name="query-editor-v2-query-share"></a>

Sie können eigene Abfragen mit Ihrem Team teilen. Sie können auch den Verlauf der gespeicherten Abfragen anzeigen und Abfrageversionen verwalten. 

Um eine Abfrage mit Ihrem Team zu teilen, müssen Sie sicherstellen, dass das Prinzipal-Tag `sqlworkbench-team` auf den gleichen Wert wie bei den übrigen Teammitgliedern in Ihrem Konto eingestellt ist. Beispielsweise könnte ein Administrator den Wert für jeden in der Buchhaltungsabteilung auf `accounting-team` einstellen. Ein Beispiel finden Sie unter [Für die Verwendung des Abfrage-Editors v2 erforderliche Berechtigungen](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor-v2).

**Eine Abfrage mit einem Team teilen**

1. Wählen Sie im Navigationsbereich **Queries** (Abfragen) aus.

1. Öffnen Sie das Kontextmenü der Abfrage, die Sie teilen möchten (rechte Maustaste) und wählen Sie **Share with my team** (Mit meinem Team teilen) aus.

1. Wählen Sie das Team oder die Teams aus, mit denen Sie die Abfrage teilen möchten, und wählen Sie dann **Save sharing options** (Freigabeoptionen speichern) aus. 

# Verwalten von Abfrageversionen
<a name="query-editor-v2-query-versions"></a>

Jede gespeicherte SQL-Abfrage wird vom Abfrage-Editor v2 als neue Version gespeichert. Sie können frühere Abfrageversionen durchsuchen, eine Kopie einer Abfrage speichern oder eine Abfrage wiederherstellen. 

**Abfrageversionen verwalten**

1. Wählen Sie im Navigationsbereich **Queries** (Abfragen) aus.

1. Öffnen Sie das Kontextmenü für die Abfrage (rechte Maustaste), mit der Sie arbeiten möchten.

1. Wählen Sie auf **Version history** (Versionshistorie) aus, um eine Liste von Versionen der Abfrage zu öffnen.

1. Auf der Seite **Version history** (Versionshistorie) haben Sie folgende Möglichkeiten:
   + **Revert to selected** (Zurück zur Auswahl) – Kehren Sie zur ausgewählten Version zurück und setzen Sie Ihre Arbeit mit dieser Version fort.
   + **Save selected under** (Auswahl speichern unter) – Erstellen Sie im Editor eine neue Abfrage.

# Abfragen einer Datenbank mit dem Amazon Redshift Redshift-Abfrage-Editor v1
<a name="query-editor"></a>

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.

**Anmerkung**  
Mit diesem ursprünglichen Abfrage-Editor können Sie in Amazon Redshift Serverless keine Daten abfragen. Verwenden Sie stattdessen den Abfrage-Editor v2 von Amazon Redshift.

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. Die `AmazonRedshiftQueryEditor` Richtlinie, bei der es sich um eine AWS verwaltete Richtlinie AWS Identity and Access Management (IAM) handelt, wurde aktualisiert und umfasst nun die erforderlichen Berechtigungen. 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](redshift-iam-access-control-identity-based.md#redshift-policy-resources.required-permissions.query-editor).

Wenn Sie über den neuen Query Editor eine Verbindung zu Ihrem Cluster herstellen, können Sie eine von zwei Authentifizierungsmethoden verwenden. 

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
<a name="query-editor-considerations"></a>

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](https://docs.aws.amazon.com/redshift/latest/dg/r_BEGIN.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*.
+ Sie können Abfragen mit bis zu 3 000 Zeichen speichern. 

# Durch Herstellen einer Verbindung zu einem Data Warehouse von Amazon Redshift mithilfe von SQL-Client-Tools
<a name="connecting-to-cluster"></a>

Sie können Verbindungen von SQL-Client-Tools zu Data Warehouses von Amazon Redshift über Java Database Connectivity (JDBC), Python und Open Database Connectivity (ODBC) herstellen. Amazon Redshift stellt keine SQL-Client-Tools oder -Bibliotheken bereit oder installiert sie. Um diese Tools oder Bibliotheken für die Arbeit mit Daten in Ihren Data Warehouses zu verwenden, müssen Sie sie auf Ihrem Clientcomputer oder Ihrer Amazon-EC2-Instance installieren. Sie können die meisten SQL-Client-Tools verwenden, die JDBC-, Python oder ODBC-Treiber unterstützen. 

In der Liste der Abschnitte am Ende dieses Themas finden Sie eine Anleitung für die Konfiguration Ihres Client-Computers oder Ihrer Amazon-EC2-Instance zur Verwendung einer JDBC-, Python- oder ODBC-Verbindung. Dort finden Sie auch eine Beschreibung der jeweiligen Sicherheitsoptionen für die Clientverbindung zum Server. Darüber hinaus finden Sie Informationen zur Einrichtung und Verbindung von SQL-Client-Tools wie [Amazon Redshift RSQL](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html). Sie können diese Tools ausprobieren, wenn Sie noch kein Business Intelligence-Tool haben. Sie erfahren in diesem Abschnitt auch, wie Sie Verbindungen mit Ihren Daten herstellen können. Wenn Sie Probleme haben, Verbindungen mit Ihrem Data Warehouse herzustellen, finden Sie hier auch Informationen zur Fehlerbehebung, anhand derer Sie Lösungen identifizieren können.

## Empfehlungen für die Verbindung mit Client-Tools
<a name="connecting-to-cluster-recommendations"></a>

Wenn Sie über eine IP-Adresse eine Verbindung zu Ihrem Redshift-Cluster herstellen, kann dies zu zusätzlichen Ausfallzeiten führen, wenn es zu einem Ausfall oder einem Verbindungsverlust kommt und der Cluster in einer neuen Availability Zone (AZ) online geschaltet wird. Wenn Sie jedoch weiterhin möchten, dass Ihre Anwendung über eine IP-Adresse eine Verbindung zu Redshift herstellt, verwenden Sie die private IP-Adresse, die an den Endpunkt des Clusters virtual-private-cloud (VPC) angehängt ist. Sie finden dies in den Cluster-Details unter **Netzwerk und Sicherheit** auf der Registerkarte **Eigenschaften**. 

**Anmerkung**  
Wenn Ihre Anwendung die IP-Adresse des Leader-Knotens für den Zugriff auf den Redshift-Cluster verwendet, empfiehlt es sich, sie so zu ändern, dass sie die Cluster-Endpunkt-URL verwendet. Weitere Informationen finden Sie unter [Konfigurieren von Verbindungen in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html).

**Topics**
+ [Empfehlungen für die Verbindung mit Client-Tools](#connecting-to-cluster-recommendations)
+ [Konfigurieren von Verbindungen in Amazon Redshift](configuring-connections.md)
+ [Konfigurieren von Sicherheitsoptionen für Verbindungen](connecting-ssl-support.md)
+ [Herstellen von Verbindungen von Client-Tools aus und mit Code](connecting-via-client-tools.md)
+ [Verwenden eines Authentifizierungsprofils zur Verbindung mit Amazon Redshift](connecting-with-authentication-profiles.md)
+ [Beheben von Problemen mit Verbindungen in Amazon Redshift](troubleshooting-connections.md)

# Konfigurieren von Verbindungen in Amazon Redshift
<a name="configuring-connections"></a>

Im folgenden Abschnitt erfahren Sie, wie Sie JDBC-, Python- und ODBC-Verbindungen zur Herstellung von Verbindungen zu Ihrem Cluster von SQL-Client-Tools aus konfigurieren. In diesem Abschnitt wird die Einrichtung von JDBC-, Python- und ODBC-Verbindungen beschrieben. Außerdem wird beschrieben, wie Secure Sockets Layer (SSL) und Serverzertifikate zur Verschlüsselung der Kommunikation zwischen Client und Server verwendet werden. 

## JDBC-, Python- und ODBC-Treiber für Amazon Redshift
<a name="connecting-drivers"></a>

Um mit Daten in Ihrem Cluster zu arbeiten, benötigen Sie JDBC-, Python- oder ODBC-Treiber, um Verbindungen von Ihrem Client-Computer oder Ihrer Instance aus herstellen zu können. Sie kodieren Ihre Anwendungen für die Verwendung von JDBC-, Python- oder ODBC-API-Operationen für den Zugriff auf Daten und verwenden SQL-Client-Tools, die JDBC, Python oder ODBC unterstützen.

Amazon Redshift stellt JDBC-, Python- und ODBC-Treiber zum Download bereit. Diese Treiber werden unterstützt von. Support PostgreSQL-Treiber sind nicht getestet und werden vom Amazon-Redshift-Team nicht unterstützt. Verwenden Sie die Amazon-RedShift-spezifischen Treiber, wenn Sie eine Verbindung zu einem Amazon-Redshift-Cluster herstellen. Die Amazon-Redshift-Treiber bieten die folgenden Vorteile:
+ Unterstützung für IAM, SSO und Verbundauthentifizierung.
+ Unterstützung für neue Amazon-Redshift-Datentypen.
+ Unterstützung für Authentifizierungsprofile.
+ Verbesserte Leistung in Verbindung mit Amazon-Redshift-Verbesserungen.

 Weitere Informationen zum Download der JDBC- und ODBC-Treiber und zur Konfigurierung von Verbindungen für Ihren Cluster finden Sie unter [Konfiguration einer Verbindung für JDBC-Treiberversion 2.x für Amazon Redshift](jdbc20-install.md), [Amazon Redshift Python Connector](python-redshift-driver.md) und [Konfigurieren einer Verbindung für ODBC-Treiberversion 2.x für Amazon Redshift](odbc20-install.md). 

Weitere Informationen zur Verwaltung von IAM-Identitäten, einschließlich bewährter Methoden für IAM-Rollen, finden Sie unter [Identity and Access Management in Amazon Redshift](redshift-iam-authentication-access-control.md).

# Suche der Zeichenfolge für die Verbindung mit dem Cluster
<a name="connecting-connection-string"></a>

Um Ihren Cluster mit Ihrem SQL-Client-Tool zu verbinden, benötigen Sie die Cluster-Verbindungszeichenfolge. Sie finden die Cluster-Verbindungszeichenfolge in der Amazon-Redshift-Konsole auf der Detailseite eines Clusters.

**So finden Sie die Verbindungszeichenfolge für einen Cluster:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Redshift Redshift-Konsole unter [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. Wählen Sie im Navigationsmenü die Option **Clusters** (Cluster) und dann in der Liste den Cluster-Namen aus, um die Details zu dem Cluster aufzurufen.

1. Die **JDBC-URL**- und **ODBC-URL**-Verbindungszeichenfolgen finden Sie zusammen mit zusätzlichen Details im Abschnitt **Allgemeine Informationen**. Jede Zeichenfolge basiert auf der AWS Region, in der der Cluster ausgeführt wird. Klicken Sie auf das Symbol neben der entsprechenden Verbindungszeichenfolge, um sie zu kopieren.

Um eine Verbindung zu einem Cluster-Endpunkt herzustellen, können Sie die Cluster-Endpunkt-URL aus einer [DescribeClusters API-Anfrage](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html) verwenden. Das folgende Beispiel zeigt eine Cluster-Endpunkt-URL.

```
mycluster.cmeaswqeuae.us-east-2.redshift.amazonaws.com
```

Wenn Sie einen benutzerdefinierten Domain-Namen für Ihren Cluster eingerichtet haben, können Sie diesen auch verwenden, um eine Verbindung mit Ihrem Cluster herzustellen. Weitere Hinweise zum Erstellen eines benutzerdefinierten Domain-Namens finden Sie unter [Einrichten eines benutzerdefinierten Domain-Namens](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME-connect.html).

**Anmerkung**  
Wenn Sie eine Verbindung herstellen, benutzen Sie nicht die IP-Adresse eines Cluster-Knotens oder die IP-Adresse des VPC-Endpunkts. Benutzen Sie immer den Redshift-Endpunkt, um einen unnötigen Ausfall zu vermeiden. Die einzige Ausnahme bei der Benutzung der Endpunkt-URL ist die Verwendung eines benutzerdefinierten Domain-Namens. Weitere Informationen finden Sie unter [Verwendung eines benutzerdefinierten Domain-Namens für Client-Verbindungen](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME.html).

# Konfiguration einer Verbindung für JDBC-Treiberversion 2.x für Amazon Redshift
<a name="jdbc20-install"></a>

Für zahlreiche SQL-Client-Tools von Drittanbietern können Sie eine Verbindung mit JDBC-Treiberversion 2.x verwenden, um Ihren Amazon-Redshift-Cluster zu verbinden. Der Amazon-Redshift-JDBC-Konnektor stellt eine Open-Source-Lösung bereit. Sie können den Quellcode durchsuchen, Verbesserungen anfordern, Probleme melden und Beiträge bereitstellen. 

Aktuelle Informationen zu JDBC-Treiberänderungen finden Sie im [Änderungsprotokoll](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/CHANGELOG.md).

Standardmäßig ist der Amazon-Redshift-JDBC-Treiber für die Verwendung von TCP-Keepalives zur Verhinderung von Timeouts von Verbindungen konfiguriert. Sie können festlegen, wann der Treiber mit dem Senden von Keepalive-Paketen beginnt. Sie können die Funktion auch deaktivieren, indem Sie die entsprechenden Eigenschaften in der Verbindungs-URL festlegen. Weitere Informationen zur Syntax der Verbindungs-URL finden Sie unter [Erstellen der Verbindungs-URL](jdbc20-build-connection-url.md).


| Property (Eigenschaft) | Description (Beschreibung) | 
| --- | --- | 
|  `TCPKeepAlive`  |  Um TCP-Keepalives zu deaktivieren, setzen Sie diese Eigenschaft auf `FALSE`.  | 

**Topics**
+ [Herunterladen von Version 2.1 des JDBC-Treibers für Amazon Redshift](jdbc20-download-driver.md)
+ [Installation des Amazon Redshift JDBC-Treibers, Version 2.2](jdbc20-install-driver.md)
+ [Abrufen der JDBC-URL](jdbc20-obtain-url.md)
+ [Erstellen der Verbindungs-URL](jdbc20-build-connection-url.md)
+ [Konfigurieren einer JDBC-Verbindung mit Apache Maven](configure-jdbc20-connection-with-maven.md)
+ [Konfigurieren von Authentifizierung und SSL](jdbc20-configure-authentication-ssl.md)
+ [Konfigurieren der Protokollierung](jdbc20-configuring-logging.md)
+ [Datentypkonvertierungen](jdbc20-data-type-mapping.md)
+ [Unterstützung für vorbereitete Anweisungen verwenden](jdbc20-prepared-statement-support.md)
+ [Unterschiede zwischen den Versionen 2.2 und 1.x des JDBC-Treibers](jdbc20-jdbc10-driver-differences.md)
+ [Erstellen von Initialisierungsdateien (.ini) für die JDBC-Treiberversion 2.x](jdbc20-ini-file.md)
+ [Konfigurationsoptionen für die JDBC-Treiberversion 2.x](jdbc20-configuration-options.md)
+ [Vorgängerversionen von JDBC-Treiber Version 2.x](jdbc20-previous-driver-version-20.md)

# Herunterladen von Version 2.1 des JDBC-Treibers für Amazon Redshift
<a name="jdbc20-download-driver"></a>

**Anmerkung**  
Der JDBC-2.x-Treiber für Amazon Redshift ist nicht darauf ausgelegt, Thread-sicher zu arbeiten. Zwei oder mehr Threads, die gleichzeitig versuchen, dieselbe Verbindung zu verwenden, können zu Deadlocks, Fehlern, falschen Ergebnissen oder anderen unerwarteten Verhaltensweisen führen.  
Wenn Sie über eine Multithread-Anwendung verfügen, empfehlen wir, den Zugriff auf den Treiber zu synchronisieren, um gleichzeitigen Zugriff zu vermeiden.

Amazon Redshift bietet Treiber für Tools, die mit der JDBC 4.2 API kompatibel sind. Der Klassenname für diesen Treiber ist `com.amazon.redshift.Driver`.

Ausführliche Informationen zur Installation des JDBC-Treibers, Referenzen zu JDBC-Treiberbibliotheken und zur Registrierung der Treiberklasse finden Sie in den folgenden Themen. 

Überprüfen Sie für jeden Computer, auf dem Sie JDBC-Treiberversion 2.x für Amazon Redshift verwenden, ob Java-Laufzeitumgebung (JRE) 8.0 installiert ist. 

Wenn Sie den Amazon-Redshift-JDBC-Treiber für die Datenbank-Authentifizierung verwenden, muss der Pfad Ihrer Java-Klasse das AWS SDK für Java 1.11.118 oder höher enthalten. Falls Sie das SDK noch nicht AWS SDK für Java installiert haben, laden Sie die ZIP-Datei mit JDBC 4.2-kompatiblen Treibern und treiberabhängigen Bibliotheken für das SDK herunter: AWS 
+ [JDBC 4.2-kompatible Treiberversion 2.x und vom AWS SDK-Treiber abhängige Bibliotheken](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.5/redshift-jdbc42-2.2.5.zip) 4.2-kompatible Treiberversion 2.x und SDK-Treiberabhängige Bibliotheken AWS 

  Diese Zip-Datei enthält die JDBC-4.2-kompatible Treiberversion 2.x und treiberabhängige Bibliotheksdateien für AWS SDK für Java 1.x. Entpacken Sie die abhängigen JAR-Dateien an denselben Speicherort wie den JDBC-Treiber. Nur der JDBC-Treiber muss sich in CLASSPATH befinden.

  Diese ZIP-Datei enthält nicht das komplette AWS SDK for Java 1.x. Es enthält jedoch das AWS SDK for Java 1.x-Treiberbibliotheken, die für die AWS Identity and Access Management (IAM-) Datenbankauthentifizierung erforderlich sind.

  Verwenden Sie diesen Amazon Redshift JDBC-Treiber mit dem AWS SDK, das für die IAM-Datenbankauthentifizierung erforderlich ist.

  Informationen zur Installation des vollständigen AWS SDK for Java 1.x finden Sie unter [AWS SDK for Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/welcome.html) im *AWS SDK für Java Developer* Guide. 
+ [JDBC 4.2-kompatible Treiberversion 2.x (ohne AWS SDK) Verwenden Sie in der](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.5/redshift-jdbc42-2.2.5.jar) Treiberversion 2.x (ohne SDK) AWS 

Lesen Sie die Softwarelizenz und das Änderungsprotokoll der JDBC-Treiberversion 2.x: 
+ [Lizenz der JDBC-Treiberversion 2.x](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/LICENSE) 
+ [Änderungsprotokoll der JDBC-Treiberversion 2.x](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/CHANGELOG.md)

Die JDBC-Treiberversionen 1.2.27.1051 und höher unterstützen in Amazon Redshift gespeicherte Prozeduren. Weitere Informationen finden Sie unter [Erstellen von gespeicherten Prozeduren in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/stored-procedure-overview.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

# Installation des Amazon Redshift JDBC-Treibers, Version 2.2
<a name="jdbc20-install-driver"></a>

Um die Amazon Redshift JDBC 4.2-kompatible Treiberversion 2.x und die treiberabhängigen Bibliotheken für das AWS SDK zu installieren, extrahieren Sie die Dateien aus dem ZIP-Archiv in das Verzeichnis Ihrer Wahl. 

Um die mit Amazon Redshift JDBC 4.2 kompatible Treiberversion 2.x (ohne das AWS SDK) zu installieren, kopieren Sie die JAR-Datei in ein Verzeichnis Ihrer Wahl.

Um mithilfe des Amazon-Redshift-JDBC-Treibers auf einen Amazon-Redshift-Datenspeicher zuzugreifen, müssen Sie die Konfiguration wie folgt durchführen.

**Topics**
+ [Verweisen auf die JDBC-Treiberbibliotheken](jdbc20-driver-libraries.md)
+ [Registrieren der Treiberklasse](jdbc20-register-driver-class.md)

# Verweisen auf die JDBC-Treiberbibliotheken
<a name="jdbc20-driver-libraries"></a>

Die JDBC-Anwendung oder der Java-Code, mit der bzw. dem Sie eine Verbindung zu Ihren Daten herstellen, muss auf die JAR-Dateien des Treibers zugreifen. Geben Sie in der Anwendung oder im Code alle JAR-Dateien an, die Sie aus dem Zip-Archiv extrahiert haben. 

## Verwenden des Treibers in einer JDBC-Anwendung
<a name="jdbc20-use-driver-jdbc-app"></a>

JDBC-Anwendungen bieten in der Regel eine Reihe von Konfigurationsoptionen zum Hinzufügen einer Liste von Treiberbibliotheksdateien. Verwenden Sie die bereitgestellten Optionen, um alle JAR-Dateien aus dem Zip-Archiv als Teil der Treiberkonfiguration in die Anwendung aufzunehmen. Weitere Informationen finden Sie in der Dokumentation zu Ihrer JDBC-Anwendung. 

## Verwenden des Treibers in Java-Code
<a name="jdbc20-use-driver-java-code"></a>

Sie müssen alle Treiberbibliotheksdateien in den Klassenpfad aufnehmen. Dies ist der Pfad, den die Java Runtime Environment nach Klassen und anderen Ressourcendateien durchsucht. Weitere Informationen finden Sie in der entsprechenden Java-SE-Dokumentation, um den Klassenpfad für Ihr Betriebssystem festzulegen. 
+ [Windows: 7/ .html https://docs.oracle.com/javase/ docs/technotes/tools/windows/classpath](https://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html)
+ [Linux und Solaris: 7/ .html https://docs.oracle.com/javase/ docs/technotes/tools/solaris/classpath](https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/classpath.html)
+ macOS: Der standardmäßige macOS-Klassenpfad ist das Verzeichnis, in dem der JDBC-Treiber installiert ist.

# Registrieren der Treiberklasse
<a name="jdbc20-register-driver-class"></a>

Stellen Sie sicher, dass Sie die entsprechende Klasse für Ihre Anwendung registrieren. Die folgenden Klassen werden verwendet, um den Amazon-Redshift-JDBC-Treiber mit Amazon-Redshift-Datenspeichern zu verbinden:
+ `Driver` Klassen erweitern `java.sql.Driver`.
+ `DataSource`-Klassen erweitern `javax.sql.DataSource` und `javax.sql.ConnectionPoolDataSource`.

Der Treiber unterstützt die folgenden vollständig qualifizierten Klassennamen, die unabhängig von der JDBC-Version sind:
+ `com.amazon.redshift.jdbc.Driver`
+ `com.amazon.redshift.jdbc.DataSource`

Das folgende Beispiel zeigt, wie die DriverManager Klasse verwendet wird, um eine Verbindung für JDBC 4.2 herzustellen.

```
            private static Connection connectViaDM() throws Exception
{
Connection connection = null;
connection = DriverManager.getConnection(CONNECTION_URL);
return connection;
}
```

Das folgende Beispiel zeigt, wie Sie mithilfe der `DataSource`-Klasse eine Verbindung herstellen.

```
 private static Connection connectViaDS() throws Exception
{
Connection connection = null;
11
Amazon Redshift JDBC Driver Installation and Configuration Guide
DataSource ds = new com.amazon.redshift.jdbc.DataSource
();
ds.setURL(CONNECTION_URL);
connection = ds.getConnection();
return connection;
}
```

# Abrufen der JDBC-URL
<a name="jdbc20-obtain-url"></a>

Sie müssen die JDBC-URL Ihres Clusters kennen, bevor Sie aus einem SQL-Client-Tool eine Verbindung mit Ihrem Amazon-Redshift-Cluster herstellen können. Die JDBC-URL hat das folgende Format: `jdbc:redshift://endpoint:port/database`.

Die Felder des vorhergehenden Formats haben die folgenden Werte.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/jdbc20-obtain-url.html)

Im Folgenden wird ein Beispiel für eine JDBC-URL gezeigt:`jdbc:redshift://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev` 

Wenn Ihre URL-Werte eines der folgenden für URIs reservierten Zeichen enthalten, müssen die Werte URL-codiert sein:
+  ; 
+  \$1 
+  \$1 
+  \$1 
+  [ 
+  ] 
+  & 
+  = 
+  ? 
+  ein leeres Feld 

Wenn Ihr `PWD`-Wert beispielsweise `password:password` lautet, würde eine Verbindungs-URL, die diesen Wert verwendet, etwa wie folgt aussehen:

`jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=password%3Apassword`

Informationen darüber, wie Sie Ihre JDBC-Verbindung herstellen können, finden Sie unter [Suche der Zeichenfolge für die Verbindung mit dem Cluster](connecting-connection-string.md). 

Wenn der Client-Computer keine Verbindung mit der Datenbank herstellen kann, können Sie mögliche Fehler beheben. Weitere Informationen finden Sie unter [Beheben von Problemen mit Verbindungen in Amazon Redshift](troubleshooting-connections.md). 

# Erstellen der Verbindungs-URL
<a name="jdbc20-build-connection-url"></a>

Verwenden Sie die Verbindungs-URL, um Verbindungsinformationen für den Datenspeicher bereitzustellen, auf den Sie zugreifen. Nachfolgend finden Sie das Format der Verbindungs-URL für den JDBC-Treiber Version 2.x für Amazon Redshift. Hier ist [Host] der Endpunkt des Amazon-Redshift-Servers und [Port] die Nummer des TCP-Ports (Transmission Control Protocol), den der Server für Clientanforderungen verwendet.

```
jdbc:redshift://[Host]:[Port]
```

Im Folgenden finden Sie das Format einer Verbindungs-URL, die einige optionale Einstellungen angibt.

```
jdbc:redshift://[Host]:[Port]/[database];[Property1]=[Value];
[Property2]=[Value];
```

Wenn Ihre URL-Werte eines der folgenden für URIs reservierten Zeichen enthalten, müssen die Werte URL-codiert sein:
+  ; 
+  \$1 
+  \$1 
+  \$1 
+  [ 
+  ] 
+  & 
+  = 
+  ? 
+  ein leeres Feld 

Wenn Ihr `PWD`-Wert beispielsweise `password:password` lautet, würde eine Verbindungs-URL, die diesen Wert verwendet, etwa wie folgt aussehen:

`jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=password%3Apassword`

Beispiel: Sie möchten eine Verbindung mit Port 9000 auf einem Amazon-Redshift-Cluster in der Region USA West (Nordkalifornien) auf herstellen AWS. Sie möchten auch auf die Datenbank `dev` zugreifen und die Verbindung mithilfe eines Benutzernamens und eines Passworts authentifizieren. In diesem Fall verwenden Sie die folgende Verbindungs-URL.

```
jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=amazon
```

Sie können die folgenden Zeichen verwenden, um Konfigurationsoptionen vom Rest der URL-Zeichenfolge zu trennen:
+ ;
+ ?

Beispielsweise sind die folgenden URL-Zeichenfolgen gleichwertig:

```
jdbc:redshift://my_host:5439/dev;ssl=true;defaultRowFetchSize=100
```

```
jdbc:redshift://my_host:5439/dev?ssl=true;defaultRowFetchSize=100
```

Sie können die folgenden Zeichen verwenden, um Konfigurationsoptionen in der URL-Zeichenfolge voneinander zu trennen:
+ ;
+ &

Beispielsweise sind die folgenden URL-Zeichenfolgen gleichwertig:

```
jdbc:redshift://my_host:5439/dev;ssl=true;defaultRowFetchSize=100
```

```
jdbc:redshift://my_host:5439/dev;ssl=true&defaultRowFetchSize=100
```

Das folgende URL-Beispiel gibt die Protokollebene 6 und den Pfad für die Protokolle an.

```
jdbc:redshift://redshift.amazonaws.com:5439/dev;DSILogLevel=6;LogPath=/home/user/logs;
```

Duplizieren Sie keine Eigenschaften in der Verbindungs-URL.

Eine vollständige Liste der Konfigurationsoptionen, die Sie angeben können, finden Sie unter [Konfigurationsoptionen für die JDBC-Treiberversion 2.x](jdbc20-configuration-options.md). 

**Anmerkung**  
Wenn Sie eine Verbindung herstellen, benutzen Sie nicht die IP-Adresse eines Cluster-Knotens oder die IP-Adresse des VPC-Endpunkts. Benutzen Sie immer den Redshift-Endpunkt, um einen unnötigen Ausfall zu vermeiden. Die einzige Ausnahme bei der Benutzung der Endpunkt-URL ist die Verwendung eines benutzerdefinierten Domain-Namens. Weitere Informationen finden Sie unter [Verwendung eines benutzerdefinierten Domain-Namens für Client-Verbindungen](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME.html).

# Konfigurieren einer JDBC-Verbindung mit Apache Maven
<a name="configure-jdbc20-connection-with-maven"></a>

Apache Maven ist ein Tool für die Verwaltung und Untersuchung von Softwareprojekten. AWS SDK für Java unterstützt Apache-Maven-Projekte. Weitere Informationen finden Sie unter [Verwendung des SDK mit Apache Maven](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-project-maven.html) im *AWS SDK für Java -Entwicklerhandbuch*. 

Wenn Sie Apache Maven verwenden, können Sie Ihre Projekte konfigurieren und erstellen, sodass diese einen Amazon-Redshift-JDBC-Treiber für die Verbindung mit Ihrem Amazon-Redshift-Cluster verwenden. Hierzu fügen Sie der Datei `pom.xml` Ihres Projekts den JDBC-Treiber als Abhängigkeit hinzu. Wenn Sie Apache Maven für die Erstellung Ihres Projekts verwenden und eine JDBC-Verbindung verwenden möchten, führen Sie die Schritte im folgenden Abschnitt aus. 

**So konfigurieren Sie den JDBC-Treiber als Maven-Abhängigkeit**

1. Fügen Sie entweder das Amazon-Repository oder das Maven-Central-Repository im Repositorys-Abschnitt Ihrer `pom.xml`-Datei hinzu.
**Anmerkung**  
Die URL im folgenden Codebeispiel gibt einen Fehler zurück, wenn sie in einem Browser verwendet wird. Sie können diese URL nur im Kontext eines Maven-Projekts verwenden.

   Zum Herstellen der Verbindung mit Secure Sockets Layer (SSL) fügen Sie Ihrer `pom.xml`-Datei das folgende Repository hinzu.

   ```
   <repositories>
       <repository>
         <id>redshift</id>
         <url>https://s3.amazonaws.com/redshift-maven-repository/release</url>
       </repository>
   </repositories>
   ```

   Fügen Sie für ein Maven-Central-Repository Folgendes zu Ihrer `pom.xml`-Datei hinzu.

   ```
   <repositories>
       <repository>
         <id>redshift</id>
         <url>https://repo1.maven.org/maven2</url>
       </repository>
   </repositories>
   ```

1. Deklarieren Sie im Abschnitt mit den Abhängigkeiten in Ihrer `pom.xml`-Datei die Version des Treibers, den Sie verwenden möchten.

   Amazon Redshift bietet Treiber für Tools, die mit der JDBC 4.2 API kompatibel sind. Informationen zu der von diesen Treibern unterstützten Funktionalität finden Sie unter [Herunterladen von Version 2.1 des JDBC-Treibers für Amazon Redshift](jdbc20-download-driver.md). 

   Ersetzen Sie `driver-version` im folgenden Beispiel mit Ihrer Treiberversion, z. B. `2.1.0.1`. Verwenden Sie für einen JDBC-4.2-kompatiblen Treiber Folgendes. 

   ```
   <dependency>
      <groupId>com.amazon.redshift</groupId>
      <artifactId>redshift-jdbc42</artifactId>
      <version>driver-version</version>
   </dependency>
   ```

   Der Klassenname für diesen Treiber ist `com.amazon.redshift.Driver`.

Die Amazon-Redshift-Maven-Treiber benötigen die folgenden optionalen Abhängigkeiten, wenn Sie die IAM-Datenbankauthentifizierung verwenden. 

```
<dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-core</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-redshift</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
<dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-sts</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
```

Um den Amazon-Redshift-JDBC-Treiber auf die neueste Version zu aktualisieren oder zu ändern, ändern Sie zunächst den Versionsabschnitt der Abhängigkeit von der neuesten Version des Treibers. Dann bereinigen Sie Ihr Projekt mit dem Maven Clean Plugin, wie unten gezeigt. 

```
mvn clean
```

# Konfigurieren von Authentifizierung und SSL
<a name="jdbc20-configure-authentication-ssl"></a>

Um Daten vor unbefugtem Zugriff zu schützen, erfordern Amazon-Redshift-Datenspeicher, dass alle Verbindungen mit Benutzeranmeldeinformationen authentifiziert werden. Einige Datenspeicher erfordern auch, dass Verbindungen über das Secure Sockets Layer (SSL)-Protokoll hergestellt werden, entweder mit oder ohne unidirektionaler Authentifizierung.

Die JDBC-Treiberversion 2.x für Amazon Redshift bietet volle Unterstützung für diese Authentifizierungsprotokolle. 

Die SSL-Version, die der Treiber unterstützt, hängt von der JVM-Version ab, die Sie verwenden. Informationen zu den SSL-Versionen, die von jeder Java-Version unterstützt werden, finden Sie unter [Diagnose von TLS, SSL und HTTPS](https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https) im Java Platform Group Product Management Blog. 

Die SSL-Version, die für die Verbindung verwendet wird, ist die höchste Version, die sowohl vom Treiber als auch vom Server unterstützt wird, die zum Zeitpunkt der Verbindung bestimmt wird.

Konfigurieren Sie die JDBC-Treiberversion 2.x für Amazon Redshift für die Authentifizierung Ihrer Verbindung gemäß den Sicherheitsanforderungen des Redshift-Servers, mit dem Sie eine Verbindung herstellen. 

Sie müssen immer Ihren Benutzernamen und Ihr Passwort für Redshift angeben, um die Verbindung zu authentifizieren. Abhängig davon, ob SSL auf dem Server aktiviert und erforderlich ist, müssen Sie den Treiber möglicherweise auch für die Verbindung über SSL konfigurieren. Möglicherweise müssen Sie eine unidirektionale SSL-Authentifizierung verwenden, damit der Client (der Treiber selbst) die Identität des Servers überprüft. 

Sie geben die Konfigurationsinformationen an den Treiber in der Verbindungs-URL an. Weitere Informationen zur Syntax der Verbindungs-URL finden Sie unter [Erstellen der Verbindungs-URL](jdbc20-build-connection-url.md). 

*SSL gibt* an. TLS/SSL, both Transport Layer Security and Secure Sockets Layer. The driver supports industry-standard versions of TLS/SSL 

## Konfigurieren der IAM-Authentifizierung
<a name="jdbc20-configure-iam-authentication"></a>

Wenn Sie eine Verbindung mit einem Amazon-Redshift-Server über die IAM-Authentifizierung herstellen, legen Sie die folgenden Eigenschaften als Teil Ihrer Datenquellen-Verbindungszeichenfolge fest. 

 Weitere Informationen zur IAM-Authentifizierung finden Sie unter [Identity and Access Management in Amazon Redshift](redshift-iam-authentication-access-control.md).

Verwenden Sie für die Verwendung der IAM-Authentifizierung eines der folgenden Verbindungszeichenfolgenformate:


| Verbindungszeichenfolge | Description | 
| --- | --- | 
|  `jdbc:redshift:iam:// [host]:[port]/[db]`  |  Eine reguläre Verbindungszeichenfolge. Der Treiber leitet die ClusterID und die Region vom Host ab.  | 
|  `jdbc:redshift:iam:// [cluster-id]: [region]/[db]`  |  Der Treiber ruft Hostinformationen unter Berücksichtigung der ClusterID und der Region ab.  | 
|  `jdbc:redshift:iam:// [host]/[db]`  |  Der Treiber ist standardmäßig auf Port 5439 eingestellt und leitet die ClusterID und die Region vom Host ab. Erlauben Sie den Zugriff auf den ausgewählten Port, je nachdem, welchen Port Sie beim Erstellen, Ändern oder Migrieren des Clusters ausgewählt haben.   | 

## Angeben von Profilen
<a name="jdbc20-aws-credentials-profiles"></a>

Wenn Sie IAM-Authentifizierung verwenden, können Sie zusätzliche erforderliche oder optionale Verbindungseigenschaften unter einem Profilnamen angeben. Dadurch können Sie vermeiden, dass bestimmte Informationen direkt in die Verbindungszeichenfolge eingefügt werden. Sie geben den Profilnamen in der Verbindungszeichenfolge mithilfe der Eigenschaft Profile an. 

Profile können der AWS Anmeldeinformationsdatei hinzugefügt werden. Das Standardverzeichnis für diese Datei ist: `~/.aws/credentials` 

Sie können den Standardwert ändern, indem Sie den Pfad in der folgenden Umgebungsvariablen festlegen: `AWS_CREDENTIAL_PROFILES_FILE` 

 Weitere Informationen über Profile finden Sie unter [Arbeiten mit AWS -Anmeldeinformationen](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) im *AWS SDK für Java*. 

## Verwenden von Anmeldeinformation eines Instance-Profils
<a name="jdbc20-instance-profile-credentials"></a>

Wenn Sie eine Anwendung auf einer Amazon-EC2-Instance ausführen, die einer IAM-Rolle zugeordnet ist, können Sie eine Verbindung mit den Anmeldeinformationen des Instance-Profils herstellen. 

Verwenden Sie dazu eines der IAM-Verbindungszeichenfolgen-Formate in der vorhergehenden Tabelle und legen Sie die Verbindungseigenschaft dbuser auf den Amazon-Redshift-Benutzernamen fest, mit dem Sie eine Verbindung herstellen. 

Weitere Informationen zu Instance-Profilen finden Sie unter [Zugriffsverwaltung](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) im * IAM-Benutzerhandbuch*. 

## Verwenden von Anmeldeinformationsanbietern
<a name="jdbc20-aws-credentials-provider"></a>

Der Treiber unterstützt auch Plug-Ins für Anmeldeinformationen von den folgenden Services: 
+ AWS IAM Identity Center
+ Active Directory Federation Service (ADFS)
+ JSON Web Tokens (JWT) Service
+ Microsoft Azure Active Directory (AD) Service und Browser Microsoft Azure Active Directory (AD) Service
+ Okta Service
+ PingFederate Dienst 
+ Browser-SAML für SAML-Services wie Okta, Ping oder ADFS

Wenn Sie einen dieser Services verwenden, muss die Verbindungs-URL die folgenden Eigenschaften angeben: 
+ **Plugin\$1Name** – Der vollqualifizierte Klassenpfad für Ihre Anmeldeinformationsanbieter-Plug-In-Klasse.
+ **IdP\$1Host:** – Der Host für den Service, den Sie zur Authentifizierung bei Amazon Redshift verwenden.
+ **IdP-Port** – Der Port, auf den der Host für den Authentifizierungsdienst wartet. Nicht erforderlich für Okta.
+ **User** – Der Benutzername für den idp\$1host-Server.
+ **Password** – Das Passwort, das mit dem idp\$1host-Benutzernamen verknüpft ist.
+ **DbUser**— Der Amazon Redshift Redshift-Benutzername, mit dem Sie sich verbinden.
+ **SSL\$1Insecure** – gibt an, ob das IDP-Serverzertifikat verifiziert werden soll.
+ **Client\$1ID** – Die Client-ID, die dem Benutzernamen im Azure-AD-Portal zugeordnet ist. Wird nur für Azure AD verwendet.
+ **Client\$1Secret** – Das Client-Secret, das der Benutzer-ID im Azure-AD-Portal zugeordnet ist. Wird nur für Azure AD verwendet.
+ **IdP\$1Tenant**— Die Azure-AD-Mandanten-ID für Ihre Amazon-Redshift-Anwendung. Wird nur für Azure AD verwendet.
+ **App\$1ID** – Die Okta-App-ID für Ihre Amazon-Redshift-Anwendung. Wird nur für Okta verwendet.
+ **App\$1Name** – Der optionale Okta-Appname für Ihre Amazon-Redshift-Anwendung. Wird nur für Okta verwendet.
+ **Partner\$1SPID** – Der Wert der Partner-SPID (Service-Provider-ID). Wird nur für PingFederate verwendet.
+ **Idc\$1Region** — Der AWS-Region Ort, an dem sich die AWS IAM Identity Center-Instanz befindet. Wird nur für AWS IAM Identity Center verwendet.
+ **Issuer\$1Url** — Der Instanzendpunkt des AWS IAM Identity Center-Servers. Wird nur für AWS IAM Identity Center verwendet.

Wenn Sie ein Browser-Plug-In für einen dieser Dienste verwenden, kann die Verbindungs-URL auch Folgendes enthalten: 
+ **Login\$1URL** – Die URL für die Ressource auf der Website des Identitätsanbieters, wenn die SAML- (Security Assertion Markup Language) oder Azure-AD-Services über ein Browser-Plug-In verwendet werden. Dieser Parameter ist erforderlich, wenn Sie ein Browser-Plug-In verwenden.
+ **Listen\$1Port** — Der Port, den der Treiber verwendet, um die SAML-Antwort vom Identitätsanbieter abzurufen, wenn die SAML-, Azure AD- oder AWS IAM Identity Center-Dienste über ein Browser-Plugin verwendet werden.
+ **idp\$1response\$1timeout** — Die Zeit in Sekunden, die der Treiber auf die SAML-Antwort des Identitätsanbieters wartet, wenn er die SAML-, Azure AD- oder IAM Identity Center-Dienste über ein Browser-Plugin verwendet. AWS 

Weitere Informationen zu Eigenschaften von Verbindungszeichenfolgen finden Sie unter [Konfigurationsoptionen für die JDBC-Treiberversion 2.x](jdbc20-configuration-options.md). 

# Nur mit Benutzername und Passwort
<a name="jdbc20-authentication-username-password"></a>

Wenn der Server, mit dem Sie eine Verbindung herstellen, kein SSL verwendet, müssen Sie nur Ihren Redshift-Benutzernamen und Ihr Passwort angeben, um die Verbindung zu authentifizieren. 

**So konfigurieren Sie die Authentifizierung nur mit Ihrem Redshift-Benutzernamen und Passwort**

1. Legen Sie den Wert für die Eigenschaft `UID` auf Ihren Redshift-Benutzernamen fest, um auf den Amazon-Redshift-Server zuzugreifen.

1. Legen Sie die Eigenschaft PWD auf das Passwort fest, das Ihrem Redshift-Benutzernamen entspricht.

# Verwenden von SSL ohne Identitätsüberprüfung
<a name="jdbc20-use-ssl-without-identity-verification"></a>

Wenn der Server, zu dem Sie eine Verbindung herstellen, SSL verwendet, aber keine Identitätsüberprüfung erfordert, können Sie den Treiber so konfigurieren, dass er eine nicht validierende SSL-Factory verwendet. 

**So konfigurieren Sie eine SSL-Verbindung ohne Identitätsprüfung**

1. Legen Sie den Wert für die Eigenschaft `UID` auf Ihren Redshift-Benutzernamen fest, um auf den Amazon-Redshift-Server zuzugreifen.

1. Legen Sie die Eigenschaft `PWD` auf das Passwort fest, das Ihrem Redshift-Benutzernamen entspricht.

1. Legen Sie die Eigenschaft `SSLFactory` auf `com.amazon.redshift.ssl.NonValidatingFactory` fest.

# Verwenden einer unidirektionalen SSL-Authentifizierung
<a name="jdbc20-use-one-way-SSL-authentication"></a>

Wenn der Server, zu dem Sie eine Verbindung herstellen, SSL verwendet und über ein Zertifikat verfügt, können Sie den Treiber so konfigurieren, dass er die Identität des Servers mithilfe einer unidirektionalen Authentifizierung überprüft. 

Für die unidirektionale Authentifizierung ist ein signiertes, vertrauenswürdiges SSL-Zertifikat erforderlich, um die Identität des Servers zu überprüfen. Sie können den Treiber so konfigurieren, dass er ein bestimmtes Zertifikat verwendet oder auf ein Zertifikat zugreift, das das entsprechende Zertifikat enthält. TrustStore Wenn Sie kein Zertifikat oder angeben TrustStore, verwendet der Treiber das Standard-Java TrustStore (normalerweise entweder `jssecacerts` oder`cacerts`). 

**So konfigurieren Sie die unidirektionale SSL-Authentifizierung**

1. Legen Sie den Wert für die Eigenschaft UID auf Ihren Redshift-Benutzernamen fest, um auf den Amazon-Redshift-Server zuzugreifen.

1. Legen Sie die Eigenschaft PWD auf das Passwort fest, das Ihrem Redshift-Benutzernamen entspricht.

1. Legen Sie die Eigenschaft SSL auf true fest.

1. Stellen Sie die Eigenschaft SSLRoot Cert auf den Speicherort Ihres Root-CA-Zertifikats ein.

1. Wenn Sie kein Standard-Java verwenden TrustStores, führen Sie einen der folgenden Schritte aus:
   + Um ein Serverzertifikat anzugeben, setzen Sie die Eigenschaft SSLRoot Cert auf den vollständigen Pfad des Zertifikats.
   + Gehen Sie wie folgt vor TrustStore, um ein anzugeben:

     1. Verwenden Sie das Keytool-Programm, um dem Serverzertifikat, das Sie verwenden möchten TrustStore , das Serverzertifikat hinzuzufügen.

     1. Geben Sie das TrustStore und das Passwort an, das beim Starten der Java-Anwendung mit dem Treiber verwendet werden soll. Beispiel:

        ```
        -Djavax.net.ssl.trustStore=[TrustStoreName]
        -Djavax.net.ssl.trustStorePassword=[TrustStorePassword]
        -Djavax.net.ssl.trustStoreType=[TrustStoreType]
        ```

1. Wählen Sie eine aus:
   + Um das Zertifikat zu validieren, setzen Sie die SSLMode Eigenschaft auf verify-ca.
   + Um das Zertifikat zu validieren und den Hostnamen im Zertifikat zu verifizieren, setzen Sie die SSLMode Eigenschaft auf verify-full.

# Konfigurieren der Protokollierung
<a name="jdbc20-configuring-logging"></a>

Sie können die Protokollierung im Treiber aktivieren, um bei der Diagnose von Problemen zu helfen.

Sie können Treiberinformationen mit den folgenden Methoden protokollieren.
+ Informationen zum Speichern der protokollierten Informationen in Protokolldateien finden Sie unter [Verwendung der Protokolldateien](jdbc20-using-log-files.md).
+ Informationen zum Senden von protokollierten Informationen an das LogStream oder, das im LogWriter angegeben ist, finden Sie unter DriverManager. [Verwenden von LogStream oder LogWriter](jdbc20-logstream-option.md) 

Sie geben die Konfigurationsinformationen an den Treiber in der Verbindungs-URL an. Weitere Informationen zur Syntax der Verbindungs-URL finden Sie unter [Erstellen der Verbindungs-URL](jdbc20-build-connection-url.md).

# Verwendung der Protokolldateien
<a name="jdbc20-using-log-files"></a>

Aktivieren Sie die Protokollierung nur lange genug, um ein Problem zu erfassen. Die Protokollierung reduziert die Leistung und kann eine große Menge an Datenträgerplatz verbrauchen. 

Geben Sie in Ihrer Verbindungs-URL den LogLevel Schlüssel ein, um die Protokollierung zu aktivieren, und geben Sie an, wie viele Details in den Protokolldateien enthalten sein sollen. In der folgenden Tabelle sind die Protokollierungsebenen aufgeführt, die von der JDBC-Treiberversion 2.x für Amazon Redshift bereitgestellt werden, angefangen bei der kürzesten bis hin zur ausführlichsten. 


| LogLevel Wert | Description | 
| --- | --- | 
|  1  |  Protokollieren Sie schwerwiegende Fehlerereignisse, die beim Treiber zum Abbruch führen.  | 
|  2  |  Protokollieren Sie Fehlerereignisse, bei denen der Treiber weiter ausgeführt werden kann.  | 
|  3  |  Protokollieren Sie Ereignisse, die zu einem Fehler führen können, wenn keine Aktion ausgeführt wird. Diese Protokollierungsebene und die Protokollierungsebenen über dieser Ebene protokollieren auch die Abfragen des Benutzers.  | 
|  4  |  Protokollieren Sie allgemeine Informationen, die den Fortschritt des Treibers beschreiben.  | 
|  5  |  Protokollieren Sie detaillierte Informationen, die nützlich für das Debugging des Treibers sind.  | 
|  6  |  Protokollieren Sie alle Treiberaktivitäten.  | 

**So richten Sie die Protokollierung ein, die Protokolldateien verwendet**

1. Stellen Sie die LogLevel Eigenschaft auf die gewünschte Informationsebene ein, die in Protokolldateien aufgenommen werden soll.

1. Stellen Sie die LogPath Eigenschaft auf den vollständigen Pfad zu dem Ordner ein, in dem Sie die Protokolldateien speichern möchten. 

   Die folgende Verbindungs-URL aktiviert beispielsweise die Protokollierungsebene 3 und speichert die Protokolldateien im Ordner C:\$1temp: `jdbc:redshift://redshift.company.us-west- 1.redshift.amazonaws.com:9000/Default;DSILogLevel=3;LogPath=C:\temp`

1. Um sicherzustellen, dass die neuen Einstellungen wirksam werden, starten Sie Ihre JDBC-Anwendung neu und stellen Sie erneut eine Verbindung zum Server her.

   Der Amazon Redshift JDBC-Treiber erzeugt die folgenden Protokolldateien an dem in der Eigenschaft angegebenen Speicherort: LogPath 
   +  Die Datei redshift\$1jdbc.log, die Treiberaktivitäten protokolliert, die nicht für eine Verbindung spezifisch sind.
   + Die Datei edshift\$1jdbc\$1connection\$1[Nummer].log für jede Verbindung mit der Datenbank, wobei [Nummer] eine Zahl ist, die jede Protokolldatei identifiziert. Diese Datei protokolliert Treiberaktivitäten, die für die Verbindung spezifisch sind.

Wenn der LogPath Wert ungültig ist, sendet der Treiber die protokollierten Informationen an den Standardausgabestream () `System.out`

# Verwenden von LogStream oder LogWriter
<a name="jdbc20-logstream-option"></a>

Aktivieren Sie die Protokollierung nur lange genug, um ein Problem zu erfassen. Die Protokollierung reduziert die Leistung und kann eine große Menge an Datenträgerplatz verbrauchen. 

Legen Sie den LogLevel Schlüssel in Ihrer Verbindungs-URL fest, um die Protokollierung zu aktivieren, und geben Sie die Menge an Details an, die an die gesendet werden LogStream oder in der LogWriter angegeben sind DriverManager. 

**Um die Protokollierung zu aktivieren, die das LogStream oder verwendet, gehen Sie wie folgt vor LogWriter:**

1. Um den Treiber so zu konfigurieren, dass er allgemeine Informationen protokolliert, die den Fortschritt des Treibers beschreiben, setzen Sie die LogLevel Eigenschaft auf 1 oder INFO.

1. Um sicherzustellen, dass die neuen Einstellungen wirksam werden, starten Sie Ihre JDBC-Anwendung neu und stellen Sie erneut eine Verbindung zum Server her.

# Datentypkonvertierungen
<a name="jdbc20-data-type-mapping"></a>

Die JDBC-Treiberversion 2.x für Amazon Redshift unterstützt viele gängige Datenformate, die zu Amazon-Redshift-, SQL- und Java-Datentypen konvertiert werden.

In der folgenden Tabelle sind die unterstützten Datentyp-Mappings aufgeführt.


| Amazon-Redshift-Typ | SQL-Typ | Java-Typ | 
| --- | --- | --- | 
|  BIGINT  |  SQL\$1BIGINT  |  Long  | 
|  BOOLEAN  |  SQL\$1BIT  |  Boolesch  | 
|  CHAR  |  SQL\$1CHAR  |  String  | 
|  DATUM  |  SQL\$1TYPE\$1DATE  |  java.sql.Date  | 
|  DECIMAL  |  SQL\$1NUMERIC  |  BigDecimal  | 
|  DOUBLE PRECISION  |  SQL\$1DOUBLE  |  Double  | 
|  GEOMETRY  |  SQL\$1 LONGVARBINARY  |  byte[]  | 
|  INTEGER  |  SQL\$1INTEGER  |  Ganzzahl  | 
|  OID  |  SQL\$1BIGINT  |  Long  | 
|  SUPER  |  SQL\$1LONGVARCHAR  |  Zeichenfolge  | 
|  REAL  |  SQL\$1REAL  |  Gleitkommazahl  | 
|  SMALLINT  |  SQL\$1SMALLINT  |  Short  | 
|  TEXT  |  SQL\$1VARCHAR  |  Zeichenfolge  | 
|  TIME  |  SQL\$1TYPE\$1TIME  |  java.sql.Time  | 
|  TIMETZ  |  SQL\$1TYPE\$1TIME  |  java.sql.Time  | 
|  TIMESTAMP  |  SQL\$1TYPE\$1 TIMESTAMP  |  java.sql.Timestamp  | 
|  TIMESTAMPTZ  |  SQL\$1TYPE\$1 TIMESTAMP  |  java.sql.Timestamp  | 
|  VARCHAR  |  SQL\$1VARCHAR  |  Zeichenfolge  | 

# Unterstützung für vorbereitete Anweisungen verwenden
<a name="jdbc20-prepared-statement-support"></a>

Der Amazon-Redshift-JDBC-Treiber unterstützt vorbereitete Anweisungen. Sie können vorbereitete Anweisungen verwenden, um die Leistung parametrisierter Abfragen zu verbessern, die während derselben Verbindung mehrmals ausgeführt werden müssen.

Eine *vorbereitete Anweisung* ist eine SQL-Anweisung, die auf der Serverseite kompiliert, aber nicht sofort ausgeführt wird. Die kompilierte Anweisung wird auf dem Server als PreparedStatement Objekt gespeichert, bis Sie das Objekt oder die Verbindung schließen. Solange dieses Objekt vorhanden ist, können Sie die vorbereitete Anweisung so oft wie nötig mit verschiedenen Parameterwerten ausführen, ohne die Anweisung erneut kompilieren zu müssen. Durch diesen reduzierten Aufwand können die Abfragen schneller ausgeführt werden.

Weitere Informationen zu vorbereiteten Anweisungen finden Sie unter „Verwenden von vorbereiteten Anweisungen“ im [Tutorial „JDBC Basics“ von Oracle](https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html).

Sie können eine Anweisung vorbereiten, die mehrere Abfragen enthält. Beispiel: Die folgende vorbereitete Anweisung enthält zwei INSERT-Abfragen:

```
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO
MyTable VALUES (1, 'abc'); INSERT INTO CompanyTable VALUES
(1, 'abc');");
```

Achten Sie darauf, dass diese Abfragen nicht von den Ergebnissen anderer Abfragen abhängen, die innerhalb derselben vorbereiteten Anweisung angegeben werden. Da Abfragen während des Vorbereitungsschritts nicht ausgeführt werden, wurden die Ergebnisse noch nicht zurückgegeben und stehen für andere Abfragen in derselben vorbereiteten Anweisung nicht zur Verfügung.

Beispielsweise ist die folgende vorbereitete Anweisung, die eine Tabelle erstellt und dann Werte in diese neu erstellte Tabelle einfügt, nicht zulässig:

```
PreparedStatement pstmt = conn.prepareStatement("CREATE
TABLE MyTable(col1 int, col2 varchar); INSERT INTO myTable
VALUES (1, 'abc');");
```

Wenn Sie versuchen, diese Anweisung vorzubereiten, gibt der Server einen Fehler zurück, der besagt, dass die Zieltabelle (MyTable) noch nicht existiert. Die CREATE-Abfrage muss ausgeführt werden, bevor die INSERT-Abfrage vorbereitet werden kann.

# Unterschiede zwischen den Versionen 2.2 und 1.x des JDBC-Treibers
<a name="jdbc20-jdbc10-driver-differences"></a>

In diesem Abschnitt werden die Unterschiede in den Informationen beschrieben, die von den Versionen 2.2 und 1.x des JDBC-Treibers zurückgegeben werden. Der JDBC-Treiber Version 1.x wird eingestellt.

In der folgenden Tabelle sind die DatabaseMetadata Informationen aufgeführt, die von den Funktionen getDatabaseProduct Name () und getDatabaseProduct Version () für jede Version des JDBC-Treibers zurückgegeben werden. Der JDBC-Treiber, Version 2.2, ruft die Werte beim Herstellen der Verbindung ab. JDBC-Treiberversion 1.x erhält die Werte als Ergebnis einer Abfrage.


| JDBC-Treiberversion | getDatabaseProductName () Ergebnis | getDatabaseProductErgebnis für Version () | 
| --- | --- | --- | 
|  2.2  |  Redshift  |  8.0.2  | 
|  1.x  |  PostgreSQL  |  08.00.0002  | 

In der folgenden Tabelle sind die DatabaseMetadata Informationen aufgeführt, die von der getTypeInfo Funktion für jede Version des JDBC-Treibers zurückgegeben werden. 


| JDBC-Treiberversion | getTypeInfo Ergebnis | 
| --- | --- | 
|  2.2  |  Konsistent mit Redshift-Datentypen  | 
|  1.x  |  Konsistent mit PostgreSQL-Datentypen  | 

# Erstellen von Initialisierungsdateien (.ini) für die JDBC-Treiberversion 2.x
<a name="jdbc20-ini-file"></a>

Indem Sie Initialisierungsdateien (.ini) für die JDBC-Treiberversion 2.x für Amazon Redshift verwenden, können Sie Konfigurationsparameter auf Systemebene angeben. Beispielsweise können Parameter für die verbundene IdP-Authentifizierung für jede Anwendung variieren. Die .ini-Datei stellt einen gemeinsamen Speicherort für SQL-Clients bereit, um die erforderlichen Konfigurationsparameter abzurufen. 

Sie können eine Initialisierungsdatei (.ini) für die JDBC-Treiberversion 2.x erstellen, die Konfigurationsoptionen für SQL-Clients enthält. Die Datei heißt standardmäßig `rsjdbc.ini`. Die JDBC-Treiberversion 2.x sucht die .ini-Datei an den folgenden Speicherorten, die in ihrer Rangfolge aufgeführt sind:
+ `IniFile`-Parameter in der Verbindungs-URL oder im Dialogfeld der Verbindungseigenschaft des SQL-Clients. Stellen Sie sicher, dass der Parameter `IniFile` den vollständigen Pfad der .ini-Datei einschließlich des Dateinamens enthält. Weitere Informationen zum Parameter `IniFile` erhalten Sie unter [IniFile](jdbc20-configuration-options.md#jdbc20-inifile-option). Wenn der Parameter `IniFile` den Speicherort der .ini-Datei falsch angibt, wird ein Fehler angezeigt.
+ Umgebungsvariablen wie AMAZON\$1REDSHIFT\$1JDBC\$1INI\$1FILE mit dem vollständigen Pfad einschließlich des Dateinamens. Sie können `rsjdbc.ini` verwenden oder einen Dateinamen angeben. Wenn die Umgebungsvariable AMAZON\$1REDSHIFT\$1JDBC\$1INI\$1FILE den Speicherort der .ini-Datei falsch angibt, wird ein Fehler angezeigt.
+ Verzeichnis, in dem sich die JAR-Datei des Treibers befindet.
+ Stammverzeichnis des Benutzers.
+ Temporäres Verzeichnis des Systems.

Sie können die .ini-Datei in Abschnitte organisieren, zum Beispiel [DRIVER]. Jeder Abschnitt enthält Schlüssel-Wert-Paare, die verschiedene Verbindungsparameter angeben. Sie können mit dem Parameter `IniSection` einen Abschnitt in der .ini-Datei angeben. Weitere Informationen zum Parameter `IniSection` erhalten Sie unter [IniSection](jdbc20-configuration-options.md#jdbc20-inisection-option). 

Es folgt ein Beispiel für das .ini-Dateiformat mit Abschnitten für [DRIVER], [DEV], [QA] und [PROD]. Der Abschnitt [DRIVER] kann für jede Verbindung gelten.

```
[DRIVER]
key1=val1
key2=val2

[DEV]
key1=val1
key2=val2

[QA]
key1=val1
key2=val2

[PROD]
key1=val1
key2=val2
```

Die JDBC-Treiberversion 2.x lädt Konfigurationsparameter von den folgenden Speicherorten, die in ihrer Rangfolge aufgeführt sind:
+ Standardkonfigurationsparameter im Anwendungscode.
+ Eigenschaften aus dem Abschnitt [DRIVER] der .ini-Datei, falls enthalten.
+ Konfigurationsparameter für benutzerdefinierte Abschnitte, wenn die Option `IniSection` in der Verbindungs-URL oder im Dialogfeld der Verbindungseigenschaft des SQL-Clients angegeben wird.
+ Eigenschaften aus dem Verbindungseigenschaftenobjekt, das im Aufruf `getConnection` angegeben wird.
+ Konfigurationsparameter, die in der Verbindungs-URL angegeben werden.

# Konfigurationsoptionen für die JDBC-Treiberversion 2.x
<a name="jdbc20-configuration-options"></a>

Im Folgenden finden Sie Beschreibungen der Optionen, die Sie für Version 2.2 des Amazon Redshift JDBC-Treibers angeben können. Bei den Konfigurationsoptionen wird die Groß-/Kleinschreibung nicht beachtet.

Sie können Konfigurationseigenschaften mithilfe der Verbindungs-URL festlegen. Weitere Informationen finden Sie unter [Erstellen der Verbindungs-URL](jdbc20-build-connection-url.md).

**Topics**
+ [AccessKeyID](#jdbc20-accesskeyid-option)
+ [Überschreiben zulassen DBUser](#jdbc20-allowdbuseroverride-option)
+ [App\$1ID](#jdbc20-app-id-option)
+ [App\$1Name](#jdbc20-app-name-option)
+ [ApplicationName](#jdbc20-applicationname-option)
+ [AuthProfile](#jdbc20-authprofile-option)
+ [AutoCreate](#jdbc20-autocreate-option)
+ [Client\$1ID](#jdbc20-client_id-option)
+ [Client\$1Secret](#jdbc20-client_secret-option)
+ [ClusterID](#jdbc20-clusterid-option)
+ [Komprimierung](#jdbc20-compression-option)
+ [ConnectTimeout](#jdbc20-connecttimeout-option)
+ [connectionTimezone](#jdbc20-connecttimezone-option)
+ [databaseMetadataCurrentDbOnly](#jdbc20-databasemetadatacurrentdbonly-option)
+ [DbUser](#jdbc20-dbuser-option)
+ [DbGroups](#jdbc20-dbgroups-option)
+ [DBNAME](#jdbc20-dbname-option)
+ [defaultRowFetchGröße](#jdbc20-defaultrowfetchsize-option)
+ [DisableIsValidQuery](#jdbc20-disableisvalidquery-option)
+ [enableFetchRingPuffer](#jdbc20-enablefetchringbuffer-option)
+ [enableMultiSqlSupport](#jdbc20-enablemultisqlsupport-option)
+ [fetchRingBufferGröße](#jdbc20-fetchringbuffersize-option)
+ [ForceLowercase](#jdbc20-forcelowercase-option)
+ [groupFederation](#jdbc20-groupFederation-option)
+ [HOST](#jdbc20-host-option)
+ [IAMDisableZwischenspeichern](#jdbc20-iamdisablecache-option)
+ [IAMDuration](#jdbc20-iamduration-option)
+ [Idc\$1Client\$1Display\$1Name](#jdbc20-idc_client_display_name)
+ [Idc\$1Region](#jdbc20-idc_region)
+ [IdP\$1Host](#jdbc20-idp_host-option)
+ [IdP\$1Partition](#jdbc20-idp_partition-option)
+ [IdP\$1Port](#jdbc20-idp_port-option)
+ [IdP\$1Tenant](#jdbc20-idp_tenant-option)
+ [IdP\$1Response\$1Timeout](#jdbc20-idp_response_timeout-option)
+ [IniFile](#jdbc20-inifile-option)
+ [IniSection](#jdbc20-inisection-option)
+ [isServerless](#jdbc20-isserverless-option)
+ [Issuer\$1Url](#jdbc20-issuer-url)
+ [Listen\$1Port](#jdbc20-listen-port)
+ [Login\$1URL](#jdbc20-login_url-option)
+ [loginTimeout](#jdbc20-logintimeout-option)
+ [loginToRp](#jdbc20-logintorp-option)
+ [LogLevel](#jdbc20-loglevel-option)
+ [LogPath](#jdbc20-logpath-option)
+ [OverrideSchemaPatternType](#jdbc20-override-schema-pattern-type)
+ [Partner\$1SPID](#jdbc20-partner_spid-option)
+ [Passwort](#jdbc20-password-option)
+ [Plugin\$1Name](#jdbc20-plugin_name-option)
+ [PORT](#jdbc20-port-option)
+ [Preferred\$1Role](#jdbc20-preferred_role-option)
+ [Profil](#jdbc20-profile-option)
+ [PWD](#jdbc20-pwd-option)
+ [QueryGroup](#jdbc20-querygroup-option)
+ [readOnly](#jdbc20-readonly-option)
+ [Region](#jdbc20-region-option)
+ [reWriteBatchedFügt ein](#jdbc20-rewritebatchedinserts-option)
+ [reWriteBatchedInsertsSize](#jdbc20-rewritebatchedinsertssize-option)
+ [roleArn](#jdbc20-rolearn-option)
+ [roleSessionName](#jdbc20-roleaessionname-option)
+ [scope](#jdbc20-scope-option)
+ [SecretAccessKey](#jdbc20-secretaccesskey-option)
+ [SessionToken](#jdbc20-sessiontoken-option)
+ [serverlessAcctId](#jdbc20-serverlessacctid-option)
+ [serverlessWorkGroup](#jdbc20-serverlessworkgroup-option)
+ [socketFactory](#jdbc20-socketfactory-option)
+ [socketTimeout](#jdbc20-sockettimeout-option)
+ [SSL](#jdbc20-ssl-option)
+ [SSL\$1Insecure](#jdbc20-ssl_insecure-option)
+ [SSLCert](#jdbc20-sslcert-option)
+ [SSLFactory](#jdbc20-sslfactory-option)
+ [SSLKey](#jdbc20-sslkey-option)
+ [SSLMode](#jdbc20-sslmode-option)
+ [SSLPassword](#jdbc20-sslpassword-option)
+ [SSLRootZertifikat](#jdbc20-sslrootcert-option)
+ [StsEndpointUrl](#jdbc20-stsendpointurl-option)
+ [tcpKeepAlive](#jdbc20-tcpkeepalive-option)
+ [Token](#jdbc20-token-option)
+ [token\$1type](#jdbc20-token-type-option)
+ [Benutzerkennung (UID)](#jdbc20-uid-option)
+ [Benutzer](#jdbc20-user-option)
+ [webIdentityToken](#jdbc20-webidentitytoken-option)

## AccessKeyID
<a name="jdbc20-accesskeyid-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Sie können diesen Parameter angeben, um den IAM-Zugriffsschlüssel für den Benutzer oder die Rolle einzugeben. Sie finden den Schlüssel normalerweise in einer vorhandenen Zeichenfolge oder einem vorhandenen Benutzerprofil. Wenn Sie diesen Parameter angeben, müssen Sie auch den Parameter `SecretAccessKey` angeben: Wenn die JDBC-URL übergeben wird, muss die AccessKey ID URL-codiert sein.

Dieser Parameter ist optional.

## Überschreiben zulassen DBUser
<a name="jdbc20-allowdbuseroverride-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Zeichenfolge

Diese Option gibt an, ob der Treiber den Wert von `DbUser` aus der SAML-Assertion verwendet oder den Wert, der in der Verbindungseigenschaft `DbUser` in der Verbindungs-URL angegeben ist. 

Dieser Parameter ist optional.

**1**  
Der Treiber verwendet den Wert `DbUser` aus der SAML-Assertion.  
Wenn die SAML-Assertion keinen Wert für `DBUser` angibt, verwendet der Treiber den Wert, der in der `DBUser`-Verbindungseigenschaft angegeben ist. Wenn die Verbindungseigenschaft auch keinen Wert angibt, verwendet der Treiber den Wert, der im Verbindungsprofil angegeben ist.

**0**  
Der Treiber verwendet den `DBUser`-Wert, der in der`DBUser`-Verbindungseigenschaft angegeben ist.  
Wenn die `DBUser`-Verbindungseigenschaft keinen Wert angibt, verwendet der Treiber den Wert, der im Verbindungsprofil angegeben ist. Wenn das Verbindungsprofil auch keinen Wert angibt, verwendet der Treiber den Wert aus der SAML-Assertion.

## App\$1ID
<a name="jdbc20-app-id-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Die von Okta bereitgestellte eindeutige ID, die mit Ihrer Amazon-Redshift-Anwendung verknüpft ist. 

Dieser Parameter ist erforderlich, wenn die Authentifizierung über den Okta-Service erfolgt.

## App\$1Name
<a name="jdbc20-app-name-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der Name der Okta-Anwendung, mit der Sie die Verbindung zu Amazon Redshift authentifizieren. 

Dieser Parameter ist optional.

## ApplicationName
<a name="jdbc20-applicationname-option"></a>
+ **Standardwert** – Null
+ **Datentyp** – Zeichenfolge

Der Name der Anwendung, die zu Prüfungszwecken an Amazon Redshift übergeben wird. 

Dieser Parameter ist optional.

## AuthProfile
<a name="jdbc20-authprofile-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der Name des Authentifizierungsprofils, das für die Verbindung mit Amazon Redshift verwendet werden soll. 

Dieser Parameter ist optional.

## AutoCreate
<a name="jdbc20-autocreate-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Diese Option gibt an, ob der Treiber dazu führt, dass ein neuer Benutzer erstellt wird, wenn der angegebene Benutzer nicht existiert. 

Dieser Parameter ist optional.

**true**  
Wenn der Benutzer, der durch `DBUser` oder eine eindeutige ID (UID) angegeben wird, nicht vorhanden ist, wird ein neuer Benutzer mit diesem Namen erstellt.

**false**  
Der Treiber führt nicht dazu, dass neue Benutzer erstellt werden. Wenn der angegebene Benutzer nicht vorhanden ist, schlägt die Authentifizierung fehl.

## Client\$1ID
<a name="jdbc20-client_id-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Die Client-ID, die beim Authentifizieren der Verbindung mit dem Azure-AD-Dienst verwendet werden soll. 

Dieser Parameter ist erforderlich, wenn die Authentifizierung über den Azure-AD-Service erfolgt.

## Client\$1Secret
<a name="jdbc20-client_secret-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Das Client-Secret, das beim Authentifizieren der Verbindung mit dem Azure-AD-Dienst verwendet werden soll. 

Dieser Parameter ist erforderlich, wenn die Authentifizierung über den Azure-AD-Service erfolgt.

## ClusterID
<a name="jdbc20-clusterid-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Name des Amazon-Redshift-Clusters, mit dem Sie eine Verbindung herstellen möchten. Der Treiber versucht, diesen Parameter vom angegebenen Host zu erkennen. Wenn Sie einen Network Load Balancer (NLB) verwenden und über IAM eine Verbindung herstellen, wird der Treiber ihn nicht erkennen, daher können Sie ihn unter Verwendung dieser Verbindungsoption einstellen. 

Dieser Parameter ist optional.

## Komprimierung
<a name="jdbc20-compression-option"></a>
+ **Standardwert** – aus
+ **Datentyp** – Zeichenfolge

Die Komprimierungsmethode, die für die Wire-Protokollkommunikation zwischen dem Amazon-Redshift-Server und dem Client oder Treiber verwendet wird.

Dieser Parameter ist optional.

Sie können die folgenden Werte angeben:
+ **lz4**

  Legt für die Komprimierungsmethode, die für die Wire-Protokollkommunikation mit Amazon Redshift verwendet wird, lz4 fest.
+ **aus**

  Für die Wire-Protokollkommunikation mit Amazon Redshift wird keine Komprimierungsmethode verwendet.

## ConnectTimeout
<a name="jdbc20-connecttimeout-option"></a>
+ **Standardwert** – 10
+ **Datentyp** – Ganzzahl

Der Timeout-Wert, der für Socket-Connect-Vorgänge verwendet werden soll. Wenn die zum Herstellen einer Amazon-Redshift-Verbindung erforderliche Zeit diesen Wert überschreitet, gilt die Verbindung als nicht verfügbar. Das Timeout wird in Sekunden angegeben. Ein Wert von 0 bedeutet, dass kein Timeout angegeben wird.

Dieser Parameter ist optional.

## connectionTimezone
<a name="jdbc20-connecttimezone-option"></a>
+ **Standardwert** – LOKAL
+ **Datentyp** – Zeichenfolge

Die Zeitzone auf Sitzungsebene.

Dieser Parameter ist optional.

Sie können die folgenden Werte angeben:

**LOCAL**  
Konfiguriert für die Zeitzone auf Sitzungsebene die Zeitzone LOCAL JVM.

**SERVER**  
Konfiguriert für die Zeitzone auf Sitzungsebene die Zeitzone, die für den Benutzer auf dem Amazon-Redshift-Server festgelegt wurde. Mit dem folgenden Befehl können Sie Zeitzonen auf Sitzungsebene für Benutzer konfigurieren:  

```
ALTER USER
[...]
SET TIMEZONE TO [...];
```

## databaseMetadataCurrentDbOnly
<a name="jdbc20-databasemetadatacurrentdbonly-option"></a>
+ **Standardwert** – true
+ **Datentyp** – boolesch

Diese Option gibt an, ob die Metadaten-API Daten aus allen zugänglichen Datenbanken oder nur aus der verbundenen Datenbank abruft. 

Dieser Parameter ist optional.

Sie können die folgenden Werte angeben:

**true**  
Die Anwendung ruft Metadaten aus einer einzelnen Datenbank ab.

**false**  
Die Anwendung ruft Metadaten aus allen zugänglichen Datenbanken ab.

## DbUser
<a name="jdbc20-dbuser-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Die Benutzer-ID, die mit Ihrem Amazon-Redshift-Konto verwendet werden soll. Sie können eine ID verwenden, die derzeit nicht existiert, wenn Sie die AutoCreate Eigenschaft aktiviert haben. 

Dieser Parameter ist optional.

## DbGroups
<a name="jdbc20-dbgroups-option"></a>
+ **Standardwert** – PUBLIC
+ **Datentyp** – Zeichenfolge

Eine durch Komma getrennte Liste vorhandener Datenbankgruppennamen, die `DBUser` für die aktuelle Sitzung verbindet. 

Dieser Parameter ist optional.

## DBNAME
<a name="jdbc20-dbname-option"></a>
+ **Standardwert** – Null
+ **Datentyp** – Zeichenfolge

Der Name der Datenbank, mit der eine Verbindung hergestellt werden soll. Mit dieser Option können Sie den Datenbanknamen in der JDBC-Verbindungs-URL angeben. 

Dieser Parameter muss angegeben werden. Sie müssen den Datenbanknamen entweder in der Verbindungs-URL oder in den Verbindungseigenschaften der Clientanwendung angeben.

## defaultRowFetchGröße
<a name="jdbc20-defaultrowfetchsize-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Ganzzahl

Diese Option gibt einen Standardwert für an getFetchSize. 

Dieser Parameter ist optional.

Sie können die folgenden Werte angeben:

**0**  
Ruft alle Zeilen in einer einzigen Operation ab.

**Positive Ganzzahl**  
Anzahl der Zeilen, die für jede Abruf-Iteration von aus der Datenbank abgerufen werden sollen. ResultSet

## DisableIsValidQuery
<a name="jdbc20-disableisvalidquery-option"></a>
+ **Standardwert** – False
+ **Datentyp** – boolesch

Diese Option gibt an, ob der Treiber eine neue Datenbankabfrage sendet, wenn die Methode Connection.isValid() verwendet wird, um zu bestimmen, ob die Datenbankverbindung aktiv ist. 

Dieser Parameter ist optional.

**true**  
Der Treiber sendet keine Abfrage, wenn mit .Connection.isValid() bestimmt wird, ob die Datenbankverbindung aktiv ist. Dies kann dazu führen, dass der Treiber die Datenbankverbindung fälschlicherweise als aktiv identifiziert, wenn der Datenbankserver unerwartet heruntergefahren wurde.

**false**  
Der Treiber sendet eine Abfrage, wenn mit .Connection.isValid() bestimmt wird, ob die Datenbankverbindung aktiv ist.

## enableFetchRingPuffer
<a name="jdbc20-enablefetchringbuffer-option"></a>
+ **Standardwert** – true
+ **Datentyp** – boolesch

Diese Option gibt an, dass der Treiber Zeilen mit einem Ringpuffer in einem separaten Thread abruft. Der Parameter fetchRingBuffer Size gibt die Größe des Ringpuffers an. 

Der Ringpuffer implementiert die automatische Speicherverwaltung in JDBC, um out-of-memory (OOM-) Fehler beim Datenabruf zu verhindern. Der Ringpuffer überwacht die tatsächliche Größe der gepufferten Daten in Echtzeit und stellt so sicher, dass die Gesamtspeichernutzung durch den Treiber innerhalb definierter Grenzen bleibt. Wenn die Pufferkapazität erreicht ist, unterbricht der Treiber den Datenabruf und verhindert so einen Speicherüberlauf, ohne dass manuelles Eingreifen erforderlich ist. Dieser integrierte Schutz beseitigt OOM-Fehler automatisch, ohne dass Benutzer eine Konfiguration vornehmen müssen.

Wenn eine Transaktion eine Anweisung erkennt, die mehrere SQL-Befehle enthält, die durch Semikolons getrennt sind, wird der Fetch-Ringpuffer für diese Transaktion auf False gesetzt. enableFetchRingDer Wert des Puffers ändert sich nicht. 

Dieser Parameter ist optional.

**Anmerkung**  
Wenn der Ringpuffer deaktiviert ist und die Abrufgröße nicht richtig konfiguriert ist, können out-of-memory (OOM) Probleme auftreten. [Weitere Informationen zur Konfiguration der Abrufgröße finden Sie hier.](https://docs.aws.amazon.com/redshift/latest/dg/set-the-JDBC-fetch-size-parameter.html)

## enableMultiSqlSupport
<a name="jdbc20-enablemultisqlsupport-option"></a>
+ **Standardwert** – true
+ **Datentyp** – boolesch

Diese Option gibt an, ob mehrere SQL-Befehle in einer Anweisung durch Semikolons getrennt verarbeitet werden sollen. 

Dieser Parameter ist optional.

Sie können die folgenden Werte angeben:

**true**  
Der Treiber verarbeitet mehrere SQL-Befehle, getrennt durch Semikolon, in einem Anweisungsobjekt.

**false**  
Der Treiber gibt einen Fehler für mehrere SQL-Befehle in einer einzelnen Anweisung zurück.

## fetchRingBufferGröße
<a name="jdbc20-fetchringbuffersize-option"></a>
+ **Standardwert** – 1G
+ **Datentyp** – Zeichenfolge

Diese Option gibt die Größe des Ringpuffers an, der beim Abrufen der Ergebnismenge verwendet wird. Sie können eine Größe in Byte angeben, z. B. 1K für 1 KB, 5000 für 5 000 Byte, 1M für 1 MB, 1G für 1 GB usw. Sie können auch einen Prozentsatz des Heap-Arbeitsspeichers angeben. Der Treiber stoppt das Abrufen von Zeilen, wenn das Limit erreicht ist. Der Abruf wird fortgesetzt, wenn die Anwendung Zeilen liest und Speicherplatz im Ringpuffer freigibt. 

Dieser Parameter ist optional.

## ForceLowercase
<a name="jdbc20-forcelowercase-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Diese Option gibt an, ob der Treiber bei Verwendung der Single Sign-On-Authentifizierung alle Datenbankgruppen (DbGroups), die vom Identitätsanbieter an Amazon Redshift gesendet werden, in Kleinbuchstaben schreibt. 

Dieser Parameter ist optional.

**true**  
Der Treiber schreibt alle Datenbankgruppen in Kleinbuchstaben, die vom Identitätsanbieter gesendet werden.

**false**  
Der Treiber ändert Datenbankgruppen nicht.

## groupFederation
<a name="jdbc20-groupFederation-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Diese Option gibt an, ob Amazon-Redshift-IDP-Gruppen verwendet werden sollen. Dies wird von der V2-API unterstützt. GetClusterCredentials 

Dieser Parameter ist optional.

**true**  
Verwenden Sie Amazon Redshift-Identity-Provider (IDP)-Gruppen.

**false**  
Verwenden Sie STS-API und GetClusterCredentials für den Benutzerverbund und geben Sie dies explizit DbGroups für die Verbindung an.

## HOST
<a name="jdbc20-host-option"></a>
+ **Standardwert** – Null
+ **Datentyp** – Zeichenfolge

Der Hostname des Amazon-Redshift-Servers, mit dem eine Verbindung hergestellt werden soll. Mit dieser Option können Sie den Hostnamen in der JDBC-Verbindungs-URL angeben. 

Dieser Parameter muss angegeben werden. Sie müssen den Hostnamen entweder in der Verbindungs-URL oder in den Verbindungseigenschaften der Clientanwendung angeben.

## IAMDisableZwischenspeichern
<a name="jdbc20-iamdisablecache-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Diese Option gibt an, ob die IAM-Anmeldeinformationen zwischengespeichert werden.

Dieser Parameter ist optional.

**true**  
Die IAM-Anmeldeinformationen werden nicht zwischengespeichert.

**false**  
Die IAM-Anmeldeinformationen werden zwischengespeichert. Dies verbessert die Leistung, wenn beispielsweise Anfragen an das API-Gateway gedrosselt werden.

## IAMDuration
<a name="jdbc20-iamduration-option"></a>
+ **Standardwert** – 900
+ **Datentyp** – Ganzzahl

Die Zeitdauer in Sekunden, bis die temporären IAM-Anmeldeinformationen ablaufen. 
+ **Mindestwert** – 900
+ **Maximaler Wert ** – 3,600

Dieser Parameter ist optional.

## Idc\$1Client\$1Display\$1Name
<a name="jdbc20-idc_client_display_name"></a>
+ **Standardwert** – JDBC-Treiber von Amazon Redshift
+ **Datentyp** – Zeichenfolge

Der Anzeigename, der für den Client verwendet werden soll, der verwendet BrowserIdcAuthPlugin.

Dieser Parameter ist optional.

## Idc\$1Region
<a name="jdbc20-idc_region"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Die AWS Region, in der sich die IAM Identity Center-Instanz befindet.

Dieser Parameter ist nur erforderlich, wenn eine Authentifizierung mit `BrowserIdcAuthPlugin` in der Konfigurationsoption plugin\$1name erfolgt.

## IdP\$1Host
<a name="jdbc20-idp_host-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der IdP-Host (Identitätsanbieter), den Sie zur Authentifizierung bei Amazon Redshift verwenden. Kann entweder in der Verbindungszeichenfolge oder in einem Profil angegeben werden. 

Dieser Parameter ist optional.

## IdP\$1Partition
<a name="jdbc20-idp_partition-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Gibt die Cloud-Partition an, auf der Ihr Identity Provider (IdP) konfiguriert ist. Dadurch wird bestimmt, mit welchem IdP-Authentifizierungsendpunkt der Treiber eine Verbindung herstellt.

Wenn dieser Parameter leer gelassen wird, verwendet der Treiber standardmäßig die kommerzielle Partition. Die möglichen Werte sind:
+  `us-gov`: Verwenden Sie diesen Wert, wenn Ihr IdP in Azure Government konfiguriert ist. Beispielsweise verwendet Azure AD Government den Endpunkt`login.microsoftonline.us`.
+  `cn`: Verwenden Sie diesen Wert, wenn Ihr IdP in der China Cloud-Partition konfiguriert ist. Beispielsweise verwendet Azure AD China den Endpunkt`login.chinacloudapi.cn`. 

Dieser Parameter ist optional.

## IdP\$1Port
<a name="jdbc20-idp_port-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der vom IdP (Identitätsanbieter) verwendete Port. Sie können den Port entweder in der Verbindungszeichenfolge oder in einem Profil angeben. Der Standard-Port ist 5439. Erlauben Sie den Zugriff auf den ausgewählten Port, je nachdem, welchen Port Sie beim Erstellen, Ändern oder Migrieren des Clusters ausgewählt haben. 

Dieser Parameter ist optional.

## IdP\$1Tenant
<a name="jdbc20-idp_tenant-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Die Azure-AD-Mandanten-ID für Ihre Amazon-Redshift-Anwendung. 

Dieser Parameter ist erforderlich, wenn die Authentifizierung über den Azure-AD-Service erfolgt.

## IdP\$1Response\$1Timeout
<a name="jdbc20-idp_response_timeout-option"></a>
+ **Standardwert** – 120
+ **Datentyp** – Ganzzahl

Die Zeitspanne in Sekunden, die der Treiber auf die SAML-Antwort vom Identitätsanbieter wartet, wenn die SAML- oder Azure AD-Services über ein Browser-Plug-In verwendet werden. 

Dieser Parameter ist optional.

## IniFile
<a name="jdbc20-inifile-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der vollständige Dateipfad der .ini-Datei einschließlich des Dateinamens. Zum Beispiel:

```
IniFile="C:\tools\rsjdbc.ini"
```

Informationen zur .ini-Datei finden Sie unter [Erstellen von Initialisierungsdateien (.ini) für die JDBC-Treiberversion 2.x](jdbc20-ini-file.md).

Dieser Parameter ist optional.

## IniSection
<a name="jdbc20-inisection-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der Name eines Abschnitts in der .ini-Datei, der die Konfigurationsoptionen enthält. Informationen zur .ini-Datei finden Sie unter [Erstellen von Initialisierungsdateien (.ini) für die JDBC-Treiberversion 2.x](jdbc20-ini-file.md). 

Im folgenden Beispiel wird der Abschnitt [Prod] der .ini-Datei angegeben:

```
IniSection="Prod"
```

Dieser Parameter ist optional.

## isServerless
<a name="jdbc20-isserverless-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Diese Option gibt an, ob der Amazon-Redshift-Endpunkthost eine Serverless-Instance ist. Der Treiber versucht, diesen Parameter vom angegebenen Host zu erkennen. Wenn Sie einen Network Load Balancer (NLB) verwenden, wird der Treiber ihn nicht erkennen, also können Sie ihn hier einstellen. 

Dieser Parameter ist optional.

**true**  
Der Amazon-Redshift-Endpunkthost ist eine Serverless-Instance.

**false**  
Der Amazon-Redshift-Endpunkthost ist ein bereitgestellter Cluster.

## Issuer\$1Url
<a name="jdbc20-issuer-url"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Verweist auf den Instanzendpunkt des AWS IAM Identity Center-Servers. 

Dieser Parameter ist nur erforderlich, wenn eine Authentifizierung mit `BrowserIdcAuthPlugin` in der Konfigurationsoption plugin\$1name erfolgt.

## Listen\$1Port
<a name="jdbc20-listen-port"></a>
+ **Standardwert** – 7 890
+ **Datentyp** – Ganzzahl

Der Port, den der Treiber verwendet, um die SAML-Antwort vom Identitätsanbieter oder den Autorisierungscode zu empfangen, wenn SAML-, Azure AD- oder AWS Identity Center-Dienste über ein Browser-Plugin verwendet werden.

Dieser Parameter ist optional.

## Login\$1URL
<a name="jdbc20-login_url-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Die URL für die Ressource auf der Website des Identitätsanbieters, wenn die SAML- oder Azure-AD-Services über ein Browser-Plug-In verwendet werden. 

Dieser Parameter ist erforderlich, wenn die Authentifizierung über die SAML- oder Azure-AD-Services über ein Browser-Plug-In erfolgt.

## loginTimeout
<a name="jdbc20-logintimeout-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Ganzzahl

Die Anzahl der Sekunden, die gewartet werden soll, bevor eine Zeitüberschreitung für einen Verbindungs- und Authentifizierungsversuch mit dem Server eintritt. Wenn es länger dauert, eine Verbindung mit dem Server herzustellen, als durch diesen Schwellenwert angegeben, wird die Verbindung abgebrochen. 

Wenn diese Eigenschaft auf 0 festgelegt ist, treten keine Zeitüberschreitungen für Verbindungen ein.

Dieser Parameter ist optional.

## loginToRp
<a name="jdbc20-logintorp-option"></a>
+ **Standardwert** – `urn:amazon:webservices`
+ **Datentyp** – Zeichenfolge

Die Vertrauensstellung die Sie für den AD-FS-Authentifizierungstyp verwenden möchten. 

Dieser Parameter ist optional.

## LogLevel
<a name="jdbc20-loglevel-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Ganzzahl

Verwenden Sie diese Eigenschaft, um die Protokollierung im Treiber zu aktivieren oder zu deaktivieren und den Grad an Details anzugeben, die in den Protokolldateien enthalten sein sollen. 

Aktivieren Sie die Protokollierung nur lange genug, um ein Problem zu erfassen. Die Protokollierung reduziert die Leistung und kann eine große Menge an Datenträgerplatz verbrauchen.

Dieser Parameter ist optional.

Legen Sie den Parameter auf einen der folgenden Werte fest:

**0**  
Deaktiviert die gesamte Protokollierung.

**1**  
Aktiviert die Protokollierung auf der Ebene FATAL, die sehr schwerwiegende Fehlerereignisse protokolliert, die zu einem Absturz des Treibers führen.

**2**  
Aktiviert die Protokollierung auf der Ebene ERROR, die Fehlerereignisse protokolliert, bei denen der Treiber weiter ausgeführt werden kann.

**3**  
Aktivieren Sie die Protokollierung auf der Ebene WARNING, die Ereignisse protokolliert, die möglicherweise zu einem Fehler führen, wenn nicht unternommen wird.

**4**  
Aktivieren Sie die Protokollierung auf der Ebene INFO, die allgemeine Informationen protokolliert, die den Fortschritt des Treibers beschreiben.

**5**  
Aktivieren Sie die Protokollierung auf der Ebene DEBUG, die detaillierte Informationen protokolliert, die für das Debuggen des Treibers nützlich sind.

**6**  
Aktivieren Sie die Protokollierung auf der Ebene TRACE, die alle Treiberaktivitäten protokolliert.

Wenn die Protokollierung aktiviert ist, erstellt der Treiber die folgenden Protokolldateien an dem Speicherort, der in der Eigenschaft `LogPath` angegeben ist.
+ ** `redshift_jdbc.log`** – Diese Datei protokolliert Treiberaktivitäten, die nicht für die Verbindung spezifisch sind.
+ **`redshift_jdbc_connection_[Number].log`** – Datei für jede Verbindung mit der Datenbank, wobei `[Number]` eine Nummer zur Unterscheidung der Protokolldateien ist. Diese Datei protokolliert Treiberaktivitäten, die für die Verbindung spezifisch sind. 

Wenn der LogPath Wert ungültig ist, sendet der Treiber die protokollierten Informationen an den Standardausgabestream. `System.out`

## LogPath
<a name="jdbc20-logpath-option"></a>
+ **Standardwert** – Das aktuelle Arbeitsverzeichnis.
+ **Datentyp** – Zeichenfolge

Der vollständige Pfad zu dem Ordner, in dem der Treiber Protokolldateien speichert, wenn die DSILog Level-Eigenschaft aktiviert ist. 

Um sicherzustellen, dass die Verbindungs-URL mit allen JDBC-Anwendungen kompatibel ist, empfehlen wir, die umgekehrten Schrägstriche (\$1) in Ihrem Dateipfad mit einem zusätzlichen umgekehrten Schrägstrich zu escapen.

Dieser Parameter ist optional.

## OverrideSchemaPatternType
<a name="jdbc20-override-schema-pattern-type"></a>
+ **Standardwert** – Null
+ **Datentyp** – Ganzzahl

Diese Option gibt an, ob der Abfragetyp, der in getTables-Aufrufen verwendet wird, überschrieben werden soll.

**0**  
Keine universelle Schemaabfrage

**1**  
Abfrage von lokalen Schemata

**2**  
Abfrage von externen Schemata

Dieser Parameter ist optional.

## Partner\$1SPID
<a name="jdbc20-partner_spid-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der SPID-Wert (Service Provider ID) des Partners, der bei der Authentifizierung der Verbindung über den PingFederate Dienst verwendet werden soll. 

Dieser Parameter ist optional.

## Passwort
<a name="jdbc20-password-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Wenn Sie eine Verbindung mit IAM-Authentifizierung über einen IDP herstellen, ist dies das Kennwort für den IDP\$1Host-Server. Bei Verwendung der Standardauthentifizierung kann dies für das Amazon-Redshift-Datenbankkennwort anstelle von PWD verwendet werden. 

Dieser Parameter ist optional.

## Plugin\$1Name
<a name="jdbc20-plugin_name-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der vollqualifizierte Klassenname zur Implementierung eines spezifischen Anmeldeinformationsanbieters. 

Dieser Parameter ist optional.

Folgende Anbieteroptionen werden unterstützt:
+ **`AdfsCredentialsProvider`** – Active Directory Federation Service.
+ **`AzureCredentialsProvider`** – Microsoft Azure Active Directory (AD) Service.
+ **`BasicJwtCredentialsProvider`** – JSON Web Tokens (JWT) Service.
+ **`BasicSamlCredentialsProvider`** – SAML-Anmeldeinformationen (Security Assertion Markup Language), die Sie mit vielen SAML-Dienstanbietern verwenden können.
+ **`BrowserAzureCredentialsProvider`** – Browser Microsoft Azure Active Directory (AD) Service.
+ **`BrowserAzureOAuth2CredentialsProvider`** – Microsoft Azure Active Directory (AD)-Browserservice für die systemeigene Authentifizierung
+ **`BrowserIdcAuthPlugin`**— Ein Autorisierungs-Plugin, das AWS IAM Identity Center verwendet.
+ **`BrowserSamlCredentialsProvider`** – Browser-SAML für SAML-Services wie Okta, Ping oder ADFS.
+ **`IdpTokenAuthPlugin`**— Ein Autorisierungs-Plugin, das ein AWS IAM Identity Center-Token oder OpenID Connect (OIDC) JSON-basierte Identitätstoken (JWT) von jedem Web-Identitätsanbieter akzeptiert, der mit IAM Identity Center verknüpft ist. AWS 
+ **`OktaCredentialsProvider`** – Okta-Service
+ **`PingCredentialsProvider`**— PingFederate Dienst.

## PORT
<a name="jdbc20-port-option"></a>
+ **Standardwert** – Null
+ **Datentyp** – Ganzzahl

Der Port des Amazon-Redshift-Servers, zu dem eine Verbindung hergestellt werden soll. Mit dieser Option können Sie den Port in der JDBC-Verbindungs-URL angeben. 

Dieser Parameter ist optional.

## Preferred\$1Role
<a name="jdbc20-preferred_role-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

IAM-Rolle, die Sie während der Verbindung mit Amazon Redshift übernehmen möchten. 

Dieser Parameter ist optional.

## Profil
<a name="jdbc20-profile-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Name des Profils für die IAM-Authentifizierung. Dieses Profil enthält alle zusätzlichen Verbindungseigenschaften, die nicht in der Verbindungszeichenfolge angegeben sind. 

Dieser Parameter ist optional.

## PWD
<a name="jdbc20-pwd-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Das Passwort, das dem Amazon-Redshift-Benutzernamen entspricht, den Sie mithilfe der Eigenschaften-UID angegeben haben. 

Dieser Parameter ist optional.

## QueryGroup
<a name="jdbc20-querygroup-option"></a>
+ **Standardwert** – Null
+ **Datentyp** – Zeichenfolge

Diese Option weist eine Abfrage zur Laufzeit einer Warteschlange zu, indem Sie die Abfrage der entsprechenden Abfragegruppe zuweisen. Die Abfragegruppe wird für die Sitzung festgelegt. Alle Abfragen, die für die Verbindung ausgeführt werden, gehören zu dieser Abfragegruppe. 

Dieser Parameter ist optional.

## readOnly
<a name="jdbc20-readonly-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Diese Eigenschaft gibt an, ob sich der Treiber im schreibgeschützten Modus befindet. 

Dieser Parameter ist optional.

**true**  
Die Verbindung befindet sich im schreibgeschützten Modus und kann nicht in den Datenspeicher schreiben.

**false**  
Die Verbindung befindet sich nicht im schreibgeschützten Modus und kann in den Datenspeicher schreiben.

## Region
<a name="jdbc20-region-option"></a>
+ **Standardwert** – Null
+ **Datentyp** – Zeichenfolge

Diese Option gibt die AWS Region an, in der sich der Cluster befindet. Wenn Sie die StsEndPoint Option angeben, wird die Option Region ignoriert. Die Redshift-API-Operation `GetClusterCredentials` verwendet auch die Option „Region“. 

Dieser Parameter ist optional.

## reWriteBatchedFügt ein
<a name="jdbc20-rewritebatchedinserts-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Diese Option ermöglicht die Optimierung, um kompatible INSERT-Anweisungen neu zu schreiben und zu kombinieren, die als Batch ausgeführt werden. 

Dieser Parameter ist optional.

## reWriteBatchedInsertsSize
<a name="jdbc20-rewritebatchedinsertssize-option"></a>
+ **Standardwert** – 128
+ **Datentyp** – Ganzzahl

Diese Option ermöglicht die Optimierung, um kompatible INSERT-Anweisungen neu zu schreiben und zu kombinieren, die als Batch ausgeführt werden. Dieser Wert muss exponentiell um die Potenz von 2 erhöht werden. 

Dieser Parameter ist optional.

## roleArn
<a name="jdbc20-rolearn-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Amazon-Ressourcenname (ARN) der Rolle. Stellen Sie sicher, dass Sie diesen Parameter angeben, wenn Sie ihn BasicJwtCredentialsProvider für die Option Plugin\$1Name angeben. Sie geben den ARN im folgenden Format an: 

`arn:partition:service:region:account-id:resource-id`

Dieser Parameter ist erforderlich, wenn Sie ihn BasicJwtCredentialsProvider für die Option Plugin\$1Name angeben.

## roleSessionName
<a name="jdbc20-roleaessionname-option"></a>
+ **Standardwert** – jwt\$1redshift\$1session
+ **Datentyp** – Zeichenfolge

Ein Bezeichner für die Sitzung der angenommenen Rolle. Normalerweise übergeben Sie den Namen oder den Bezeichner, der dem Benutzer Ihrer Anwendung zugeordnet ist. Die temporären Sicherheitsanmeldeinformationen, die Ihre Anwendung verwendet, sind diesem Benutzer zugeordnet. Sie können diesen Parameter angeben, wenn Sie ihn BasicJwtCredentialsProvider für die Option Plugin\$1Name angeben. 

Dieser Parameter ist optional.

## scope
<a name="jdbc20-scope-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Eine durch Leerzeichen getrennte Liste von Bereichen, denen der Benutzer zustimmen kann. Sie geben diesen Parameter an, damit Ihre Microsoft Azure-Anwendung die Zustimmung zu dem einholen kann APIs , den Sie aufrufen möchten. Sie können diesen Parameter angeben, wenn Sie ihn BrowserAzure OAuth2 CredentialsProvider für die Option Plugin\$1Name angeben. 

Dieser Parameter ist für das Plug-in erforderlich. BrowserAzure OAuth2 CredentialsProvider

## SecretAccessKey
<a name="jdbc20-secretaccesskey-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der IAM-Zugriffsschlüssel für den Benutzer oder die Rolle. Wenn dies angegeben ist, muss auch die AccessKey ID angegeben werden. Wenn die JDBC-URL übergeben wird, SecretAccessKey muss sie URL-kodiert sein. 

Dieser Parameter ist optional.

## SessionToken
<a name="jdbc20-sessiontoken-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Das temporäre IAM-Sitzungstoken, das der IAM-Rolle zugeordnet ist, die Sie zur Authentifizierung verwenden. Das temporäre IAM-Sitzungstoken muss URL-codiert sein, wenn es in der JDBC-URL übergeben wird. 

Dieser Parameter ist optional.

## serverlessAcctId
<a name="jdbc20-serverlessacctid-option"></a>
+ **Standardwert** – Null
+ **Datentyp** – Zeichenfolge

Die Konto-ID von Amazon Redshift Serverless. Der Treiber versucht, diesen Parameter vom angegebenen Host zu erkennen. Wenn Sie einen Network Load Balancer (NLB) verwenden, wird der Treiber ihn nicht erkennen, also können Sie ihn hier einstellen. 

Dieser Parameter ist optional.

## serverlessWorkGroup
<a name="jdbc20-serverlessworkgroup-option"></a>
+ **Standardwert** – Null
+ **Datentyp** – Zeichenfolge

Der Name der Amazon-Redshift-Serverless-Arbeitsgruppe. Der Treiber versucht, diesen Parameter vom angegebenen Host zu erkennen. Wenn Sie einen Network Load Balancer (NLB) verwenden, wird der Treiber ihn nicht erkennen, also können Sie ihn hier einstellen. 

Dieser Parameter ist optional.

## socketFactory
<a name="jdbc20-socketfactory-option"></a>
+ **Standardwert** – Null
+ **Datentyp** – Zeichenfolge

Diese Option gibt eine Socket-Factory für die Socket-Erstellung an. 

Dieser Parameter ist optional.

## socketTimeout
<a name="jdbc20-sockettimeout-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Ganzzahl

Die Anzahl der Sekunden, die während Sockelleseoperationen gewartet werden soll, bevor eine Zeitüberschreitung eintritt. Wenn eine Operation länger dauert, als durch diesen Schwellenwert angegeben, wird die Verbindung geschlossen. Wenn diese Eigenschaft auf 0 festgelegt ist, treten keine Zeitüberschreitungen für die Verbindung ein. 

Dieser Parameter ist optional.

## SSL
<a name="jdbc20-ssl-option"></a>
+ **Standardwert** – TRUE
+ **Datentyp** – Zeichenfolge

Verwenden Sie diese Eigenschaft, um SSL für die Verbindung zu aktivieren oder zu deaktivieren. 

Dieser Parameter ist optional.

Sie können die folgenden Werte angeben:

**TRUE**  
Der Treiber stellt über SSL eine Verbindung mit dem Server her.

**FALSE**  
Der Treiber stellt ohne SSL eine Verbindung mit dem Server her. Diese Option wird bei der IAM-Authentifizierung nicht unterstützt.

Alternativ können Sie die Eigenschaft konfigurieren. AuthMech 

## SSL\$1Insecure
<a name="jdbc20-ssl_insecure-option"></a>
+ **Standardwert** – true
+ **Datentyp** – Zeichenfolge

Diese Eigenschaft gibt an, ob das Serverzertifikat für IDP-Hosts überprüft werden soll.

Dieser Parameter ist optional.

Sie können die folgenden Werte angeben:

**true**  
Der Treiber überprüft die Authentizität des IDP-Serverzertifikats nicht.

**false**  
Der Treiber überprüft die Authentizität des IDP-Serverzertifikats.

## SSLCert
<a name="jdbc20-sslcert-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der vollständige Pfad einer .pem- oder .crt-Datei, die zusätzliche vertrauenswürdige CA-Zertifikate für die Verifizierung der Amazon-Redshift-Server-Instance bei Verwendung von SSL enthält. 

Dieser Parameter ist erforderlich, wenn er angegeben SSLKey ist.

## SSLFactory
<a name="jdbc20-sslfactory-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Die SSL-Factory, die verwendet werden soll, wenn TLS/SSL ohne Verwendung eines Serverzertifikats eine Verbindung zum Server hergestellt wird. 

## SSLKey
<a name="jdbc20-sslkey-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der vollständige Pfad der .der-Datei, die die PKCS8 Schlüsseldatei für die Überprüfung der in angegebenen Zertifikate enthält. SSLCert 

Dieser Parameter ist erforderlich, wenn er angegeben SSLCert wird.

## SSLMode
<a name="jdbc20-sslmode-option"></a>
+ **Standardwert** – verify-ca
+ **Datentyp** – Zeichenfolge

Verwenden Sie diese Eigenschaft, um anzugeben, wie der Treiber Zertifikate validiert, wenn sie aktiviert TLS/SSL ist. 

Dieser Parameter ist optional.

Sie können die folgenden Werte angeben:

**verify-ca**  
Der Treiber stellt sicher, dass das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (CA) stammt.

**verify-full**  
Der Treiber überprüft, ob das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle stammt und dass der Hostname im Zertifikat mit dem Hostnamen übereinstimmt, der in der Verbindungs-URL angegeben ist.

## SSLPassword
<a name="jdbc20-sslpassword-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Zeichenfolge

Das Passwort für die verschlüsselte Schlüsseldatei, angegeben in SSLKey. 

Dieser Parameter ist erforderlich, wenn er angegeben SSLKey ist und die Schlüsseldatei verschlüsselt ist.

## SSLRootZertifikat
<a name="jdbc20-sslrootcert-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der vollständige Pfad einer .pem- oder .crt-Datei, die das Stamm-CA-Zertifikat für die Verifizierung der Amazon-Redshift-Serverinstanz bei Verwendung von SSL enthält. 

## StsEndpointUrl
<a name="jdbc20-stsendpointurl-option"></a>
+ **Standardwert** – Null
+ **Datentyp** – Zeichenfolge

Sie können einen Endpunkt AWS -Security-Token-Service (AWS STS) angeben. Wenn Sie diese Option angeben, wird die Option „Region“ ignoriert. Sie können nur ein sicheres Protokoll (HTTPS) für diesen Endpunkt angeben. 

## tcpKeepAlive
<a name="jdbc20-tcpkeepalive-option"></a>
+ **Standardwert** – TRUE
+ **Datentyp** – Zeichenfolge

Verwenden Sie diese Eigenschaft, um TCP-Keepalives zu aktivieren oder zu deaktivieren. 

Dieser Parameter ist optional.

Sie können die folgenden Werte angeben:

**TRUE**  
Der Treiber verwendet TCP-Keepalives, um ein Timeout für Verbindungen zu verhindern.

**FALSE**  
Der Treiber verwendet keine TCP-Keepalives.

## Token
<a name="jdbc20-token-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Ein von AWS IAM Identity Center bereitgestelltes Zugriffstoken oder ein OpenID Connect (OIDC) JSON Web Token (JWT), das von einem Web-Identitätsanbieter bereitgestellt wird, der mit IAM Identity Center verknüpft ist. AWS Ihre Anwendung muss dieses Token generieren, indem sie den Benutzer Ihrer Anwendung bei AWS IAM Identity Center oder einem mit IAM Identity Center verknüpften Identitätsanbieter authentifiziert. AWS 

Dieser Parameter funktioniert mit `IdpTokenAuthPlugin`.

## token\$1type
<a name="jdbc20-token-type-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Tokentyp, der in `IdpTokenAuthPlugin` verwendet wird.

Sie können die folgenden Werte angeben:

**ACCESS\$1TOKEN**  
Geben Sie dies ein, wenn Sie ein von AWS IAM Identity Center bereitgestelltes Zugriffstoken verwenden.

**EXT\$1JWT**  
Geben Sie dies ein, wenn Sie ein OpenID Connect (OIDC) JSON Web Token (JWT) verwenden, das von einem webbasierten Identitätsanbieter bereitgestellt wird, der in AWS IAM Identity Center integriert ist.

Dieser Parameter funktioniert mit `IdpTokenAuthPlugin`.

## Benutzerkennung (UID)
<a name="jdbc20-uid-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Datenbankbenutzername, der für den Datenbankzugriff verwendet wird.

Dieser Parameter muss angegeben werden.

## Benutzer
<a name="jdbc20-user-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Wenn Sie eine Verbindung mit IAM-Authentifizierung über einen IDP herstellen, ist dies der Benutzername für den idp\$1host-Server. Bei Verwendung der Standardauthentifizierung kann dies für den Amazon-Redshift-Datenbankbenutzernamen verwendet werden. 

Dieser Parameter ist optional.

## webIdentityToken
<a name="jdbc20-webidentitytoken-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Das OAuth 2.1-Zugriffstoken oder das OpenID Connect ID-Token, das vom Identitätsanbieter bereitgestellt wird. Ihre Anwendung muss dieses Token abrufen, indem Sie den Benutzer Ihrer Anwendung bei einem Web-Identitätsanbieter authentifizieren. Stellen Sie sicher, dass Sie diesen Parameter angeben, wenn Sie ihn BasicJwtCredentialsProvider für die Option Plugin\$1Name angeben. 

Dieser Parameter ist erforderlich, wenn Sie ihn BasicJwtCredentialsProvider für die Option Plugin\$1Name angeben.

# Vorgängerversionen von JDBC-Treiber Version 2.x
<a name="jdbc20-previous-driver-version-20"></a>

Sie sollten eine frühere Version der JDBC-Treiberversion 2.x für Amazon Redshift nur dann herunterladen, wenn Ihr Tool eine spezifische Treiberversion benötigt. 

Dies sind die früheren JDBC-4.2-kompatiblen JDBC-Treiber der Version 2.x:
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip) [Verwenden Sie ](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip) 

# Amazon Redshift Python Connector
<a name="python-redshift-driver"></a>

Mithilfe des Amazon Redshift Redshift-Konnektors für Python können Sie die Arbeit mit [dem AWS SDK for Python (Boto3)](https://github.com/boto/boto3) sowie mit Pandas und Numerical Python () integrieren. NumPy [Weitere Informationen zu Pandas finden Sie im Pandas-Repository. GitHub ](https://github.com/pandas-dev/pandas) [Weitere Informationen zu finden Sie im NumPy Repository. NumPy GitHub](https://github.com/numpy/numpy) 

Der Amazon-Redshift-Python-Konnektor stellt eine Open-Source-Lösung bereit. Sie können den Quellcode durchsuchen, Verbesserungen anfordern, Probleme melden und Beiträge bereitstellen. 

Um den Amazon-Redshift-Python-Konnektor zu verwenden, stellen Sie sicher, dass Sie über Python-Version 3.6 oder höher verfügen. Weitere Informationen finden Sie in der [Amazon-Redshift-Python-Treiber-Lizenzvereinbarung](https://github.com/aws/amazon-redshift-python-driver/blob/master/LICENSE). 

Der Amazon-Redshift-Python-Konnektor stellt Folgendes bereit:
+ AWS Identity and Access Management (IAM) -Authentifizierung. Weitere Informationen finden Sie unter [Identity and Access Management in Amazon Redshift](redshift-iam-authentication-access-control.md).
+ Authentifizierung des Identitätsanbieters mit föderiertem API Der föderierte API-Zugriff wird beispielsweise für folgende Unternehmensidentitätsanbieter unterstützt:
  + Azure AD. Weitere Informationen finden Sie im AWS Big-Data-Blogbeitrag [Federate Amazon Redshift access with Microsoft Azure AD Single](https://aws.amazon.com/blogs/big-data/federate-amazon-redshift-access-with-microsoft-azure-ad-single-sign-on/) Sign-On.
  + Active Directory Federation Services Weitere Informationen finden Sie im AWS Big Data Blogbeitrag [Föderierter Zugriff auf Ihren Amazon-Redshift-Cluster mit Active Directory Federation Services (AD FS): Teil 1](https://aws.amazon.com/blogs/big-data/federate-access-to-your-amazon-redshift-cluster-with-active-directory-federation-services-ad-fs-part-1/). 
  + Okta Weitere Informationen finden Sie im AWS Big-Data-Blogbeitrag [Federate Amazon Redshift access with Okta as a identity provider](https://aws.amazon.com/blogs/big-data/federate-amazon-redshift-access-with-okta-as-an-identity-provider/).
  + PingFederate. Weitere Informationen finden Sie auf der [PingFederate Website](https://www.pingidentity.com/en/software/pingfederate.html).
  + JumpCloud. Weitere Informationen finden Sie auf der [JumpCloud Website](https://jumpcloud.com/).
+ Amazon-Redshift-Datentypen.

Der Amazon-Redshift-Python-Konnektor implementiert die Python-Datenbank-API-Spezifikation 2.0. Weitere Informationen finden Sie unter [PEP 249 – Python-Datenbank-API-Spezifikation v2.0](https://www.python.org/dev/peps/pep-0249/) auf der Python-Website.

**Topics**
+ [Installieren des Amazon-Redshift-Python-Konnektors](python-driver-install.md)
+ [Konfigurationsoptionen für den Amazon-Redshift-Python-Konnektor](python-configuration-options.md)
+ [Importieren des Python-Konnektors](python-start-import.md)
+ [Integration des Python-Konnektors mit NumPy](python-connect-integrate-numpy.md)
+ [Integrieren des Python-Konnektors in Pandas](python-connect-integrate-pandas.md)
+ [Verwenden von Identitätsanbieter-Plugins](python-connect-identity-provider-plugins.md)
+ [Beispiele für die Verwendung des Amazon-Redshift-Python-Konnektors](python-connect-examples.md)
+ [API-Referenz für den Amazon-Redshift-Python-Konnektor](python-api-reference.md)

# Installieren des Amazon-Redshift-Python-Konnektors
<a name="python-driver-install"></a>

Sie können eine der folgenden Methoden verwenden, um den Amazon-Redshift-Python-Konnektor zu installieren:
+ Python-Paketindex (PyPi)
+ Conda
+ Das GitHub Repository klonen

## Installieren des Python-Konnektors aus dem PyPi
<a name="python-pip-install-pypi"></a>

Um den Python-Konnektor aus dem Python-Paketindex (PyPI) zu installieren, können Sie pip verwenden. Führen Sie dazu den folgenden Befehl aus.

```
>>> pip install redshift_connector
```

Sie können den Konnektor in einer virtuellen Umgebung installieren. Führen Sie dazu den folgenden Befehl aus.

```
>>> pip install redshift_connector
```

Optional können Sie Pandas und NumPy mit dem Connector installieren.

```
>>> pip install 'redshift_connector[full]'
```

Weitere Informationen finden zu Pip finden Sie auf der [Pip-Website](https://pip.pypa.io/en/stable/).

## Installieren des Python-Konnektors über Conda
<a name="python-pip-install-from-conda"></a>

Sie können den Python-Konnektor von Anaconda.org installieren.

```
>>>conda install -c conda-forge redshift_connector
```

## Installation des Python-Konnektors durch Klonen des GitHub Repositorys von AWS
<a name="python-pip-install-from-source"></a>

Um den Python-Konnektor aus der Quelle zu installieren, klonen Sie das GitHub Repository von AWS. Richten Sie nach der Installation von Python und virtualenv Ihre Umgebung ein und installieren Sie die erforderlichen Abhängigkeiten, indem Sie die folgenden Befehle ausführen.

```
$ git clone https://github.com/aws/amazon-redshift-python-driver.git
$ cd amazon-redshift-python-driver
$ virtualenv venv
$ . venv/bin/activate
$ python -m pip install -r requirements.txt
$ python -m pip install -e .
$ python -m pip install redshift_connector
```

# Konfigurationsoptionen für den Amazon-Redshift-Python-Konnektor
<a name="python-configuration-options"></a>

Im Folgenden finden Sie Beschreibungen für die Optionen, die Sie für den Amazon-Redshift-Python-Konnektor angeben können. Die folgenden Optionen gelten für die neueste verfügbare Connector-Version, sofern nicht anders angegeben.

## access\$1key\$1id
<a name="python-access-key-id-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Der Zugriffsschlüssel der IAM-Rolle bzw. des IAM-Benutzers, die/der für die IAM-Datenbankauthentifizierung konfiguriert wurde. 

Dieser Parameter ist optional.

## allow\$1db\$1user\$1override
<a name="python-allow-db-user-override-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Wahr  
Gibt an, dass der Konnektor den `DbUser`-Wert aus der SAML-Assertion (Security Assertion Markup Language) verwendet.

Falsch  
Gibt an, dass der Wert im `DbUser`-Verbindungsparameter verwendet wird.

Dieser Parameter ist optional.

## app\$1name
<a name="python-app-name-option"></a>
+ **Standardwert** – Keiner
+ **Datentyp** – Zeichenfolge

Der Name der Identitätsanbieter-Anwendung (IdP), die für die Authentifizierung verwendet wird. 

Dieser Parameter ist optional.

## application\$1name
<a name="python-application_name-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Name der Client-Anwendung, die zu Prüfungszwecken an Amazon Redshift übergeben wird. Der von Ihnen angegebene Anwendungsname wird in der Spalte „application\$1name“ der Tabelle [SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html) angezeigt. Auf diese Weise können Verbindungsquellen beim Debuggen von Problemen nachverfolgt und Fehler behoben werden.

Dieser Parameter ist optional.

## auth\$1profile
<a name="python-auth-profile-option"></a>
+ **Standardwert** – Keines
+ **Datentyp** – Zeichenfolge

Der Name eines Amazon-Redshift-Authentifizierungsprofils mit Verbindungseigenschaften als JSON. Weitere Informationen zur Benennung von Verbindungsparametern finden Sie in der `RedshiftProperty`-Klasse. Die`RedshiftProperty`-Klasse speichert vom Endbenutzer bereitgestellte und ggf. während des IAM-Authentifizierungsprozesses generierte Verbindungsparameter (z. B. temporäre IAM-Anmeldeinformationen). Weitere Informationen finden Sie in der [RedshiftProperty Klasse](https://github.com/aws/amazon-redshift-python-driver/blob/master/redshift_connector/redshift_property.py#L9). 

Dieser Parameter ist optional.

## auto\$1create
<a name="python-auto-create-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Ein Wert, der angibt, ob der Benutzer erstellt werden soll, wenn der Benutzer nicht existiert. 

Dieser Parameter ist optional.

## Client-ID
<a name="python-client-id-option"></a>
+ **Standardwert** – Keiner
+ **Datentyp** – Zeichenfolge

Die Client-ID von Azure IdP. 

Dieser Parameter ist optional.

## client\$1secret
<a name="python-client-secret-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Das Client-Geheimnis von Azure IdP. 

Dieser Parameter ist optional.

## cluster\$1identifier
<a name="python-cluster-identifier-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Die Cluster-Kennung des Amazon-Redshift-Clusters. 

Dieser Parameter ist optional.

## credentials\$1provider
<a name="python-credential-provider-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Der IdP, der zur Authentifizierung bei Amazon Redshift verwendet wird. Die folgenden Werte sind gültig: 
+ `AdfsCredentialsProvider`
+ `AzureCredentialsProvider`
+ `BrowserAzureCredentialsProvider`
+ `BrowserAzureOAuth2CredentialsProvider`
+ `BrowserIdcAuthPlugin` – Ein Autorisierungs-Plugin, das AWS IAM Identity Center verwendet.
+ `BrowserSamlCredentialsProvider`
+ `IdpTokenAuthPlugin`— Ein Autorisierungs-Plugin, das ein AWS IAM Identity Center-Token oder OpenID Connect (OIDC) JSON-basierte Identitätstoken (JWT) von jedem Web-Identitätsanbieter akzeptiert, der mit dem IAM Identity Center verknüpft ist. AWS 
+ `PingCredentialsProvider`
+ `OktaCredentialsProvider`

Dieser Parameter ist optional.

## Datenbank
<a name="python-database-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Name der Datenbank, mit der Sie sich verbinden möchten. 

Dieser Parameter muss angegeben werden.

## database\$1metadata\$1current\$1db\$1only
<a name="python-database-metadata-current-db-only-option"></a>
+ **Standardwert** – true
+ **Datentyp** – boolesch

Ein Wert, der angibt, ob eine Anwendung Datashare-Kataloge mit mehreren Datenbanken unterstützt. Der Standardwert True gibt an, dass die Anwendung aus Gründen der Abwärtskompatibilität keine Datashare-Kataloge mit mehreren Datenbanken unterstützt. 

Dieser Parameter ist optional.

## db\$1groups
<a name="python-db-groups-option"></a>
+ **Standardwert** – Keine
+ Datentyp **—** Zeichenfolge

Eine durch Kommas getrennte Liste vorhandener Datenbankgruppennamen, die der Benutzer für die aktuelle Sitzung durch DbUser Joins angegeben hat. 

Dieser Parameter ist optional.

## db\$1user
<a name="python-db-user-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Die Benutzer-ID, die mit Amazon Redshift verwendet werden soll. 

Dieser Parameter ist optional.

## endpoint\$1url
<a name="python-endpoint-url-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Die Amazon-Redshift-Endpunkt-URL Diese Option ist nur für den AWS internen Gebrauch bestimmt. 

Dieser Parameter ist optional.

## group\$1federation
<a name="python-group-federation-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Diese Option gibt an, ob Amazon-Redshift-IDP-Gruppen verwendet werden sollen.

Dieser Parameter ist optional.

**true**  
Verwenden Sie Amazon Redshift-Identity-Provider (IDP)-Gruppen.

**false**  
Verwenden Sie die STS-API und GetClusterCredentials den Benutzerverbund und geben Sie **db\$1groups** für die Verbindung an.

## Host
<a name="python-host-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Hostname des Amazon-Redshift-Clusters. 

Dieser Parameter ist optional.

## iam
<a name="python-iam-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Die IAM-Authentifizierung ist aktiviert. 

Dieser Parameter muss angegeben werden.

## iam\$1disable\$1cache
<a name="python-iam-disable-cache-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Diese Option gibt an, ob die IAM-Anmeldeinformationen zwischengespeichert werden. Die IAM-Anmeldeinformationen werden standardmäßig zwischengespeichert. Dies verbessert die Leistung, wenn Anfragen an das API-Gateway gedrosselt werden. 

Dieser Parameter ist optional.

## idc\$1client\$1display\$1name
<a name="python-idc_client_display_name-option"></a>
+ **Standardwert** – Python-Konnektor von Amazon Redshift
+ **Datentyp** – Zeichenfolge

Der Anzeigename, der für den Client verwendet werden soll, der verwendet. BrowserIdcAuthPlugin

Dieser Parameter ist optional.

## idc\$1region
<a name="python-idc_region"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Die AWS Region, in der sich die AWS IAM Identity Center-Instanz befindet.

Dieser Parameter ist nur erforderlich, wenn eine Authentifizierung mit `BrowserIdcAuthPlugin` in der Konfigurationsoption credentials\$1provider erfolgt.

## idp\$1partition
<a name="python-idp_partition-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Gibt die Cloud-Partition an, auf der Ihr Identity Provider (IdP) konfiguriert ist. Dadurch wird bestimmt, mit welchem IdP-Authentifizierungsendpunkt der Treiber eine Verbindung herstellt.

Wenn dieser Parameter leer gelassen wird, verwendet der Treiber standardmäßig die kommerzielle Partition. Die möglichen Werte sind:
+  `us-gov`: Verwenden Sie diesen Wert, wenn Ihr IdP in Azure Government konfiguriert ist. Beispielsweise verwendet Azure AD Government den Endpunkt`login.microsoftonline.us`.
+  `cn`: Verwenden Sie diesen Wert, wenn Ihr IdP in der China Cloud-Partition konfiguriert ist. Beispielsweise verwendet Azure AD China den Endpunkt`login.chinacloudapi.cn`. 

Dieser Parameter ist optional.

## idpPort
<a name="python-idp-port-option"></a>
+ **Standardwert** – 7890
+ **Datentyp** – Ganzzahl

Der Listen Port, an den der IdP die SAML-Assertion sendet. 

Dieser Parameter muss angegeben werden.

## idp\$1response\$1timeout
<a name="python-idp-response-timeout-option"></a>
+ **Standardwert** – 120
+ **Datentyp** – Ganzzahl

Das Timeout für das Abrufen der SAML-Assertion vom IdP. 

Dieser Parameter muss angegeben werden.

## idp\$1tenant
<a name="python-idp-tenant-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Der IdP-Tenant. 

Dieser Parameter ist optional.

## issuer\$1url
<a name="python-issuer_url"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

 Verweist auf den Instanzendpunkt des AWS IAM Identity Center-Servers. 

Dieser Parameter ist nur erforderlich, wenn eine Authentifizierung mit `BrowserIdcAuthPlugin` in der Konfigurationsoption credentials\$1provider erfolgt.

## listen\$1port
<a name="python-listen-port-option"></a>
+ **Standardwert** – 7890
+ **Datentyp** – Ganzzahl

Der Port, den der Treiber verwendet, um die SAML-Antwort vom Identitätsanbieter oder den Autorisierungscode zu empfangen, wenn SAML-, Azure AD- oder AWS IAM Identity Center-Dienste über ein Browser-Plugin verwendet werden.

Dieser Parameter ist optional.

## login\$1url
<a name="python-login-url-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Die Single-Sign-On-URL für den IdP. 

Dieser Parameter ist optional.

## max\$1prepared\$1statements
<a name="python-max-prepared-statements-option"></a>
+ **Standardwert** – 1000
+ **Datentyp** – Ganzzahl

Die maximale Anzahl vorbereiteter Anweisungen, die pro Verbindung zwischengespeichert werden. Wenn für diesen Parameter 0 festgelegt wird, ist der Cache-Mechanismus deaktiviert. Wenn Sie für diesen Parameter eine negative Zahl eingeben, wird er auf den Standardwert gesetzt. 

Dieser Parameter ist optional.

## numeric\$1to\$1float
<a name="python-numeric-to-float-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Diese Option gibt an, ob der Konnektor numerische Datentypwerte von decimal.Decimal in Float konvertiert. Standardmäßig erhält der Konnektor numerische Datentypwerte als decimal.Decimal und konvertiert sie nicht. 

Wir empfehlen nicht, numeric\$1to\$1float für Anwendungsfälle zu aktivieren, die Genauigkeit erfordern, da die Ergebnisse ggf. gerundet werden. 

Weitere Informationen zu decimal.Decimal und den Kompromissen im Hinblick auf decimal.Decimal und Float finden Sie unter [decimal – Dezimale Festpunkt- und Gleitkomma-Arithmetik](https://docs.python.org/3/library/decimal.html) auf der Python-Website. 

Dieser Parameter ist optional.

## partner\$1sp\$1id
<a name="python-partner-sp-id-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Die Partner-SP-ID, die für die Authentifizierung mit Ping verwendet wird. 

Dieser Parameter ist optional.

## password
<a name="python-password-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Das Passwort, das für die Authentifizierung verwendet werden soll. 

Dieser Parameter ist optional.

## port
<a name="python-port-option"></a>
+ **Standardwert** – 5 439
+ **Datentyp** – Ganzzahl

Die Portnummer für den Amazon-Redshift-Cluster. 

Dieser Parameter muss angegeben werden.

## preferred\$1role
<a name="python-preferred-role-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Die für die aktuelle Verbindung bevorzugte IAM-Rolle. 

Dieser Parameter ist optional.

## principal\$1arn
<a name="python-principal-arn-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Der Amazon-Ressourcenname (ARN) des Benutzers oder der IAM-Rolle, für die Sie eine Richtlinie erstellen. Es wird empfohlen, eine Richtlinie an eine Rolle anzufügen und die Rolle Ihrem Benutzer für den Zugriff zuzuweisen. 

Dieser Parameter ist optional.

## profile
<a name="python-profile-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** — Zeichenfolge

Der Name eines Profils in einer AWS Anmeldeinformationsdatei, die AWS Anmeldeinformationen enthält. 

Dieser Parameter ist optional.

## provider\$1name
<a name="python-provider_name-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Name des Anbieters für die systemeigene Authentifizierung von Redshift. 

Dieser Parameter ist optional.

## region
<a name="python-region-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** — Zeichenfolge

Der AWS-Region Ort, an dem sich der Cluster befindet. 

Dieser Parameter ist optional.

## role\$1arn
<a name="python-role-arn-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Den Amazon-Ressourcennamen (ARN) der Rolle, die der Anrufer übernehmen soll. Dieser Parameter wird von dem Anbieter verwendet, der mit `JwtCredentialsProvider` angegeben ist. 

Für den `JwtCredentialsProvider`-Anbieter ist dieser Parameter obligatorisch. Andernfalls ist dieser Parameter optional.

## role\$1session\$1name
<a name="python-role-session-name-option"></a>
+ **Standardwert** – jwt\$1redshift\$1session
+ **Datentyp** – Zeichenfolge

Ein Bezeichner für die Sitzung der angenommenen Rolle. Normalerweise übergeben Sie den Namen oder den Bezeichner, der dem Benutzer Ihrer Anwendung zugeordnet ist. Die temporären Sicherheitsanmeldeinformationen, die Ihre Anwendung verwendet, sind diesem Benutzer zugeordnet. Dieser Parameter wird von dem Anbieter verwendet, der mit `JwtCredentialsProvider` angegeben ist. 

Dieser Parameter ist optional.

## scope
<a name="python-scope-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Eine durch Leerzeichen getrennte Liste von Bereichen, denen der Benutzer zustimmen kann. Sie geben diesen Parameter an, damit Ihre Anwendung die Zustimmung zu dem einholen kann APIs , den Sie aufrufen möchten. Sie können diesen Parameter angeben, wenn Sie ihn BrowserAzure OAuth2 CredentialsProvider für die Option credentials als\$1provider angeben.

Dieser Parameter ist für das Plug-in erforderlich. BrowserAzure OAuth2 CredentialsProvider

## secret\$1access\$1key\$1id
<a name="python-secret-access-key-id-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der geheime Zugriffsschlüssel der IAM-Rolle bzw. des IAM-Benutzers, die/der für die IAM-Datenbankauthentifizierung konfiguriert wurde. 

Dieser Parameter ist optional.

## session\$1token
<a name="python-session-token-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Der Zugriffsschlüssel der IAM-Rolle bzw. des IAM-Benutzers, die/der für die IAM-Datenbankauthentifizierung konfiguriert wurde. Dieser Parameter ist erforderlich, wenn temporäre AWS Anmeldeinformationen verwendet werden. 

Dieser Parameter ist optional.

## serverless\$1acct\$1id
<a name="python-serverless-acct-id-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Die Konto-ID von Amazon Redshift Serverless.

Dieser Parameter ist optional.

## serverless\$1work\$1group
<a name="python-serverless-work-group-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Name der Amazon-Redshift-Serverless-Arbeitsgruppe.

Dieser Parameter ist optional.

## ssl
<a name="python-ssl-option"></a>
+ **Standardwert** – true
+ **Datentyp** – boolesch

Secure Sockets Layer (SSL) ist aktiviert. 

Dieser Parameter muss angegeben werden.

## ssl\$1insecure
<a name="python-ssl-insecure-option"></a>
+ **Standardwert** – false
+ **Datentyp** – boolesch

Ein Wert, der angibt, ob die Prüfung des Serverzertifikats des IdP-Hosts überprüft werden soll. Wenn Sie diesen Parameter auf „true“ setzen, wird die Überprüfung des Server-SSL-Zertifikats des IdP-Hosts deaktiviert. Wir empfehlen, in Produktionsumgebungen den Standardwert „False“ beizubehalten.

Dieser Parameter ist optional.

## sslmode
<a name="python-sslmode-option"></a>
+ **Standardwert** – verify-ca
+ **Datentyp** – Zeichenfolge

Die Sicherheit der Verbindung zu Amazon Redshift. Sie können einen der folgenden Werte angeben: 
+ verify-ca
+ verify-full

Dieser Parameter muss angegeben werden.

## tcp\$1keepalive
<a name="python-tcp_keepalive-option"></a>
+ **Standardwert** – true
+ **Datentyp** – boolesch

Ob TCP-Keepalives verwendet werden sollen, um ein Timeout für Verbindungen zu verhindern. Sie können die folgenden Werte angeben:
+ True: Der Treiber verwendet TCP-Keepalives, um ein Timeout von Verbindungen zu verhindern.
+ False: Der Treiber verwendet keine TCP-Keepalives.

Dieser Parameter ist optional.

## tcp\$1keepalive\$1count
<a name="python-tcp_keepalive_count-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Ganzzahl

Die Anzahl der unbestätigten Tests, die gesendet werden sollen, bevor die Verbindung als inaktiv betrachtet wird. Wenn Sie den Wert beispielsweise auf 3 setzen, sendet der Treiber drei unbeantwortete Keepalive-Pakete, bevor er feststellt, dass die Verbindung nicht mehr aktiv ist.

Wenn dieser Parameter nicht angegeben ist, verwendet Amazon Redshift den Standardwert des Systems.

Dieser Parameter ist optional.

## tcp\$1keepalive\$1interval
<a name="python-tcp_keepalive_interval-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Ganzzahl

Das Intervall in Sekunden zwischen aufeinanderfolgenden Keepalive-Tests, falls der Treiber zuvor keine Bestätigung für den Test erhalten hat. Wenn Sie diesen Parameter angeben, muss es sich um eine positive ganze Zahl handeln.

Wenn dieser Parameter nicht angegeben ist, verwendet Amazon Redshift den Standardwert des Systems.

Dieser Parameter ist optional.

## tcp\$1keepalive\$1idle
<a name="python-tcp_keepalive_idle-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Ganzzahl

Die Dauer der Inaktivität in Sekunden, nach der der Treiber den ersten Keepalive-Test sendet. Wenn Sie den Wert beispielsweise auf 120 setzen, bedeutet dies, dass der Treiber 2 Minuten lang inaktiv ist, bevor er das erste Keepalive-Paket sendet. Wenn Sie diesen Parameter angeben, muss es sich um eine positive ganze Zahl handeln. 

Wenn dieser Parameter nicht angegeben ist, verwendet Amazon Redshift den Standardwert des Systems.

Dieser Parameter ist optional.

## timeout
<a name="python-timeout-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Ganzzahl

Die Anzahl der Sekunden, die gewartet werden soll, bevor eine Zeitüberschreitung für einen Verbindungsversuch mit dem Server eintritt. 

Dieser Parameter ist optional.

## Token
<a name="python-token-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Ein von AWS IAM Identity Center bereitgestelltes Zugriffstoken oder ein OpenID Connect (OIDC) JSON Web Token (JWT), das von einem Web-Identitätsanbieter bereitgestellt wird, der mit IAM Identity Center verknüpft ist. AWS Ihre Anwendung muss dieses Token generieren, indem sie den Benutzer Ihrer Anwendung bei AWS IAM Identity Center oder einem mit IAM Identity Center verknüpften Identitätsanbieter authentifiziert. AWS 

Dieser Parameter funktioniert mit `IdpTokenAuthPlugin`.

## token\$1type
<a name="python-token_type-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Tokentyp, der in `IdpTokenAuthPlugin` verwendet wird.

Sie können die folgenden Werte angeben:

**ACCESS\$1TOKEN**  
Geben Sie dies ein, wenn Sie ein von AWS IAM Identity Center bereitgestelltes Zugriffstoken verwenden.

**EXT\$1JWT**  
Geben Sie dies ein, wenn Sie ein OpenID Connect (OIDC) JSON Web Token (JWT) verwenden, das von einem webbasierten Identitätsanbieter bereitgestellt wird, der in AWS IAM Identity Center integriert ist.

Dieser Parameter funktioniert mit `IdpTokenAuthPlugin`.

## user
<a name="python-user-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Benutzername für die Autorisierung. 

Dieser Parameter ist optional.

## web\$1identity\$1token
<a name="python-web-identity-token-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** — Zeichenfolge

Das OAuth 2.0-Zugriffstoken oder das OpenID Connect-ID-Token, das vom Identitätsanbieter bereitgestellt wird. Stellen Sie sicher, dass Ihre Anwendung dieses Token abruft, indem Sie den Benutzer Ihrer Anwendung bei einem Web-Identitätsanbieter authentifizieren. Dieser Parameter wird von dem Anbieter verwendet, der mit `JwtCredentialsProvider` angegeben ist. 

Für den `JwtCredentialsProvider`-Anbieter ist dieser Parameter obligatorisch. Andernfalls ist dieser Parameter optional.

# Importieren des Python-Konnektors
<a name="python-start-import"></a>

Um den Python-Konnektor zu importieren, führen Sie den folgenden Befehl aus.

```
>>> import redshift_connector
```

Führen Sie den folgenden Befehl aus, um mithilfe von AWS Anmeldeinformationen eine Verbindung zu einem Amazon Redshift Redshift-Cluster herzustellen.

```
conn = redshift_connector.connect(
    host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
    port=5439,
    database='dev',
    user='awsuser',
    password='my_password'
 )
```

# Integration des Python-Konnektors mit NumPy
<a name="python-connect-integrate-numpy"></a>

Im Folgenden finden Sie ein Beispiel für die Integration des Python-Konnektors mit NumPy.

```
>>>  import numpy
#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(
     host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
     port=5439,
     database='dev',
     user='awsuser',
     password='my_password'
  )
  
# Create a Cursor object
>>> cursor = conn.cursor()

# Query and receive result set            
cursor.execute("select * from book")

result: numpy.ndarray = cursor.fetch_numpy_array()
print(result)
```

Das Ergebnis sieht wie folgt aus.

```
[['One Hundred Years of Solitude' 'Gabriel García Márquez']
['A Brief History of Time' 'Stephen Hawking']]
```

# Integrieren des Python-Konnektors in Pandas
<a name="python-connect-integrate-pandas"></a>

Es folgt ein Beispiel für die Integration des Python-Konnektors in Pandas.

```
>>> import pandas

#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(
     host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
     port=5439,
     database='dev',
     user='awsuser',
     password='my_password'
  )
  
# Create a Cursor object
>>> cursor = conn.cursor()

# Query and receive result set
cursor.execute("select * from book")
result: pandas.DataFrame = cursor.fetch_dataframe()
print(result)
```

# Verwenden von Identitätsanbieter-Plugins
<a name="python-connect-identity-provider-plugins"></a>

Allgemeine Informationen zur Verwendung von Identitätsanbieter-Plug-ins finden Sie unter [Optionen für die Bereitstellung von IAM-Anmeldeinformationen](options-for-providing-iam-credentials.md). Weitere Informationen zur Verwaltung von IAM-Identitäten, einschließlich bewährter Methoden für IAM-Rollen, finden Sie unter [Identity and Access Management in Amazon Redshift](redshift-iam-authentication-access-control.md).

## Authentifizierung mit dem ADFS-Identitätsanbieter-Plug-In
<a name="python-connect-identity-provider-active-dir"></a>

Es folgt ein Beispiel für die Verwendung des Identitätsanbieter-Plug-Ins für den Active Directory Federation Service (ADFS), um einen Benutzer zu authentifizieren, der sich mit einer Amazon-Redshift-Datenbank verbindet.

```
>>> con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='AdfsCredentialsProvider',
    user='brooke@myadfshostname.com',
    password='Hunter2',
    idp_host='myadfshostname.com'
)
```

## Authentifizierung mit dem Azure-Identitätsanbieter-Plug-In
<a name="python-connect-identity-provider-azure"></a>

Es folgt ein Beispiel für die Authentifizierung mit dem Azure-Identitätsanbieter-Plug-In. Sie können wie folgt Werte für `client_id` und `client_secret` für eine Azure-Enterprise-Anwendung erstellen. 

```
>>>  con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='AzureCredentialsProvider',
    user='brooke@myazure.org',
    password='Hunter2',
    idp_tenant='my_idp_tenant',
    client_id='my_client_id',
    client_secret='my_client_secret',
    preferred_role='arn:aws:iam:123:role/DataScientist'
)
```

## Authentifizierung mithilfe des AWS IAM Identity Center Identity Provider-Plug-ins
<a name="python-connect-identity-provider-aws-idc"></a>

 Im Folgenden finden Sie ein Beispiel für die Authentifizierung mit dem AWS IAM Identity Center Identity Provider-Plugin. 

```
with redshift_connector.connect(
credentials_provider='BrowserIdcAuthPlugin',
host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
database='dev',
idc_region='us-east-1',
issuer_url='https://identitycenter.amazonaws.com/ssoins-790723ebe09c86f9',
idp_response_timeout=60,
listen_port=8100,
idc_client_display_name='Test Display Name',
# port value of 5439 is specified by default
)
```

## Authentifizierung mit dem Azure-Browser-Identitätsanbieter-Plug-In
<a name="python-connect-identity-provider-azure-browser"></a>

Es folgt ein Beispiel für die Verwendung des Azure-Browser-Identitätsanbieter-Plug-Ins zur Authentifizierung eines Benutzers, der sich mit einer Amazon-Redshift-Datenbank verbindet.

Die Multi-Faktor-Authentifizierung erfolgt im Browser, wo die Anmeldeinformationen vom Benutzer angegeben werden.

```
>>>con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='BrowserAzureCredentialsProvider',
    idp_tenant='my_idp_tenant',
    client_id='my_client_id',
)
```

## Authentifizierung mit dem Okta-Identitätsanbieter-Plug-In
<a name="python-connect-identity-provider-okta"></a>

Es folgt ein Beispiel für die Authentifizierung mit dem Okta-Identitätsanbieter-Plug-In. Sie können die Werte für `idp_host`, `app_id` und `app_name` über die Okta-Anwendung erhalten.

```
>>> con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='OktaCredentialsProvider',
    user='brooke@myazure.org',
    password='hunter2',
    idp_host='my_idp_host',
    app_id='my_first_appetizer',
    app_name='dinner_party'
)
```

## Authentifizierung JumpCloud mithilfe eines generischen SAML-Browser-Plug-ins für den Identitätsanbieter
<a name="python-connect-identity-provider-jumpcloud"></a>

Im Folgenden finden Sie ein Beispiel für die Verwendung JumpCloud mit einem generischen SAML-Browser-Identity-Provider-Plugin zur Authentifizierung.

Der Passwort-Parameter muss angegeben werden. Sie müssen diesen Parameter jedoch nicht eingeben, da die Multi-Faktor-Authentifizierung im Browser stattfindet.

```
>>> con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='BrowserSamlCredentialsProvider',
    user='brooke@myjumpcloud.org',
    password='',
    login_url='https://sso.jumpcloud.com/saml2/plustwo_melody'
)
```

# Beispiele für die Verwendung des Amazon-Redshift-Python-Konnektors
<a name="python-connect-examples"></a>

Im Folgenden finden Sie Beispiele zur Verwendung des Amazon-Redshift-Python-Konnektors. Um sie auszuführen, müssen Sie zuerst den Python-Konnektor installieren. Weitere Informationen zum Installieren des Python-Konnektors von Amazon Redshift finden Sie unter [Installieren des Amazon-Redshift-Python-Konnektors](python-driver-install.md). Weitere Informationen zu den Konfigurationsoptionen, die Sie mit dem Python-Konnektor verwenden können, finden Sie unter [Konfigurationsoptionen für den Amazon-Redshift-Python-Konnektor](python-configuration-options.md).

**Topics**
+ [Mit Anmeldeinformationen eine Verbindung zu einem Amazon Redshift Redshift-Cluster herstellen und ihn abfragen AWS](#python-connect-cluster)
+ [Aktivieren von Autocommit](#python-connect-enable-autocommit)
+ [Konfiguration des Paramstyle-Werts für den Cursor](#python-connect-config-paramstyle)
+ [Kopieren von Daten mit COPY aus einem Amazon-S3-Bucket und Verwenden von UNLOAD, um Daten in den Bucket zu schreiben](#python-connect-copy-unload-s3)

## Mit Anmeldeinformationen eine Verbindung zu einem Amazon Redshift Redshift-Cluster herstellen und ihn abfragen AWS
<a name="python-connect-cluster"></a>

Das folgende Beispiel zeigt Ihnen, wie Sie mithilfe Ihrer AWS Anmeldeinformationen eine Verbindung zu einem Amazon Redshift Redshift-Cluster herstellen, dann eine Tabelle abfragen und die Abfrageergebnisse abrufen.

```
#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(
     host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
     database='dev',
     port=5439,
     user='awsuser',
     password='my_password'
  )
  
# Create a Cursor object
>>> cursor = conn.cursor()

# Query a table using the Cursor
>>> cursor.execute("select * from book")
                
#Retrieve the query result set
>>> result: tuple = cursor.fetchall()
>>> print(result)
 >> (['One Hundred Years of Solitude', 'Gabriel García Márquez'], ['A Brief History of Time', 'Stephen Hawking'])
```

## Aktivieren von Autocommit
<a name="python-connect-enable-autocommit"></a>

Die Autocommit-Eigenschaft ist gemäß der Python-Datenbank-API-Spezifikation standardmäßig deaktiviert. Sie können die folgenden Befehle verwenden, um die autocommit-Eigenschaft der Verbindung nach dem Ausführen eines Rollback-Befehls zu aktivieren und sicherzustellen, dass sich keine Transaktion in Bearbeitung befindet.

```
#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(...)

# Run a rollback command
>>>  conn.rollback()

# Turn on autocommit
>>>  conn.autocommit = True
>>>  conn.run("VACUUM")

# Turn off autocommit
>>>  conn.autocommit = False
```

## Konfiguration des Paramstyle-Werts für den Cursor
<a name="python-connect-config-paramstyle"></a>

Der Paramstyle-Wert für einen Cursor kann über cursor.paramstyle geändert werden. Der verwendete Paramstyle-Standardwert ist `format`. Gültige Werte für den Parameter sind `qmark`, `numeric`, `named`, `format` und `pyformat`.

Im Folgenden finden Sie Beispiele für die Verwendung verschiedener Paramstyle-Werte, um Parameter an eine SQL-Beispielanweisung zu übergeben.

```
# qmark
redshift_connector.paramstyle = 'qmark'
sql = 'insert into foo(bar, jar) VALUES(?, ?)'
cursor.execute(sql, (1, "hello world"))

# numeric
redshift_connector.paramstyle = 'numeric'
sql = 'insert into foo(bar, jar) VALUES(:1, :2)'
cursor.execute(sql, (1, "hello world"))

# named
redshift_connector.paramstyle = 'named'
sql = 'insert into foo(bar, jar) VALUES(:p1, :p2)'
cursor.execute(sql, {"p1":1, "p2":"hello world"})

# format
redshift_connector.paramstyle = 'format'
sql = 'insert into foo(bar, jar) VALUES(%s, %s)'
cursor.execute(sql, (1, "hello world"))

# pyformat
redshift_connector.paramstyle = 'pyformat'
sql = 'insert into foo(bar, jar) VALUES(%(bar)s, %(jar)s)'
cursor.execute(sql, {"bar": 1, "jar": "hello world"})
```

## Kopieren von Daten mit COPY aus einem Amazon-S3-Bucket und Verwenden von UNLOAD, um Daten in den Bucket zu schreiben
<a name="python-connect-copy-unload-s3"></a>

Das folgende Beispiel zeigt, wie Daten aus einem Amazon-S3-Bucket in eine Tabelle kopiert und dann aus der Tabelle wieder in den Bucket entladen werden.

Eine Textdatei mit dem Namen `category_csv.txt` und den folgenden Daten wird in einen Amazon-S3-Bucket hochgeladen.

```
12,Shows,Musicals,Musical theatre
13,Shows,Plays,"All ""non-musical"" theatre"
14,Shows,Opera,"All opera, light, and ""rock"" opera"
15,Concerts,Classical,"All symphony, concerto, and choir concerts"
```

Es folgt ein Beispiel für den Python-Code, der sich zuerst mit der Amazon-Redshift-Datenbank verbindet. Anschließend wird eine Tabelle `category` erstellt und die CSV-Daten werden aus dem S3 Bucket in die Tabelle kopiert.

```
#Connect to the cluster and create a Cursor
>>> import redshift_connector
>>> with redshift_connector.connect(...) as conn:
>>> with conn.cursor() as cursor:

#Create an empty table
>>>     cursor.execute("create table category (catid int, cargroup varchar, catname varchar, catdesc varchar)")

#Use COPY to copy the contents of the S3 bucket into the empty table 
>>>     cursor.execute("copy category from 's3://testing/category_csv.txt' iam_role 'arn:aws:iam::123:role/RedshiftCopyUnload' csv;")

#Retrieve the contents of the table
>>>     cursor.execute("select * from category")
>>>     print(cursor.fetchall())

#Use UNLOAD to copy the contents of the table into the S3 bucket
>>>     cursor.execute("unload ('select * from category') to 's3://testing/unloaded_category_csv.txt'  iam_role 'arn:aws:iam::123:role/RedshiftCopyUnload' csv;")

#Retrieve the contents of the bucket
>>>     print(cursor.fetchall())
 >> ([12, 'Shows', 'Musicals', 'Musical theatre'], [13, 'Shows', 'Plays', 'All "non-musical" theatre'], [14, 'Shows', 'Opera', 'All opera, light, and "rock" opera'], [15, 'Concerts', 'Classical', 'All symphony, concerto, and choir concerts'])
```

Wenn Sie den Wert für `autocommit` nicht auf „true“ gesetzt haben, führen Sie mit `conn.commit()` einen Commit durch, nachdem Sie die `execute()`-Anweisungen ausgeführt haben.

Die Daten werden in die Datei `unloaded_category_csv.text0000_part00` im S3-Bucket mit folgendem Inhalt entladen:

```
12,Shows,Musicals,Musical theatre
13,Shows,Plays,"All ""non-musical"" theatre"
14,Shows,Opera,"All opera, light, and ""rock"" opera"
15,Concerts,Classical,"All symphony, concerto, and choir concerts"
```

# API-Referenz für den Amazon-Redshift-Python-Konnektor
<a name="python-api-reference"></a>

Im Folgenden finden Sie eine Beschreibung der API-Operationen des Amazon-Redshift-Python-Konnektors.

## redshift\$1connector
<a name="python-api-redshift_connector"></a>

Im Folgenden finden Sie eine Beschreibung der `redshift_connector` API-Operation.

`connect(user, database, password[, port, …])`  
Stellt eine Verbindung zu einem Amazon-Redshift-Cluster her. Diese Funktion validiert Benutzereingaben, authentifiziert sich optional mit einem Identitätsanbieter-Plug-In und erstellt dann ein Verbindungsobjekt.

`apilevel`  
Die unterstützte DBAPI-Ebene, derzeit „2.0".

`paramstyle``str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str`  
Der global zu verwendende Datenbank-API-Parameterstil.

## Verbindung
<a name="python-api-connection"></a>

Im Folgenden finden Sie eine Beschreibung der Verbindungs-API-Operationen für den Amazon-Redshift-Python-Konnektor.

`__init__(user, password, database[, host, …])`  
Initialisiert ein rohes Verbindungsobjekt.

`cursor`  
Erstellt ein Cursor-Objekt, das an diese Verbindung gebunden ist.

`commit`  
Führt einen Commit der aktuellen Datenbanktransaktion aus.

`rollback`  
Rollt die aktuelle Datenbanktransaktion zurück.

`close`  
Schließt die Datenbankverbindung.

`execute(cursor, operation, vals)`  
Führt den angegebenen SQL-Befehl aus. Sie können die Parameter als Sequenz oder als Mapping angeben, abhängig vom Wert von `redshift_connector.paramstyle`.

`run(sql[, stream])`  
Führt den angegebenen SQL-Befehl aus. Optional können Sie einen Stream zur Verwendung mit dem Befehl COPY bereitstellen.

`xid(format_id, global_transaction_id, …)`  
Erstellen Sie eine Transaktions-ID. Nur der `global_transaction_id`-Parameter wird in Postgres verwendet. format\$1id und branch\$1qualifier werden nicht in Postgres verwendet. Der `global_transaction_id` kann jeder String-Bezeichner sein, der von Postgres unterstützt wird und ein Tupel zurückgibt (`format_id`, `global_transaction_id`, `branch_qualifier`).

`tpc_begin(xid)`  
Startet eine TPC-Transaktion mit einer Transaktions-ID `xid` bestehend aus einer Format-ID, einer globalen Transaktions-ID und einem Branch Qualifier. 

`tpc_prepare`  
Führt die erste Phase einer mit .tpc\$1begin gestarteten Transaktion aus.

`tpc_commit([xid])`  
Wenn es ohne Argumente aufgerufen wird, führt .tpc\$1commit einen Commit für eine TPC-Transaktion aus, die zuvor mit .tpc\$1prepare() vorbereitet wurde.

`tpc_rollback([xid])`  
Wenn es ohne Argumente aufgerufen wird, rollt .tpc\$1rollback eine TPC-Transaktion zurück.

`tpc_recover`  
Gibt eine Liste ausstehender Transaktionen zurück, die für die Verwendung mit .tpc\$1commit (xid) oder .tpc\$1rollback (xid) IDs geeignet sind.

## Cursor
<a name="python-api-cursor"></a>

Im Folgenden finden Sie eine Beschreibung der Cursor-API-Operation.

`__init__(connection[, paramstyle])`  
Initialisiert ein rohes Cursor-Objekt.

`insert_data_bulk(filename, table_name, parameter_indices, column_names, delimiter, batch_size)`  
Führt eine Massen-INSERT-Anweisung aus.

`execute(operation[, args, stream, …])`  
Führt einen Datenbankvorgang aus.

`executemany(operation, param_sets)`  
Bereitet einen Datenbankvorgang vor und führt ihn dann für alle bereitgestellten Parametersequenzen oder Mappings aus.

`fetchone`  
Ruft die nächste Zeile eines Abfrageergebnissatzes ab.

`fetchmany([num])`  
Ruft die nächste Reihe von Zeilen eines Abfrageergebnisses ab.

`fetchall`  
Ruft alle verbleibenden Zeilen eines Abfrageergebnisses ab.

`close`  
Schließt den Cursor jetzt. 

`__iter__`  
Ein Cursorobjekt kann iteriert werden, um die Zeilen aus einer Abfrage abzurufen.

`fetch_dataframe([num])`  
Gibt einen Datenrahmen der letzten Abfrageergebnisse zurück.

`write_dataframe(df, table)`  
Schreibt denselben Strukturdatenrahmen in eine Amazon-Redshift-Datenbank.

`fetch_numpy_array([num])`  
 NumPy Gibt ein Array der letzten Abfrageergebnisse zurück.

`get_catalogs`  
Amazon Redshift unterstützt nicht mehrere Kataloge über eine einzige Verbindung. Amazon Redshift gibt nur den aktuellen Katalog zurück.

`get_tables([catalog, schema_pattern, …])`  
Gibt die eindeutigen öffentlichen Tabellen zurück, die innerhalb des Systems benutzerdefiniert sind.

`get_columns([catalog, schema_pattern, …])`  
Gibt eine Liste aller Spalten in einer bestimmten Tabelle einer Amazon-Redshift-Datenbank zurück.

## AdfsCredentialsProvider Plugin
<a name="python-adfs-credentials-plugin"></a>

Im Folgenden finden Sie die Syntax für den AdfsCredentialsProvider Plugin-API-Vorgang für den Amazon Redshift Python-Konnektor. 

```
redshift_connector.plugin.AdfsCredentialsProvider()
```

## AzureCredentialsProvider Plugin
<a name="python-azure-credentials-plugin"></a>

Im Folgenden finden Sie die Syntax für den AzureCredentialsProvider Plugin-API-Vorgang für den Amazon Redshift Python-Konnektor.

```
redshift_connector.plugin.AzureCredentialsProvider()
```

## BrowserAzureCredentialsProvider Plugin
<a name="python-browser-azure-credentials-plugin"></a>

Im Folgenden finden Sie die Syntax für den BrowserAzureCredentialsProvider Plugin-API-Vorgang für den Amazon Redshift Python-Konnektor.

```
redshift_connector.plugin.BrowserAzureCredentialsProvider()
```

## BrowserSamlCredentialsProvider Plugin
<a name="python-browser-saml-credentials-plugin"></a>

Im Folgenden finden Sie die Syntax für den BrowserSamlCredentialsProvider Plugin-API-Vorgang für den Amazon Redshift Python-Konnektor.

```
redshift_connector.plugin.BrowserSamlCredentialsProvider()
```

## OktaCredentialsProvider Plugin
<a name="python-okta-credentials-plugin"></a>

Im Folgenden finden Sie die Syntax für den OktaCredentialsProvider Plugin-API-Vorgang für den Amazon Redshift Python-Konnektor.

```
redshift_connector.plugin.OktaCredentialsProvider()
```

## PingCredentialsProvider Plugin
<a name="python-ping-credentials-plugin"></a>

Im Folgenden finden Sie die Syntax für den PingCredentialsProvider Plugin-API-Vorgang für den Amazon Redshift Python-Konnektor.

```
redshift_connector.plugin.PingCredentialsProvider()
```

## SamlCredentialsProvider Plugin
<a name="python-saml-credentials-plugin"></a>

Im Folgenden finden Sie die Syntax für den SamlCredentialsProvider Plugin-API-Vorgang für den Amazon Redshift Python-Konnektor.

```
redshift_connector.plugin.SamlCredentialsProvider()
```

# Amazon-Redshift-Integration für Apache Spark
<a name="spark-redshift-connector"></a>

 [Apache Spark](https://aws.amazon.com/emr/features/spark/) ist ein verteiltes Verarbeitungs-Framework und Programmiermodell, mit dem Sie Machine Learning, Stream-Verarbeitung oder Graph-Analysen durchführen können. Ähnlich wie Apache Hadoop ist Spark ein verteiltes Open-Source-Verarbeitungssystem, das häufig für Big-Data-Workloads verwendet wird. Spark verfügt über eine optimierte Engine zur Ausführung gerichteter azyklischer Graphen und speichert Daten aktiv im In-Memory-Cache. Dies kann die Leistung steigern, insbesondere bei bestimmten Algorithmen und interaktiven Abfragen. 

 Mit dieser Integration erhalten Sie einen Spark-Connector, mit dem Sie Apache-Spark-Anwendungen erstellen können, die Daten in Amazon Redshift und Amazon Redshift Serverless lesen und schreiben. Diese Anwendungen gehen keine Kompromisse bei der Anwendungsleistung oder der transaktionalen Konsistenz der Daten ein. Diese Integration ist automatisch in [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/) und [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/) enthalten, sodass Sie sofort Apache-Spark-Aufträge ausführen können, die im Rahmen Ihrer Datenerfassungs- und Transformationspipelines auf Daten zugreifen und diese in Amazon Redshift laden. 

Derzeit können Sie die Versionen 3.3.x, 3.4.x, 3.5.x und 4.0.0 von Spark mit dieser Integration verwenden.

 Diese Integration bietet Folgendes: 
+  AWS Identity and Access Management (IAM) -Authentifizierung. Weitere Informationen finden Sie unter [Identity and Access Management in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html). 
+ Prädikat- und Abfrage-Pushdown zur Verbesserung der Leistung.
+  Amazon-Redshift-Datentypen. 
+ Konnektivität mit Amazon Redshift und Amazon Redshift Serverless.

## Überlegungen und Einschränkungen bei der Verwendung des Spark-Connectors
<a name="spark-redshift-connector-considerations"></a>
+  Die Tempdir-URI verweist auf einen Amazon-S3-Speicherort. Dieses temporäre Verzeichnis wird nicht automatisch bereinigt und kann zusätzliche Kosten verursachen. Wir empfehlen, die [Lebenszyklusrichtlinien für Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) im *Benutzerhandbuch für Amazon Simple Storage Service* zu verwenden, um die Aufbewahrungsregeln für den Amazon-S3-Bucket zu definieren. 
+  Standardmäßig funktionieren Kopien zwischen Amazon S3 und Redshift nicht, wenn sich der S3-Bucket und der Redshift-Cluster in verschiedenen AWS Regionen befinden. Um separate AWS Regionen zu verwenden, setzen Sie den `tempdir_region` Parameter auf die Region des S3-Buckets, der für den verwendet wird. `tempdir`
+ Regionsübergreifende Schreibvorgänge zwischen S3 und Redshift beim Schreiben von Parquet-Daten mit dem `tempformat`-Parameter.
+ Wir empfehlen die Verwendung der [serverseitigen Amazon-S3-Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html), um die verwendeten Amazon-S3-Buckets zu verschlüsseln. 
+ Wir empfehlen, [den öffentlichen Zugriff auf Amazon-S3-Buckets zu blockieren](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html). 
+  Wir empfehlen, den Amazon-Redshift-Cluster nicht öffentlich zugänglich zu machen. 
+  Wir empfehlen, die [Amazon-Redshift-Auditprotokollierung](https://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html) zu aktivieren. 
+  Wir empfehlen, die [Amazon-Redshift-Verschlüsselung im Ruhezustand](https://docs.aws.amazon.com/redshift/latest/mgmt/security-server-side-encryption.html) zu aktivieren. 
+  Wir empfehlen, SSL für die JDBC-Verbindung von Spark auf Amazon EMR zu Amazon Redshift zu aktivieren. 
+ Wir empfehlen, eine IAM-Rolle mit dem Parameter `aws_iam_role` für den Amazon-Redshift-Authentifizierungsparameter zu übergeben.

# Authentifizierung mit dem Spark-Connector
<a name="redshift-spark-connector-authentication"></a>

Das folgende Diagramm beschreibt die Authentifizierung zwischen Amazon S3, Amazon Redshift, dem Spark-Treiber und Spark-Executors.

![\[Dieses Diagramm stellt die Authentifizierung des Spark-Connectors dar.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/spark-connector-authentication.png)


## Authentifizierung zwischen Redshift und Spark
<a name="redshift-spark-authentication"></a>

 Sie können den von Amazon Redshift bereitgestellten JDBC-Treiber Version 2.x verwenden, um durch die Angabe von Anmeldeinformationen mit dem Spark-Connector eine Verbindung mit Amazon Redshift herzustellen. Wenn Sie IAM verwenden möchten, [konfigurieren Sie Ihre JDBC-URL so, dass die IAM-Authentifizierung verwendet wird](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-configure-jdbc-odbc.html). Um von Amazon EMR oder aus eine Verbindung zu einem Redshift-Cluster herzustellen AWS Glue, stellen Sie sicher, dass Ihre IAM-Rolle über die erforderlichen Berechtigungen zum Abrufen temporärer IAM-Anmeldeinformationen verfügt. In der folgenden Liste werden alle Berechtigungen beschrieben, die Ihre IAM-Rolle benötigt, um Anmeldeinformationen abzurufen und Amazon-S3-Operationen auszuführen. 
+ [Redshift: GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html) (für bereitgestellte Redshift-Cluster)
+ [Redshift: DescribeClusters](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html) (für bereitgestellte Redshift-Cluster)
+ [Redshift: GetWorkgroup](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_GetWorkgroup.html) (für serverlose Amazon Redshift Redshift-Arbeitsgruppen)
+ [Redshift: GetCredentials](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_GetCredentials.html) (für serverlose Amazon Redshift Redshift-Arbeitsgruppen)
+ [s3: ListBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
+ [s3: GetBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html)
+ [s3: GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [s3: PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [s3: GetBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html)

 Weitere Informationen zu finden Sie GetClusterCredentials unter [IAM-Richtlinien für GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#redshift-policy-resources.getclustercredentials-resources). 

Sie müssen außerdem sicherstellen, dass Amazon Redshift die IAM-Rolle während `COPY`- und `UNLOAD`-Operationen übernehmen kann.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "redshift.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Wenn Sie den aktuellen JDBC-Treiber verwenden, verwaltet der Treiber die Umstellung von einem selbstsignierten Amazon-Redshift-Zertifikat auf ein ACM-Zertifikat automatisch. Sie müssen jedoch [die SSL-Optionen für die JDBC-URL angeben](https://docs.aws.amazon.com/redshift/latest/mgmt/jdbc20-configuration-options.html#jdbc20-ssl-option). 

 Im Folgenden finden Sie ein Beispiel dafür, wie Sie die JDBC-Treiber-URL und `aws_iam_role` angeben, um eine Verbindung mit Amazon Redshift herstellen. 

```
df.write \
  .format("io.github.spark_redshift_community.spark.redshift ") \
  .option("url", "jdbc:redshift:iam://<the-rest-of-the-connection-string>") \
  .option("dbtable", "<your-table-name>") \
  .option("tempdir", "s3a://<your-bucket>/<your-directory-path>") \
  .option("aws_iam_role", "<your-aws-role-arn>") \
  .mode("error") \
  .save()
```

## Authentifizierung zwischen Amazon S3 und Spark
<a name="spark-s3-authentication"></a>

 Wenn Sie eine IAM-Rolle für die Authentifizierung zwischen Spark und Amazon S3 verwenden, nutzen Sie eine der folgenden Methoden: 
+ Das AWS SDK for Java versucht automatisch, AWS Anmeldeinformationen zu finden, indem es die von der AWSCredentials ProviderChain Default-Klasse implementierte Standard-Anmeldeinformationsanbieterkette verwendet. Weitere Informationen finden Sie unter [Verwenden der standardmäßigen Anbieterkette von Anmeldeinformationen](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default).
+ Sie können AWS Schlüssel über die [Hadoop-Konfigurationseigenschaften](https://github.com/apache/hadoop/blob/trunk/hadoop-tools/hadoop-aws/src/site/markdown/tools/hadoop-aws/index.md) angeben. Wenn Ihre `tempdir`-Konfiguration beispielsweise auf ein `s3n://`-Dateisystem verweist, legen Sie die Eigenschaften `fs.s3n.awsAccessKeyId` und `fs.s3n.awsSecretAccessKey` in einer Hadoop-XML-Konfigurationsdatei fest oder rufen Sie `sc.hadoopConfiguration.set()` auf, um die globale Hadoop-Konfiguration von Spark zu ändern.

Wenn Sie beispielsweise das s3n-Dateisystem verwenden, fügen Sie Folgendes hinzu:

```
sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "YOUR_KEY_ID")
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", "YOUR_SECRET_ACCESS_KEY")
```

Fügen Sie für das s3a-Dateisystem Folgendes hinzu:

```
sc.hadoopConfiguration.set("fs.s3a.access.key", "YOUR_KEY_ID")
sc.hadoopConfiguration.set("fs.s3a.secret.key", "YOUR_SECRET_ACCESS_KEY")
```

Wenn Sie Python verwenden, verwenden Sie die folgenden Operationen:

```
sc._jsc.hadoopConfiguration().set("fs.s3n.awsAccessKeyId", "YOUR_KEY_ID")
sc._jsc.hadoopConfiguration().set("fs.s3n.awsSecretAccessKey", "YOUR_SECRET_ACCESS_KEY")
```
+ Codieren Sie die Authentifizierungsschlüssel in der `tempdir`-URL. Beispielsweise codiert die URI `s3n://ACCESSKEY:SECRETKEY@bucket/path/to/temp/dir` das Schlüsselpaar (`ACCESSKEY`, `SECRETKEY`).

## Authentifizierung zwischen Redshift und Amazon S3
<a name="redshift-s3-authentication"></a>

 Wenn Sie die Befehle COPY und UNLOAD in der Abfrage verwenden, müssen Sie Amazon S3 außerdem Zugriff auf Amazon Redshift gewähren, um Abfragen in Ihrem Namen auszuführen. [Autorisieren Sie dazu zunächst Amazon Redshift für den Zugriff auf andere AWS Services und autorisieren](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html) Sie dann die [COPY- und UNLOAD-Operationen](https://docs.aws.amazon.com/redshift/latest/mgmt/copy-unload-iam-role.html) mithilfe von IAM-Rollen. 

Als bewährte Methode empfehlen wir, einer IAM-Rolle Berechtigungsrichtlinien anzufügen und sie dann nach Bedarf Benutzern und Gruppen zuzuweisen. Weitere Informationen finden Sie unter [Identity and Access Management in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html).

## Integration mit AWS Secrets Manager
<a name="redshift-secrets-manager-authentication"></a>

Sie können Ihren Redshift-Benutzernamen und Ihr Passwort aus einem gespeicherten Secret in AWS Secrets Manager abrufen. Wenn Sie Redshift-Anmeldeinformationen automatisch bereitstellen möchten, verwenden Sie den `secret.id`-Parameter. Weitere Informationen zum Erstellen eines Secrets für Redshift-Anmeldeinformationen Sie unter [Erstellen eines AWS Secrets Manager -Datenbank-Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_database_secret.html).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/redshift-spark-connector-authentication.html)

**Anmerkung**  
 Danksagung: Diese Dokumentation enthält Beispielcode und Sprache, die von der [Apache Software Foundation](http://www.apache.org/) entwickelt wurden und unter der [Apache-2.0-Lizenz](https://www.apache.org/licenses/LICENSE-2.0) lizenziert sind. 

# Leistungsverbesserungen mit Pushdown
<a name="spark-redshift-connector-pushdown"></a>

 Der Spark-Connector wendet automatisch Prädikat- und Abfrage-Pushdown an, um die Leistung zu optimieren. Diese Unterstützung bedeutet, dass der Spark-Connector, wenn Sie eine unterstützte Funktion in der Abfrage verwenden, diese Funktion in eine SQL-Abfrage umwandelt und die Abfrage in Amazon Redshift ausführt. Durch diese Optimierung werden weniger Daten abgerufen, sodass Apache Spark weniger Daten verarbeiten und eine bessere Leistung erzielen kann. Standardmäßig ist Pushdown automatisch aktiviert. Zum Deaktivieren muss `autopushdown` auf „false“ festgelegt werden. 

```
import sqlContext.implicits._val 
 sample= sqlContext.read
    .format("io.github.spark_redshift_community.spark.redshift")
    .option("url",jdbcURL )
    .option("tempdir", tempS3Dir)
    .option("dbtable", "event")
    .option("autopushdown", "false")
    .load()
```

 Die folgenden Funktionen werden mit Pushdown unterstützt. Wenn Sie eine Funktion verwenden, die nicht in dieser Liste enthalten ist, führt der Spark-Connector die Funktion in Spark anstatt in Amazon Redshift aus, was dazu führt, dass die Leistung nicht optimiert ist. Eine vollständige Liste der Funktionen in Spark finden Sie unter [Built-in Functions](https://spark.apache.org/docs/latest/api/sql/index.html) (Eingebaute Funktionen). 
+ Aggregationsfunktionen
  + avg
  + count
  + max
  + min
  + sum
  + stddev\$1samp
  + stddev\$1pop
  + var\$1samp
  + var\$1pop
+ Boolesche Operatoren
  + in
  + isnull
  + isnotnull
  + enthält
  + endswith
  + startswith
+ Logische Operatoren
  + und
  + oder
  + nicht (oder \$1)
+ Mathematische Funktionen
  + \$1
  + -
  + \$1
  + /
  + - (unär)
  + abs
  + acos
  + asin
  + atan
  + ceil
  + cos
  + exp
  + floor
  + greatest
  + least
  + log10
  + pi
  + pow
  + round
  + sin
  + sqrt
  + tan
+ Verschiedene Funktionen
  + cast
  + COALESCE
  + Dezimalwert
  + if
  + in
+ Relationale Operatoren
  + \$1=
  + =
  + >
  + >=
  + <
  + <=
+ Zeichenfolgenfunktionen
  + ascii
  + lpad
  + rpad
  + translate
  + upper
  + lower
  + length
  + trim
  + ltrim
  + rtrim
  + like
  + substring
  + concat
+ Funktionen für Datum/Uhrzeit
  + add\$1months
  + date
  + date\$1add
  + date\$1sub
  + date\$1trunc
  + Zeitstempel
  + trunc
+ Mathematische Operationen
  + CheckOverflow
  + PromotePrecision
+ Relationale Operationen
  + Aliase (zum Beispiel AS)
  + CaseWhen
  + Distinct
  + InSet
  + Verknüpfungen und Cross-Joins
  + Einschränkungen
  + Unions, union all
  + ScalarSubquery
  + Sorts (aufsteigend und absteigend)
  + UnscaledValue

# Andere Konfigurationsoptionen
<a name="spark-redshift-connector-other-config"></a>

Auf dieser Seite finden Sie Beschreibungen für die Optionen, die Sie für den Spark-Konnektor von Amazon Redshift angeben können.

## Maximale Größe von Zeichenfolgenspalten
<a name="spark-redshift-connector-other-config-max-size"></a>

Während des Erstellens von Tabellen erstellt Redshift Zeichenfolgespalten als Textspalten, die als VARCHAR(256) gespeichert werden. Wenn Sie Spalten benötigen, die größere Größen unterstützen, können Sie die maximale Länge von Zeichenfolgespalten mithilfe von maxlength angeben. Nachstehend finden Sie ein Beispiel zum Angeben von `maxlength`. 

```
columnLengthMap.foreach { case (colName, length) =>
  val metadata = new MetadataBuilder().putLong("maxlength", length).build()
  df = df.withColumn(colName, df(colName).as(colName, metadata))
}
```

## Typ der Spalte
<a name="spark-redshift-connector-other-config-column-type"></a>

Verwenden Sie das Feld `redshift_type`, um einen Spaltentyp festzulegen.

```
columnTypeMap.foreach { case (colName, colType) =>
  val metadata = new MetadataBuilder().putString("redshift_type", colType).build()
  df = df.withColumn(colName, df(colName).as(colName, metadata))
}
```

## Kompressionskodierung für eine Spalte
<a name="spark-redshift-connector-other-config-compression-encoding"></a>

 Verwenden Sie das Kodierungsfeld, um eine spezifische Kompressionskodierung für eine Spalte zu verwenden. Eine vollständige Liste der unterstützten Kompressionskodierungen finden Sie unter [Kompressionskodierungen](https://docs.aws.amazon.com/redshift/latest/dg/c_Compression_encodings.html). 

## Beschreibung für eine Spalte.
<a name="spark-redshift-connector-other-config-description"></a>

Verwenden Sie das Feld `description`, um eine Beschreibung anzugeben.

## Authentifizierung zwischen Redshift und Amazon S3
<a name="spark-redshift-connector-other-config-unload-as-text"></a>

 Standardmäßig wird das Ergebnis im Parquet-Format in Amazon S3 entladen. Geben Sie folgende Option an, um das Ergebnis als Textdatei mit Pipe-Trennzeichen zu entladen. 

```
.option("unload_s3_format", "TEXT")
```

## Pushdown-Anweisungen
<a name="spark-redshift-connector-other-config-lazy-pushdown"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/spark-redshift-connector-other-config.html)

## Connector-Parameter
<a name="spark-redshift-connector-other-config-spark-parameters"></a>

Die Parameterzuordnung oder `OPTIONS` in Spark SQL unterstützt die folgenden Einstellungen.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/spark-redshift-connector-other-config.html)

**Anmerkung**  
 Danksagung: Diese Dokumentation enthält Beispielcode und Sprache, die von der [Apache Software Foundation](http://www.apache.org/) entwickelt wurden und unter der [Apache-2.0-Lizenz](https://www.apache.org/licenses/LICENSE-2.0) lizenziert sind. 

# Unterstützte Datentypen
<a name="spark-redshift-connector-data-types"></a>

Die folgenden Datentypen in Amazon Redshift werden im Spark-Connector unterstützt. Eine vollständige Liste der unterstützten Datentypen in Amazon Redshift finden Sie unter [Datentypen](https://docs.aws.amazon.com//redshift/latest/dg/c_Supported_data_types.html). Wenn ein Datentyp nicht in der folgenden Tabelle enthalten ist, wird er im Spark-Connector nicht unterstützt.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/spark-redshift-connector-data-types.html)

## Komplexe Datentypen
<a name="spark-redshift-connector-complex-data-types"></a>

 Sie können den Spark-Connector verwenden, um komplexe Spark-Datentypen zu lesen und zu schreiben, z. B. `ArrayType`, `MapType` und `StructType` zu und von Redshift SUPER-Datentypspalten. Wenn Sie während eines Lesevorgangs ein Schema angeben, werden in Spark die Daten in der Spalte in die entsprechenden komplexen Typen konvertiert, einschließlich aller verschachtelten Typen. Wenn darüber hinaus `autopushdown` aktiviert ist, wird die Projektion von verschachtelten Attributen, Map-Werten und Array-Indizes nach Redshift verschoben, sodass die gesamte verschachtelte Datenstruktur nicht mehr entladen werden muss, wenn nur auf einen Teil der Daten zugegriffen wird. 

Wenn Sie vom Konnektor DataFrames aus schreiben, `ArrayType` wird jede Spalte vom Typ `MapType` (using`StringType`)`StructType`, oder in eine Redshift SUPER-Datentypspalte geschrieben. Beim Schreiben dieser verschachtelten Datenstrukturen muss der `tempformat`-Parameter vom Typ `CSV`, `CSV GZIP` oder `PARQUET` sein. Die Verwendung von `AVRO` löst eine Ausnahme aus. Das Schreiben einer `MapType`-Datenstruktur, die einen anderen Schlüsseltyp als `StringType`hat, verursacht auch eine Ausnahme. 

### StructType
<a name="spark-redshift-connector-complex-data-types-examples-structtype"></a>

Das folgende Beispiel zeigt, wie eine Tabelle mit einem SUPER-Datentyp erstellt wird, der eine Struktur enthält

```
create table contains_super (a super);
```

Anschließend können Sie den Connector wie im folgenden Beispiel verwenden, um ein `StringType`-Feld `hello` aus der SUPER-Spalte `a` in der Tabelle mit einem Schema abzufragen.

```
import org.apache.spark.sql.types._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", StructType(StructField("hello", StringType) ::Nil)) :: Nil)

val helloDF = sqlContext.read
.format("io.github.spark_redshift_community.spark.redshift")
.option("url", jdbcURL )
.option("tempdir", tempS3Dir)
.option("dbtable", "contains_super")
.schema(schema)
.load().selectExpr("a.hello")
```

Das folgende Beispiel zeigt, wie eine Struktur in die Spalte `a` geschrieben wird.

```
import org.apache.spark.sql.types._
import org.apache.spark.sql._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", StructType(StructField("hello", StringType) ::Nil)) :: Nil)
val data = sc.parallelize(Seq(Row(Row("world"))))
val mydf = sqlContext.createDataFrame(data, schema)

mydf.write.format("io.github.spark_redshift_community.spark.redshift").
option("url", jdbcUrl).
option("dbtable", tableName).
option("tempdir", tempS3Dir).
option("tempformat", "CSV").
mode(SaveMode.Append).save
```

### MapType
<a name="spark-redshift-connector-complex-data-types-examples-maptype"></a>

Wenn Sie lieber `MapType` verwenden, um Ihre Daten darzustellen, dann können Sie eine `MapType`-Datenstruktur in Ihrem Schema verwenden und den Wert abrufen, der dem Schlüssel in der Map entspricht. Beachten Sie, dass alle Schlüssel in Ihrer `MapType`-Datenstruktur vom Typ Zeichenfolge und alle Werte vom gleichen Typ sein müssen, z. B. int. 

Das folgende Beispiel zeigt, wie der Wert des Schlüssels `hello` in der Spalte `a` abgerufen wird.

```
import org.apache.spark.sql.types._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", MapType(StringType, IntegerType))::Nil)

val helloDF = sqlContext.read
    .format("io.github.spark_redshift_community.spark.redshift")
    .option("url", jdbcURL )
    .option("tempdir", tempS3Dir)
    .option("dbtable", "contains_super")
    .schema(schema)
    .load().selectExpr("a['hello']")
```

### ArrayType
<a name="spark-redshift-connector-complex-data-types-examples-arraytype"></a>

Wenn die Spalte ein Array statt einer Struktur enthält, können Sie den Connector verwenden, um das erste Element im Array abzufragen.

```
import org.apache.spark.sql.types._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", ArrayType(IntegerType)):: Nil)

val helloDF = sqlContext.read
    .format("io.github.spark_redshift_community.spark.redshift")
    .option("url", jdbcURL )
    .option("tempdir", tempS3Dir)
    .option("dbtable", "contains_super")
    .schema(schema)
    .load().selectExpr("a[0]")
```

### Einschränkungen
<a name="spark-redshift-connector-complex-data-types-limitations"></a>

Die Verwendung komplexer Datentypen mit dem Spark-Connector hat die folgenden Einschränkungen:
+ Alle verschachtelten Strukturfeldnamen und Map-Schlüssel müssen in Kleinbuchstaben geschrieben werden. Wenn Sie komplexe Feldnamen mit Großbuchstaben abfragen, können Sie versuchen, das Schema wegzulassen und die `from_json`-Spark-Funktion zur lokalen Konvertierung der zurückgegebenen Zeichenfolge als Problemumgehung zu verwenden.
+ Alle Map-Felder, die bei Lese- oder Schreiboperationen verwendet werden, dürfen nur `StringType`-Schlüssel haben.
+ Es werden nur die Tempformat-Werte `CSV`, `CSV GZIP` und `PARQUET ` für das Schreiben komplexer Typen nach Redshift unterstützt. Der Versuch `AVRO ` zu verwenden, löst eine Ausnahme aus.

# Konfigurieren einer Verbindung für ODBC-Treiberversion 2.x für Amazon Redshift
<a name="odbc20-install"></a>

Für zahlreiche SQL-Client-Tools und Anwendungen von Drittanbietern können Sie eine ODBC-Verbindung verwenden, um Ihren Amazon-Redshift-Cluster zu verbinden. Wenn Ihr Client-Tool JDBC unterstützt, können Sie aufgrund der einfachen Konfiguration, die JDBC bietet, diesen Verbindungstyp anstelle von ODBC verwenden. Wenn Ihr Client-Tool JDBC jedoch nicht unterstützt, können Sie die Schritte in diesem Abschnitt befolgen, um eine ODBC-Verbindung auf Ihrem Client-Computer oder Ihrer Amazon-EC2-Instance einzurichten.

Amazon Redshift bietet 64-Bit-ODBC-Treiber für Linux-, Windows- und Mac-Betriebssysteme; die 32-Bit-ODBC-Treiber sind nicht mehr verfügbar. Weitere Updates für die 32-Bit-ODBC-Treiber werden nicht veröffentlicht, außer für dringende Sicherheitspatches.

Aktuelle Informationen zu ODBC-Treiberänderungen finden Sie im [Änderungsprotokoll](https://github.com/aws/amazon-redshift-odbc-driver/blob/master/CHANGELOG.md).

**Topics**
+ [Abrufen der ODBC-URL](odbc20-getting-url.md)
+ [Verwenden eines ODBC-Treibers von Amazon Redshift unter Microsoft Windows](odbc20-install-config-win.md)
+ [Verwenden eines ODBC-Treibers für Amazon Redshift unter Linux](odbc20-install-config-linux.md)
+ [Verwenden eines Amazon Redshift ODBC-Treibers auf Apple macOS](odbc20-install-config-mac.md)
+ [Authentifizierungsmethoden](odbc20-authentication-ssl.md)
+ [Datentypkonvertierungen](odbc20-converting-data-types.md)
+ [ODBC-Treiberoptionen](odbc20-configuration-options.md)
+ [Frühere ODBC-Treiberversionen](odbc20-previous-versions.md)

# Abrufen der ODBC-URL
<a name="odbc20-getting-url"></a>

Amazon Redshift zeigt die ODBC-URL für Ihren Cluster in der Amazon-Redshift-Konsole an. Diese URL enthält die erforderlichen Informationen, um die Verbindung zwischen Ihrem Client-Computer und der Datenbank herzustellen.

Eine ODBC-URL hat folgenden Format: 

```
Driver={driver}; Server=endpoint_host; Database=database_name; UID=user_name; PWD=password; Port=port_number
```

Die Felder des vorhergehenden Formats haben die folgenden Werte:


| Feld | Value (Wert) | 
| --- | --- | 
| Driver | Der Name des zu verwendenden 64-Bit-ODBC-Treibers: Amazon Redshift ODBC Driver (x64) (Amazon-Redshift-ODBC-Treiber (x64)) | 
| Server | Der Endpunkt-Host des Amazon-Redshift-Clusters. | 
| Database | Die Datenbank, die Sie für Ihren Cluster erstellt haben. | 
| UID | Der Benutzername eines Datenbankbenutzerkontos, das die Berechtigung für die Verbindung mit der Datenbank besitzt. Obwohl es sich bei diesem Wert um eine Berechtigung auf Datenbankebene und nicht um eine Berechtigung auf Clusterebene handelt, können Sie das Redshift-Admin-Benutzerkonto verwenden, das Sie beim Starten des Clusters eingerichtet haben. | 
| PWD | Das Passwort für das Datenbankbenutzerkonto, um die Verbindung mit der Datenbank herzustellen. | 
| Port | Die Portnummer, die Sie beim Starten des Clusters angegeben haben. Wenn Sie eine Firewall haben, stellen Sie sicher, dass dieser Port geöffnet ist, sodass Sie ihn verwenden können. | 

Im Folgenden finden Sie ein Beispiel für eine ODBC-URL: 

```
Driver={Amazon Redshift ODBC Driver (x64)}; Server=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com; Database=dev; UID=adminuser; PWD=insert_your_admin_user_password_here; Port=5439
```

Informationen darüber, wo Sie die ODBC-URL finden können, finden Sie unter [Suchen Ihrer Cluster-Verbindungszeichenfolge](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html#connecting-connection-string). 

# Verwenden eines ODBC-Treibers von Amazon Redshift unter Microsoft Windows
<a name="odbc20-install-config-win"></a>

Sie müssen den Amazon-Redshift-ODBC-Treiber auf Client-Computern installieren, die auf ein Amazon-Redshift-Data-Warehouse zugreifen. Für jeden Computer, auf dem Sie den Treiber installieren, gelten die folgenden Mindestanforderungen: 
+ Administratorrechte auf dem Computer. 
+ Der Computer erfüllt die folgenden Systemanforderungen:
  + Eines der folgenden Betriebssysteme:
    + Windows 10 oder 8.1.
    + Windows Server 2019, 2016 oder 2012.
  + 100 MB verfügbarer Speicherplatz.
  + Visual C\$1\$1 Redistributable für Visual Studio 2015 für 64-Bit-Windows installiert. Sie können das Installationspaket unter [Download von Visual C\$1\$1 Redistributable für Visual Studio 2022](https://visualstudio.microsoft.com/downloads/#microsoft-visual-c-redistributable-for-visual-studio-2022) auf der Microsoft-Website herunterladen.

# Herunterladen und Installieren des ODBC-Treibers für Amazon Redshift
<a name="odbc20-install-win"></a>

Gehen Sie wie folgt vor, um den Amazon-Redshift-ODBC-Treiber für Windows-Betriebssysteme herunterzuladen und zu installieren. Verwenden Sie nur dann einen anderen Treiber, wenn Sie eine Drittanbieteranwendung ausführen, die für die Verwendung mit Amazon Redshift zertifiziert ist, und diese Anwendung diesen speziellen Treiber erfordert.

So laden Sie den ODBC-Treiber herunter und installieren ihn: 

1. Laden Sie den folgenden Treiber herunter: [64-Bit-ODBC-Treiberversion 2.1.15.0](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC64-2.1.15.0.msi) 2.1.15.0

   Der Name für diesen Treiber lautet **Amazon-Redshift ODBC Driver (x64)** (Amazon-Redshift-ODBC-Treiber (x64)).

1. Überprüfen Sie die [Amazon-Redshift-ODBC-Treiberversion 2.x-Lizenz](https://github.com/aws/amazon-redshift-odbc-driver/blob/master/LICENSE).

1. Doppelklicken Sie auf die .msi-Datei und befolgen Sie dann die Schritte im Assistenten, um den Treiber zu installieren.

# Erstellen eines System-DSN-Eintrags für eine ODBC-Verbindung
<a name="odbc20-dsn-win"></a>

Nachdem Sie den ODBC-Treiber heruntergeladen und installiert haben, fügen Sie dem Clientcomputer oder der Amazon-EC2-Instance einen Datenquellennamen (Data Source Name, DSN) hinzu. SQL-Client-Tools können diese Datenquelle verwenden, um eine Verbindung zur Amazon-Redshift-Datenbank herzustellen. 

Sie sollten anstelle eines Benutzer-DSN einen System-DSN erstellen. Einige Anwendungen laden die Daten mit einem anderen Datenbankbenutzerkonto und können Benutzer, die unter einem anderen DSNs Datenbankbenutzerkonto erstellt wurden, möglicherweise nicht erkennen.

**Anmerkung**  
Für die Authentifizierung mit AWS Identity and Access Management (IAM-) Anmeldeinformationen oder Identity Provider-Anmeldeinformationen (IdP) sind zusätzliche Schritte erforderlich. Weitere Informationen finden Sie unter [ Konfigurieren einer JDBC- oder ODBC-Verbindung zur Verwendung von IAM-Anmeldeinformationen](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-configure-jdbc-odbc.html).

So erstellen Sie einen System-DSN-Eintrag für eine ODBC-Verbindung:

1. Geben Sie im **Start**-Menü „ODBC-Datenquellen“ ein. Wählen Sie **ODBC Data Sources** (ODBC-Datenquellen).

   Stellen Sie sicher, dass Sie einen ODBC-Datenquellenadministrator mit derselben Bitness wie die Clientanwendung auswählen, über die Sie die Verbindung mit Amazon Redshift herstellen. 

1. Wählen Sie im **ODBC Data Source Administrator** (ODBC-Datenquellen-Administrator) die Registerkarte **Driver** (Treiber) und suchen Sie den folgenden Treiberordner: **Amazon Redshift ODBC Driver (x64)** (Amazon-Redshift-ODBC-Treiber (x64)).

1. Wählen Sie die Registerkarte **System-DSN** aus, um den Treiber für alle Benutzer auf dem Computer zu konfigurieren, oder die Registerkarte **Benutzer-DSN**, um den Treiber nur für Ihr Datenbankbenutzerkonto zu konfigurieren.

1. Wählen Sie **Add (Hinzufügen)** aus. Das Fenster **Create New Data Source (Neue Datenquelle erstellen)** wird geöffnet.

1. Wählen Sie den **Amazon Redshift ODBC driver (x64)** (Amazon-Redshift-ODBC-Treiber (x64)) und wählen Sie dann **Finish** (Fertigstellen). Das Fenster **Amazon Redshift ODBC Driver DSN Setup (DSN-Einrichtung des Amazon-Redshift-ODBC-Treibers)** wird geöffnet.

1. Geben Sie im Abschnitt **Connection Settings** (Verbindungseinstellungen) die folgenden Informationen ein: 
   + 

**Name der Datenquelle**  
 Geben Sie einen Namen für die Datenquelle ein. Wenn Sie beispielsweise den Anweisungen unter *Erste Schritte mit Amazon Redshift* gefolgt sind, können Sie `exampleclusterdsn` eingeben, um sich den Cluster leichter zu merken, den Sie mit diesem DSN verknüpfen. 
   + 

**Server**  
 Geben Sie den Endpunkt-Host für Ihren Amazon-Redshift-Cluster an. Sie finden diese Informationen in der Amazon-Redshift-Konsole auf der Seite mit den Cluster-Details. Weitere Informationen finden Sie unter [Konfigurieren von Verbindungen in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html). 
   + 

**Port**  
 Geben Sie die Portnummer ein, die von der Datenbank verwendet wird. Erlauben Sie den Zugriff auf den ausgewählten Port, je nachdem, welchen Port Sie beim Erstellen, Ändern oder Migrieren des Clusters ausgewählt haben. 
   + 

**Datenbank**  
 Geben Sie den Namen der Amazon-Redshift-Datenbank ein. Wenn Sie den Cluster gestartet haben, ohne einen Datenbanknamen anzugeben, geben Sie ein `dev`. Verwenden Sie andernfalls den Namen, den Sie während des Startvorgangs ausgewählt haben. Wenn Sie den Anweisungen unter *Erste Schritte mit Amazon Redshift* gefolgt sind, geben Sie `dev` ein. 

1. Geben Sie im Abschnitt **Authentication** (Authentifizierung) die Konfigurationsoptionen zum Konfigurieren der Standard- oder IAM-Authentifizierung an. 

1. Wählen Sie **SSL Options** (SSL-Optionen) und geben Sie einen Wert für Folgendes an:
   + 

**Authentifizierungsmodus**  
Wählen Sie einen Modus für den Umgang mit Secure Sockets Layer (SSL) aus. In einer Testumgebung können Sie verwenden `prefer`. Für Produktionsumgebungen und dann, wenn ein sicherer Datenaustausch erforderlich ist, verwenden Sie jedoch `verify-ca` oder `verify-full`.
   + 

**Min TLS**  
Wählen Sie optional die Mindestversion aus TLS/SSL , die der Treiber dem Datenspeicher für die Verschlüsselung von Verbindungen zur Verfügung stellt. Wenn beispielsweise TLS 1.2 angegeben ist, kann TLS 1.1 nicht zum Verschlüsseln von Verbindungen verwendet werden. Die Standardversion ist TLS 1.2.

1.  Geben Sie auf der Registerkarte **Proxy** eine beliebige Proxy-Verbindungseinstellung an. 

1. Geben Sie auf der Registerkarte **Cursor** Optionen an, wie Abfrageergebnisse an Ihr SQL-Client-Tool oder Ihre Anwendung zurückgegeben werden. 

1. Geben Sie unter **Erweiterte Optionen** Werte für `logLevel`, `logPath`, `compression` und andere Optionen an. 

1. Wählen Sie **Test** aus. Wenn der Client-Computer eine Verbindung zur Amazon-Redshift-Datenbank herstellen kann, wird die folgende Meldung angezeigt: **Connection successful** (Verbindung erfolgreich). Wenn der Client-Computer keine Verbindung zur Datenbank herstellen kann, können Sie mögliche Probleme beheben, indem Sie eine Protokolldatei erstellen und sich an den AWS Support wenden. Informationen zum Generieren von Protokollen finden Sie unter (LINK). 

1.  Wählen Sie **OK** aus. 

# Verwenden eines ODBC-Treibers für Amazon Redshift unter Linux
<a name="odbc20-install-config-linux"></a>

Sie müssen den Amazon-Redshift-ODBC-Treiber auf Client-Computern installieren, die auf ein Amazon-Redshift-Data-Warehouse zugreifen. Für jeden Computer, auf dem Sie den Treiber installieren, gelten die folgenden Mindestanforderungen: 
+ Root-Zugriff auf den Computer.
+ Eine der folgenden Verteilungen:
  + Red Hat® Enterprise Linux® (RHEL) 8 oder höher
  + CentOS 8 oder höher
+ 150 MB verfügbarer Speicherplatz.
+ unixODBC 2.2.14 oder höher.
+ glibc 2.26 oder höher.

# Herunterladen und Installieren des ODBC-Treibers für Amazon Redshift
<a name="odbc20-install-linux"></a>

So laden Sie die Amazon-Redshift-ODBC-Treiberversion 2.x für Linux herunter und installieren sie:

1.  Laden Sie den folgenden Treiber herunter: 
   + [x86 64-Bit-RPM-Treiberversion 2.1.15.0](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC-64-bit-2.1.15.0.x86_64.rpm) 2.1.15.0
   + [ARM 64-Bit-RPM-Treiberversion 2.1.15.0](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC-64-bit-2.1.15.0.aarch64.rpm) 2.1.15.0
**Anmerkung**  
32-Bit-ODBC-Treiber werden eingestellt. Es werden außer dringenden Sicherheitspatches keine weiteren Updates veröffentlicht.

1.  Navigieren Sie zu dem Verzeichnis, in das Sie das Paket heruntergeladen haben, und führen Sie einen der folgenden Befehle aus. Verwenden Sie den Befehl, der Ihrer Linux-Distribution entspricht. 

   Führen Sie auf RHEL- und CentOS-Betriebssystemen den folgenden Befehl aus:

   ```
   yum --nogpgcheck localinstall RPMFileName
   ```

   Ersetzen Sie `RPMFileName` durch den Dateinamen des RPM-Pakets. Im folgenden Beispiel wird beispielsweise die Installation des 64-Bit-Treibers gezeigt:

   ```
   yum --nogpgcheck localinstall AmazonRedshiftODBC-64-bit-2.x.xx.xxxx.x86_64.rpm
   ```

# Verwenden eines ODBC-Treibermanagers zum Konfigurieren des ODBC-Treibers
<a name="odbc20-config-linux"></a>

Unter Linux verwenden Sie einen ODBC-Treibermanager, um die ODBC-Verbindungseinstellungen zu konfigurieren. ODBC-Treibermanager verwenden Konfigurationsdateien, um ODBC-Datenquellen und -Treiber zu definieren und zu konfigurieren. Der ODBC-Treibermanager, den Sie verwenden, ist vom verwendeten Betriebssystem abhängig.

## Konfigurieren des ODBC-Treibers mit dem unixODBC-Treibermanager
<a name="odbc20-config-unixodbc-linux"></a>

Die folgenden Dateien sind erforderlich, um den Amazon-Redshift-ODBC-Treiber zu konfigurieren: 
+ ` amazon.redshiftodbc.ini `
+ ` odbc.ini `
+ ` odbcinst.ini `

 Wenn Sie am Standardspeicherort installiert haben, befindet sich die `amazon.redshiftodbc.ini`-Konfigurationsdatei in `/opt/amazon/redshiftodbcx64`.

 Außerdem finden Sie unter `/opt/amazon/redshiftodbcx64` die Beispieldateien `odbc.ini` und `odbcinst.ini`. Sie können diese Dateien als Beispiele für die Konfiguration des Amazon-Redshift-ODBC-Treibers und des Datenquellennamens (DSN) verwenden.

 Die Verwendung des Installationsverzeichnisses für den Amazon-Redshift-ODBC-Treiber für die Konfigurationsdateien wird nicht empfohlen. Die Beispieldateien im installierten Verzeichnis dienen nur Beispielzwecken. Wenn Sie den Amazon-Redshift-ODBC-Treiber zu einem späteren Zeitpunkt neu installieren oder auf eine neuere Version aktualisieren, wird das Installationsverzeichnis überschrieben. Sie verlieren alle Änderungen, die Sie möglicherweise an Dateien im Installationsverzeichnis vorgenommen haben.

 Um dies zu vermeiden, kopieren Sie die `amazon.redshiftodbc.ini`-Datei in ein anderes Verzeichnis als das Installationsverzeichnis. Wenn Sie diese Datei in das Stammverzeichnis des Benutzers kopieren, fügen Sie am Anfang der Datei einen Punkt (.) hinzu, um die Datei zu verbergen.

 Verwenden Sie für die `odbc.ini`- und `odbcinst.ini`-Dateien entweder die Konfigurationsdateien im Basisverzeichnis des Benutzers, oder erstellen Sie neue Versionen in einem anderen Verzeichnis. Standardmäßig sollte Ihr Linux-Betriebssystem eine `odbc.ini`-Datei und eine `odbcinst.ini`-Datei im Home-Verzeichnis des Benutzers haben (`/home/$USER` oder `~/.`). Bei diesen Standarddateien handelt es sich um versteckte Dateien, die durch den Punkt (.) vor jedem Dateinamen angezeigt werden. Diese Dateien werden nur angezeigt, wenn Sie das `-a`-Flag zum Auflisten des Verzeichnisinhalts verwenden.

 Unabhängig davon, welche Option Sie für die `odbc.ini`- und `odbcinst.ini`-Dateien wählen, ändern Sie die Dateien, um Treiber- und DSN-Konfigurationsinformationen hinzuzufügen. Wenn Sie neue Dateien erstellen, müssen Sie auch Umgebungsvariablen festlegen, um anzugeben, wo diese Konfigurationsdateien gespeichert sind.

 Standardmäßig sind ODBC-Treibermanager so konfiguriert, dass sie versteckte Versionen der `odbc.ini`- und `odbcinst.ini`-Konfigurationsdateien (mit den Namen `.odbc.ini` und `.odbcinst.ini`) verwenden, die sich im Home-Verzeichnis befinden. Sie sind auch so konfiguriert, dass sie die `amazon.redshiftodbc.ini`-Datei im Installationsverzeichnis des Treibers verwenden. Wenn Sie diese Konfigurationsdateien an anderer Stelle speichern, legen Sie die folgenden Umgebungsvariablen fest, damit der Treibermanager die Dateien finden kann.

 Wenn Sie unixODBC verwenden, gehen Sie wie folgt vor: 
+  Legen Sie `ODBCINI` auf den vollständigen Pfad und Dateinamen der `odbc.ini`-Datei fest. 
+  Legen Sie `ODBCSYSINI` auf den vollständigen Pfad des Verzeichnisses fest, das die `odbcinst.ini`-Datei enthält. 
+  Legen Sie `AMAZONREDSHIFTODBCINI` auf den vollständigen Pfad und Dateinamen der `amazon.redshiftodbc.ini`-Datei fest. 

Im Folgenden finden Sie ein Beispiel für die Einstellung der obigen Werte:

```
export ODBCINI=/usr/local/odbc/odbc.ini 
export ODBCSYSINI=/usr/local/odbc 
export AMAZONREDSHIFTODBCINI=/etc/amazon.redshiftodbc.ini
```

## Konfigurieren einer Verbindung mit einem Datenquellennamen (DSN) unter Linux
<a name="odbc20-dsn-linux"></a>

Wenn Sie über einen Datenquellennamen (DSN) eine Verbindung zu Ihrem Datenspeicher herstellen, konfigurieren Sie die `odbc.ini` Datei so, dass Datenquellennamen () definiert werden. DSNs Legen Sie die Eigenschaften in der `odbc.ini`-Datei fest, um einen DSN zu erstellen, der die Verbindungsinformationen für den Datenspeicher angibt.

Verwenden Sie auf Linux-Betriebssystemen das folgende Format:

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/driver_file
Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

Das folgende Beispiel zeigt die Konfiguration für `odbc.ini` mit dem 64-Bit-ODBC-Treiber auf Linux-Betriebssystemen.

```
[ODBC Data Sources]
Amazon_Redshift_x64=Amazon Redshift ODBC Driver (x64)

[Amazon_Redshift_x64]
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932Database=dev
locale=en-US
```

## Konfigurieren einer Verbindung ohne DSN unter Linux
<a name="odbc20-no-dsn-linux"></a>

 Um eine Verbindung mit dem Datenspeicher über eine Verbindung herzustellen, die nicht über einen DSN verfügt, definieren Sie den Treiber in der `odbcinst.ini`-Datei. Geben Sie dann eine DSN-lose Verbindungszeichenfolge in Ihrer Anwendung an.

Verwenden Sie auf Linux-Betriebssystemen das folgende Format:

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/driver_file
    
...
```

Das folgende Beispiel zeigt die Konfiguration für `odbcinst.ini` mit dem 64-Bit-ODBC-Treiber auf Linux-Betriebssystemen.

```
[ODBC Drivers]
Amazon Redshift ODBC Driver (x64)=Installed

[Amazon Redshift ODBC Driver (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.so
```

# Verwenden eines Amazon Redshift ODBC-Treibers auf Apple macOS
<a name="odbc20-install-config-mac"></a>

Sie müssen den Amazon-Redshift-ODBC-Treiber auf Client-Computern installieren, die auf ein Amazon-Redshift-Data-Warehouse zugreifen. Für jeden Computer, auf dem Sie den Treiber installieren, gelten die folgenden Mindestanforderungen: 
+ Root-Zugriff auf den Computer. 
+ Apple macOS Systemanforderungen:
  + Eine 64-Bit-Version von Apple macOS Version 11.7 oder höher (wie Apple macOS Big Sur, Monterey, Ventura oder höher) ist erforderlich. Der Redshift ODBC-Treiber unterstützt nur 64-Bit-Clientanwendungen.
  + 150 MB verfügbarer Speicherplatz.
  + Der Treiber unterstützt Anwendungen, die mit iODBC 3.52.9\$1 oder unixODBC 2.3.7\$1 erstellt wurden.

# Herunterladen und Installieren des ODBC-Treibers für Amazon Redshift
<a name="odbc20-install-mac"></a>

Gehen Sie wie folgt vor, um den Amazon Redshift ODBC-Treiber auf Apple macOS herunterzuladen und zu installieren. Verwenden Sie nur dann einen anderen Treiber, wenn Sie eine Drittanbieteranwendung ausführen, die für die Verwendung mit Amazon Redshift zertifiziert ist, und diese Anwendung diesen speziellen Treiber erfordert.

So laden Sie den ODBC-Treiber herunter und installieren ihn: 

1. Laden Sie den folgenden Treiber herunter: [64-Bit-ODBC-Treiberversion 2.1.15.0](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC-64-bit.2.1.15.0.universal.pkg) 2.1.15.0

   Dieser Treiber wird sowohl auf x86\$164- als auch auf arm64-Architekturen unterstützt. Der Name für diesen Treiber lautet **Amazon-Redshift ODBC Driver (x64)** (Amazon-Redshift-ODBC-Treiber (x64)).

1. Überprüfen Sie die [Amazon-Redshift-ODBC-Treiberversion 2.x-Lizenz](https://github.com/aws/amazon-redshift-odbc-driver/blob/master/LICENSE).

1. Doppelklicken Sie auf die PKG-Datei und folgen Sie dann den Schritten im Assistenten, um den Treiber zu installieren. Alternativ können Sie auch den folgenden Befehl ausführen:

   ```
   sudo installer -pkg PKGFileName -target /
   ```

   Ersetzen Sie es `PKGFileName` durch den Namen der PKG-Paketdatei. Im folgenden Beispiel wird beispielsweise die Installation des 64-Bit-Treibers gezeigt:

   ```
   sudo installer -pkg ./AmazonRedshiftODBC-64-bit.X.X.XX.X.universal.pkg -target /
   ```

# Verwenden eines ODBC-Treibermanagers zum Konfigurieren des ODBC-Treibers
<a name="odbc20-config-mac"></a>

Auf dem Mac verwenden Sie einen ODBC-Treibermanager, um die ODBC-Verbindungseinstellungen zu konfigurieren. ODBC-Treibermanager verwenden Konfigurationsdateien, um ODBC-Datenquellen und -Treiber zu definieren und zu konfigurieren. Der ODBC-Treibermanager, den Sie verwenden, ist vom verwendeten Betriebssystem abhängig.

## Konfiguration des ODBC-Treibers mit dem iODBC- oder UnixODBC-Treibermanager
<a name="odbc20-config-iodbc-mac"></a>

Die folgenden Dateien sind erforderlich, um den Amazon-Redshift-ODBC-Treiber zu konfigurieren: 
+ ` amazon.redshiftodbc.ini `
+ ` odbc.ini `
+ ` odbcinst.ini `

 Wenn Sie am Standardspeicherort installiert haben, befindet sich die `amazon.redshiftodbc.ini`-Konfigurationsdatei in `/opt/amazon/redshiftodbcx64`.

 Außerdem finden Sie unter `/opt/amazon/redshiftodbcx64` die Beispieldateien `odbc.ini` und `odbcinst.ini`. Sie können diese Dateien als Beispiele für die Konfiguration des Amazon-Redshift-ODBC-Treibers und des Datenquellennamens (DSN) verwenden. Die Beispieldateien im installierten Verzeichnis dienen nur Beispielzwecken.

 Die Verwendung des Installationsverzeichnisses für den Amazon-Redshift-ODBC-Treiber für die Konfigurationsdateien wird nicht empfohlen. Wenn Sie den Amazon-Redshift-ODBC-Treiber zu einem späteren Zeitpunkt neu installieren oder auf eine neuere Version aktualisieren, wird das Installationsverzeichnis überschrieben. Sie verlieren alle Änderungen, die Sie möglicherweise an Dateien im Installationsverzeichnis vorgenommen haben.

 Um dies zu vermeiden, kopieren Sie die `odbc.ini` `amazon.redshiftodbc.ini` Dateien `odbcinst.ini` und in ein anderes Verzeichnis als das Installationsverzeichnis. Wenn Sie diese Dateien in das Basisverzeichnis des Benutzers kopieren, fügen Sie am Anfang dieser Dateinamen einen Punkt (.) hinzu, damit es sich um eine versteckte Datei handelt.

 Ändern Sie die Dateien, um DSN-Konfigurationsinformationen hinzuzufügen. Wenn Sie neue Dateien erstellen, müssen Sie auch Umgebungsvariablen festlegen, um anzugeben, wo sich diese Konfigurationsdateien befinden.

Im Folgenden finden Sie ein Beispiel für die Einstellung der Umgebungsvariablen:

```
export ODBCINI=/Library/ODBC/odbc.ini
export ODBCSYSINI=/Library/ODBC
export ODBCINSTINI=${ODBCSYSINI}/odbcinst.ini
```

Für Befehlszeilenanwendungen: Fügen Sie die Exportbefehle zu Ihrer Shell-Startdatei hinzu (z. B. `~/.bash_profile` oder`~/.zshrc`). 

[Informationen zur unterstützten Version des Treibermanagers finden Sie hier](https://docs.aws.amazon.com/redshift/latest/mgmt/odbc20-install-config-mac.html) 

### Konfiguration einer Verbindung mithilfe eines Datenquellennamens (DSN) auf Apple macOS
<a name="odbc20-dsn-mac"></a>

Wenn Sie mithilfe eines Datenquellennamens (DSN) eine Verbindung zu Ihrem Datenspeicher herstellen, konfigurieren Sie die `odbc.ini` Datei so, dass Datenquellennamen (DSNs) definiert werden. Legen Sie die Eigenschaften in der `odbc.ini` Datei fest, um einen DSN zu erstellen, der die Verbindungsinformationen für Ihr Redshift Data Warehouse spezifiziert.

Verwenden Sie auf Apple macOS das folgende Format:

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/driver_file
Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

Das folgende Beispiel zeigt die Konfiguration für `odbc.ini` mit dem 64-Bit-ODBC-Treiber auf Apple macOS.

```
[ODBC Data Sources]
Amazon_Redshift_x64=Amazon Redshift ODBC Driver (x64)

[Amazon_Redshift_x64]
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.dylib
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

### Konfiguration einer Verbindung ohne DSN auf Apple macOS
<a name="odbc20-no-dsn-mac"></a>

 Um über eine Verbindung ohne DSN eine Verbindung zu Ihrem Redshift Data Warehouse herzustellen, definieren Sie den Treiber in der `odbcinst.ini` Datei. Geben Sie dann eine DSN-lose Verbindungszeichenfolge in Ihrer Anwendung an.

Verwenden Sie auf Apple macOS das folgende Format:

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/driver_file
    
...
```

Das folgende Beispiel zeigt die Konfiguration für `odbcinst.ini` mit dem 64-Bit-ODBC-Treiber auf Apple macOS.

```
[ODBC Drivers]
Amazon Redshift ODBC Driver (x64)=Installed

[Amazon Redshift ODBC Driver (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.dylib
```

# Authentifizierungsmethoden
<a name="odbc20-authentication-ssl"></a>

Um Daten vor unbefugtem Zugriff zu schützen, erfordern Amazon-Redshift-Datenspeicher, dass alle Verbindungen mit Benutzeranmeldeinformationen authentifiziert werden.

Die folgende Tabelle veranschaulicht die erforderlichen und optionalen Verbindungsoptionen für jede Authentifizierungsmethode, die verwendet werden kann, um eine Verbindung mit der Amazon-Redshift-ODBC-Treiberversion 2.x herzustellen:


| Authentifizierungsmethode | Erforderlich | Optional | 
| --- | --- | --- | 
|  Standard  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |   | 
|  IAM-Profil  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** (Cluster-ID) und **Region** müssen in **Host** festgelegt werden, wenn sie nicht separat festgelegt werden.    | 
|  IAM-Anmeldeinformationen  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** (Cluster-ID) und **Region** müssen in **Host** festgelegt werden, wenn sie nicht separat festgelegt werden.    | 
|  AD FS  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** (Cluster-ID) und **Region** müssen in **Host** festgelegt werden, wenn sie nicht separat festgelegt werden.    | 
|  Azure AD  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** (Cluster-ID) und **Region** müssen in **Host** festgelegt werden, wenn sie nicht separat festgelegt werden.    | 
|  JWT  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  | 
|  Okta  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** (Cluster-ID) und **Region** müssen in **Host** festgelegt werden, wenn sie nicht separat festgelegt werden.    | 
|  Ping Federate  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** (Cluster-ID) und **Region** müssen in **Host** festgelegt werden, wenn sie nicht separat festgelegt werden.    | 
|  Azure AD Browser  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** (Cluster-ID) und **Region** müssen in **Host** festgelegt werden, wenn sie nicht separat festgelegt werden.    | 
|  SAML Browser  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** (Cluster-ID) und **Region** müssen in **Host** festgelegt werden, wenn sie nicht separat festgelegt werden.    | 
|  Auth-Profil  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |   | 
|  Azure AD durchsuchen OAUTH2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** (Cluster-ID) und **Region** müssen in **Host** festgelegt werden, wenn sie nicht separat festgelegt werden.    | 
|  AWS IAM-Identitätszentrum  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/odbc20-authentication-ssl.html)  | 

## Verwenden eines Services für externe Anmeldeinformationen
<a name="odbc20-authentication-external"></a>

Neben der integrierten Unterstützung für AD FS, Azure AD und Okta bietet die Windows-Version des Amazon-Redshift-ODBC-Treibers auch Unterstützung für andere Anmeldeinformationen-Services. Der Treiber kann Verbindungen mit jedem SAML-basierten Anmeldeinformationsanbieter-Plugin Ihrer Wahl authentifizieren. 

So konfigurieren Sie einen Service für externe Anmeldeinformationen unter Windows:

1. Erstellen Sie ein IAM-Profil, das das Plug-in des Anmeldeinformationsanbieters und andere Authentifizierungsparameter nach Bedarf angibt. Das Profil muss ASCII-kodiert sein und das folgende Schlüssel-Wert-Paar enthalten, wobei `PluginPath` der vollständige Pfad zur Plugin-Anwendung ist: 

   ```
   plugin_name = PluginPath
   ```

   Zum Beispiel:

   ```
   plugin_name = C:\Users\kjson\myapp\CredServiceApp.exe 
   ```

   Informationen zum Erstellen eines Profils finden Sie unter [Verwenden eines Konfigurationsprofils](https://docs.aws.amazon.com/redshift/latest/mgmt/options-for-providing-iam-credentials.html#using-configuration-profile) im Verwaltungshandbuch zum Amazon-Redshift-Cluster.

1. Konfigurieren Sie den Treiber für die Verwendung dieses Profils. Der Treiber erkennt und verwendet die im Profil angegebenen Authentifizierungseinstellungen.

# Datentypkonvertierungen
<a name="odbc20-converting-data-types"></a>

Die Amazon-Redshift-ODBC-Treiberversion 2.x unterstützt viele gängige Datenformate und konvertiert zwischen Amazon-Redshift- und SQL-Datentypen.

In der folgenden Tabelle sind die unterstützten Datentyp-Mappings aufgeführt.


| Amazon-Redshift-Typ | SQL-Typ | 
| --- | --- | 
|  BIGINT  |  SQL\$1BIGINT  | 
|  BOOLEAN  |  SQL\$1BIT  | 
|  CHAR  |  SQL\$1CHAR  | 
|  DATE  |  SQL\$1TYPE\$1DATE  | 
|  DECIMAL  |  SQL\$1NUMERIC  | 
|  DOUBLE PRECISION  |  SQL\$1DOUBLE  | 
|  GEOGRAPHY  |  SQL\$1 LONGVARBINARY  | 
|  GEOMETRY  |  SQL\$1 LONGVARBINARY  | 
|  INTEGER  |  SQL\$1INTEGER  | 
|  REAL  |  SQL\$1REAL  | 
|  SMALLINT  |  SQL\$1SMALLINT  | 
|  SUPER  |  SQL\$1LONGVARCHAR  | 
|  TEXT  |  SQL\$1LONGVARCHAR  | 
|  TIME  |  SQL\$1TYPE\$1TIME  | 
|  TIMETZ  |  SQL\$1TYPE\$1TIME  | 
|  TIMESTAMP (ZEITSTEMPEL)  |  SQL\$1TYPE\$1 TIMESTAMP  | 
|  TIMESTAMPTZ  |  SQL\$1TYPE\$1 TIMESTAMP  | 
|  VARBYTE  |  SQL\$1LONGVARBINARY  | 
|  VARCHAR  |  SQL\$1VARCHAR  | 

# ODBC-Treiberoptionen
<a name="odbc20-configuration-options"></a>

Sie können Treiberkonfigurationsoptionen verwenden, um das Verhalten des Amazon-Redshift-ODBC-Treibers zu steuern. Bei den Treiberoptionen wird die Groß-/Kleinschreibung nicht beachtet.

Unter Microsoft Windows legen Sie die Treiberoptionen in der Regel fest, wenn Sie einen Datenquellennamen (Data Source Name, DSN) konfigurieren. Sie können auch Treiberoptionen in der Verbindungszeichenfolge einstellen, wenn Sie eine programmgesteuerte Verbindung herstellen oder Registrierungsschlüssel in hinzufügen oder ändern `HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\your_DSN`.

Unter Linux legen Sie Treiberkonfigurationsoptionen in Ihren `odbc.ini`- und `amazon.redshiftodbc.ini`-Dateien fest. In einer `amazon.redshiftodbc.ini`-Datei eingestellte Konfigurationsoptionen gelten für alle Verbindungen. Konfigurationsoptionen, die in einer `odbc.ini`-Datei festgelegt wurden, gelten hingegen jeweils nur für eine bestimmte Verbindung. In `odbc.ini` eingestellte Konfigurationsoptionen haben Vorrang vor Konfigurationsoptionen, die in `amazon.redshiftodbc.ini` festgelegt sind.

Im Folgenden finden Sie Beschreibungen für die Optionen, die Sie für den Amazon-Redshift-ODBC-Treiber der Version 2.x angeben können:

## AccessKeyAusweis
<a name="odbc20-accesskeyid-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

 Der IAM-Zugriffsschlüssel für den Benutzer oder die Rolle. Wenn Sie diesen Parameter festlegen, müssen Sie auch angeben **SecretAccessKey**.

Dieser Parameter ist optional.

## app\$1id
<a name="odbc20-app-id-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Die von Okta bereitgestellte eindeutige ID, die mit Ihrer Amazon-Redshift-Anwendung verknüpft ist.

Dieser Parameter ist optional.

## ApplicationName
<a name="odbc20-application_name-option"></a>
+ **Standardwert** – Keine
+ **Datentyp** – Zeichenfolge

Der Name der Client-Anwendung, die zu Prüfungszwecken an Amazon Redshift übergeben wird. Der von Ihnen angegebene Anwendungsname wird in der Spalte „application\$1name“ der Tabelle [SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html) angezeigt. Auf diese Weise können Verbindungsquellen beim Debuggen von Problemen nachverfolgt und Fehler behoben werden.

Dieser Parameter ist optional.

## app\$1name
<a name="odbc20-app-name-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der Name der Okta-Anwendung, mit der Sie die Verbindung zu Amazon Redshift authentifizieren.

Dieser Parameter ist optional.

## AuthProfile
<a name="odbc20-authprofile-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Das zum Verwalten der Verbindungseinstellungen verwendete Authentifizierungsprofil. Wenn Sie diesen Parameter festlegen, müssen Sie auch **AccessKeyID** und festlegen **SecretAccessKey**. 

Dieser Parameter ist optional.

## AuthType
<a name="odbc20-authtype-option"></a>
+ **Standardwert** – Standard
+ **Datentyp** – Zeichenfolge

Diese Option gibt den Authentifizierungsmodus an, den der Treiber verwendet, wenn Sie einen DSN mithilfe des Dialogfelds DSN-Einrichtung des Amazon-Redshift-ODBC-Treibers konfigurieren: 
+  Standard: Standardauthentifizierung mit Ihrem Amazon-Redshift-Benutzernamen und -Passwort. 
+  AWS Profil: IAM-Authentifizierung mithilfe eines Profils.
+  AWS IAM-Anmeldeinformationen: IAM-Authentifizierung mithilfe von IAM-Anmeldeinformationen. 
+  Identitätsanbieter: AD FS: IAM-Authentifizierung mithilfe von Active-Directory-Federation-Services (AD FS). 
+  Identity Provider: Auth Plugin: Ein Autorisierungs-Plugin, das ein AWS IAM Identity Center-Token oder OpenID Connect (OIDC) JSON-basierte Identitätstoken (JWT) von jedem Web-Identitätsanbieter akzeptiert, der mit IAM Identity Center verknüpft ist. AWS 
+  Identitätsanbieter: Azure AD: IAM-Authentifizierung mithilfe eines Azure-AD-Portals. 
+  Identitätsanbieter: JWT: IAM-Authentifizierung mithilfe eines JSON-Web-Tokens (JWT). 
+  Identitätsanbieter: Okta: IAM-Authentifizierung mithilfe von Okta. 
+  Identitätsanbieter: PingFederate IAM-Authentifizierung mithilfe von. PingFederate 

Diese Option ist nur verfügbar, wenn Sie einen DSN über das Dialogfeld DSN-Einrichtung des Amazon-Redshift-ODBC-Treibers im Windows-Treiber konfigurieren. Wenn Sie eine Verbindung mithilfe einer Verbindungszeichenfolge oder auf einem Nicht-Windows-Computer konfigurieren, bestimmt der Treiber anhand Ihrer angegebenen Anmeldeinformationen automatisch, ob die Standard-, AWS Profil- oder AWS IAM-Authentifizierung verwendet werden soll. Um einen Identitätsanbieter zu verwenden, müssen Sie die Eigenschaft **plugin\$1name** (Plugin\$1Name) festlegen. 

Dieser Parameter muss angegeben werden.

## AutoCreate
<a name="odbc20-autocreate-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob der Treiber einen neuen Benutzer erstellt, wenn der angegebene Benutzer nicht existiert. 
+  1 \$1 TRUE: Wenn der durch die **UID** angegebene Benutzer nicht existiert, erstellt der Treiber einen neuen Benutzer. 
+  0 \$1 FALSE: Der Treiber erstellt keinen neuen Benutzer. Wenn der angegebene Benutzer nicht existiert, schlägt die Authentifizierung fehl. 

Dieser Parameter ist optional.

## CaFile
<a name="odbc20-cafile-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der Dateipfad zur CA-Zertifikatsdatei, die für einige Formen der IAM-Authentifizierung verwendet wird. 

 Dieser Parameter ist nur unter Linux verfügbar.

Dieser Parameter ist optional.

## Client-ID
<a name="odbc20-client-id-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Die Client-ID, die Ihrer Amazon-Redshift-Anwendung in Azure AD zugeordnet ist. 

Dieser Parameter ist erforderlich, wenn die Authentifizierung über den Azure-AD-Service erfolgt.

## client\$1 secret
<a name="odbc20-client-secret-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

 Der geheime Schlüssel, der Ihrer Amazon-Redshift-Anwendung in Azure AD zugeordnet ist. 

Dieser Parameter ist erforderlich, wenn die Authentifizierung über den Azure-AD-Service erfolgt.

## ClusterId
<a name="odbc20-clusterid-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der Name des Amazon-Redshift-Clusters, zu dem Sie eine Verbindung herstellen möchten. Es wird bei der IAM-Authentifizierung verwendet. Die Cluster-ID ist im Parameter-**Server** nicht angegeben.

Dieser Parameter ist optional.

## Kompression
<a name="odbc20-compression-option"></a>
+ **Standardwert** – aus
+ **Datentyp** – Zeichenfolge

Die Komprimierungsmethode, die für die Wire-Protokollkommunikation zwischen dem Amazon-Redshift-Server und dem Client oder Treiber verwendet wird.

Sie können die folgenden Werte angeben:
+ Iz4: Legt für die Komprimierungsmethode, die für die Wire-Protokollkommunikation mit Amazon Redshift verwendet wird, `lz4` fest. 
+ zstd: Legt für die Komprimierungsmethode, die für die Wire-Protokollkommunikation mit Amazon Redshift verwendet wird, `zstd` fest. 
+  off: Für die Wire-Protokollkommunikation mit Amazon Redshift wird keine Komprimierungsmethode verwendet. 

Dieser Parameter ist optional.

## Datenbank
<a name="odbc20-database-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Name der Amazon-Redshift-Datenbank, auf die Sie zugreifen möchten.

Dieser Parameter muss angegeben werden.

## DatabaseMetadataCurrentDbOnly
<a name="odbc20-database-metadata-option"></a>
+ **Standardwert** – 1
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob der Treiber Metadaten aus mehreren Datenbanken und Clustern zurückgibt.
+ 1 \$1 TRUE: Der Treiber gibt nur Metadaten aus der aktuellen Datenbank zurück. 
+  0 \$1 FALSE. Der Treiber gibt Metadaten über mehrere Amazon-Redshift-Datenbanken und -Cluster zurück. 

Dieser Parameter ist optional.

## dbgroups\$1filter
<a name="odbc20-dbgroups-filter-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der reguläre Ausdruck, den Sie angeben können DbGroups , um diejenigen herauszufiltern, die von der SAML-Antwort an Amazon Redshift empfangen werden, wenn Sie die Authentifizierungstypen Azure, Browser Azure und Browser SAML verwenden. 

Dieser Parameter ist optional.

## Treiber
<a name="odbc20-driver-option"></a>
+ **Standardwert** – Amazon-Redshift-ODBC-Treiber (x64)
+ **Datentyp** – Zeichenfolge

Der Name des Treibers. Der einzige unterstützte Wert ist **Amazon Redshift ODBC Driver (x64)** (Amazon-Redshift-ODBC-Treiber (x64)).

Dieser Parameter ist erforderlich, wenn Sie **DSN** nicht festlegen.

## DSN
<a name="odbc20-dsn-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Name der Treiber-Datenquelle. Die Anwendung spezifiziert den DSN in der SQLDriver Connect-API.

Dieser Parameter ist erforderlich, wenn Sie den **Driver** (Treiber) nicht festlegen.

## EndpointUrl
<a name="odbc20-endpointurl-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der übergeordnete Endpunkt, der für die Kommunikation mit dem Amazon-Redshift-Coral-Service für die IAM-Authentifizierung verwendet wird.

Dieser Parameter ist optional.

## ForceLowercase
<a name="odbc20-forcelowercase-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob der Treiber bei Verwendung der Single-Sign-On-Authentifizierung alle vom Identitätsanbieter an Amazon Redshift in Kleinbuchstaben DbGroups gesendet wird. 
+  1 \$1 TRUE: Der Treiber schreibt alles, was vom Identitätsanbieter gesendet wird DbGroups , in Kleinbuchstaben. 
+  0 \$1 FALSE: Der Treiber ändert DbGroups sich nicht. 

Dieser Parameter ist optional.

## group\$1federation
<a name="odbc20-group-federation-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob die `getClusterCredentialsWithIAM`-API zum Abrufen temporärer Cluster-Anmeldeinformationen in bereitgestellten Clustern verwendet wird. Mit dieser Option können IAM-Benutzer Redshift-Datenbankrollen in bereitgestellten Clustern integrieren. Beachten Sie, dass diese Option nicht für Redshift-Serverless-Namespaces gilt.
+  1 \$1 TRUE: Der Treiber verwendet die `getClusterCredentialsWithIAM`-API zum Abrufen von temporären Cluster-Anmeldeinformationen in bereitgestellten Clustern. 
+  0 \$1 FALSE: Der Treiber verwendet die `getClusterCredentials`-Standard-API zum Abrufen temporärer Cluster-Anmeldeinformationen in bereitgestellten Clustern. 

Dieser Parameter ist optional.

## https\$1proxy\$1host
<a name="odbc20-https-proxy-host-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Hostname oder die IP-Adresse des Proxy-Servers, über den Sie IAM-Authentifizierungsprozesse leiten möchten.

Dieser Parameter ist optional.

## https\$1proxy\$1password
<a name="odbc20-https-proxy-password-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Das Passwort, mit dem Sie auf den Proxy-Server zugreifen. Es wird für die IAM-Authentifizierung verwendet.

Dieser Parameter ist optional.

## https\$1proxy\$1port
<a name="odbc20-https-proxy-port-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Ganzzahl

Die Nummer des Ports, den der Proxy-Server verwendet, um auf Client-Verbindungen zu warten. Es wird für die IAM-Authentifizierung verwendet.

Dieser Parameter ist optional.

## https\$1proxy\$1username
<a name="odbc20-https-proxy-username-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Benutzername, den Sie für den Zugriff auf den Proxy-Server verwenden. Es wird für die IAM-Authentifizierung verwendet.

Dieser Parameter ist optional.

## IAM
<a name="odbc20-iam-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob der Treiber eine IAM-Authentifizierungsmethode verwendet, um die Verbindung zu authentifizieren. 
+  1 \$1 TRUE: Der Treiber verwendet eine der IAM-Authentifizierungsmethoden (unter Verwendung eines Zugriffsschlüssels und eines geheimen Schlüsselpaars oder eines Profils oder eines Anmeldeinformationen-Services). 
+  0 \$1 FALSE. Der Treiber verwendet die Standardauthentifizierung (unter Verwendung Ihres Datenbankbenutzernamens und Passworts). 

Dieser Parameter ist optional.

## idc\$1client\$1display\$1name
<a name="odbc20-idc_client_display_name-option"></a>
+ **Standardwert** – ODBC-Treiber für Amazon Redshift
+ **Datentyp** – Zeichenfolge

Der Anzeigename, der für den Client verwendet werden soll, der verwendet BrowserIdcAuthPlugin.

Dieser Parameter ist optional.

## idc\$1region
<a name="odbc20-idc_region"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Die AWS Region, in der sich die AWS IAM Identity Center-Instanz befindet.

Dieser Parameter ist nur erforderlich, wenn eine Authentifizierung mit `BrowserIdcAuthPlugin` in der Konfigurationsoption plugin\$1name erfolgt.

## idp\$1host
<a name="odbc20-idp-host-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der IdP-Host (Identitätsanbieter), den Sie zur Authentifizierung bei Amazon Redshift verwenden.

Dieser Parameter ist optional.

## idp\$1port
<a name="odbc20-idp-port-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Ganzzahl

Der IdP-Port (Identitätsanbieter), den Sie zur Authentifizierung bei Amazon Redshift verwenden. Erlauben Sie den Zugriff auf den ausgewählten Port, je nachdem, welchen Port Sie beim Erstellen, Ändern oder Migrieren des Clusters ausgewählt haben. 

Dieser Parameter ist optional.

## idp\$1response\$1timeout
<a name="odbc20-idp-response-timeout-option"></a>
+ **Standardwert** – 120
+ **Datentyp** – Ganzzahl

Die Anzahl der Sekunden, die der Treiber auf die SAML-Antwort vom Identitätsanbieter wartet, wenn SAML- oder Azure-AD-Services über ein Browser-Plugin verwendet werden. 

Dieser Parameter ist optional.

## idp\$1tenant
<a name="odbc20-idp-tenant-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

 Die Azure-AD-Mandanten-ID, die mit Ihrer Amazon-Redshift-Anwendung verbunden ist.

Dieser Parameter ist erforderlich, wenn die Authentifizierung über den Azure-AD-Service erfolgt.

## idp\$1partition
<a name="odbc20-idp-partition-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Gibt die Cloud-Partition an, auf der Ihr Identitätsanbieter (IdP) konfiguriert ist. Dadurch wird bestimmt, mit welchem IdP-Authentifizierungsendpunkt der Treiber eine Verbindung herstellt.

Wenn dieser Parameter leer gelassen wird, verwendet der Treiber standardmäßig die kommerzielle Partition. Die möglichen Werte sind:
+ `us-gov`: Verwenden Sie diesen Wert, wenn Ihr IdP in Azure Government konfiguriert ist. Beispielsweise verwendet Azure AD Government den Endpunkt`login.microsoftonline.us`.
+ `cn`: Verwenden Sie diesen Wert, wenn Ihr IdP in der China Cloud-Partition konfiguriert ist. Beispielsweise verwendet Azure AD China den Endpunkt`login.chinacloudapi.cn`.

Dieser Parameter ist optional.

## idp\$1use\$1https\$1proxy
<a name="odbc20-idp-use-https-proxy-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob der Treiber die Authentifizierungsprozesse für Identitätsanbieter (IdP) über einen Proxy-Server weiterleitet. 
+  1 \$1 TRUE: Der Treiber leitet IdP-Authentifizierungsprozesse über einen Proxy-Server weiter. 
+  0 \$1 FALSE. Der Treiber leitet IdP-Authentifizierungsprozesse nicht über einen Proxy-Server weiter. 

Dieser Parameter ist optional.

## InstanceProfile
<a name="odbc20-instanceprofile-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob der Treiber das Amazon-EC2-Instance-Profil verwendet, wenn er für die Verwendung eines Profils zur Authentifizierung konfiguriert ist.
+  1 \$1 TRUE: Der Treiber verwendet das Amazon-EC2-Instance-Profil. 
+  0 \$1 FALSE. Der Treiber verwendet stattdessen das verkettete Rollenprofil, das durch die Option Profilname (**Profile** (Profil)) angegeben wird. 

Dieser Parameter ist optional.

## issuer\$1url
<a name="odbc20-issuer_url"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

 Verweist auf den Instanzendpunkt des AWS IAM Identity Center-Servers. 

Dieser Parameter ist nur erforderlich, wenn eine Authentifizierung mit `BrowserIdcAuthPlugin` in der Konfigurationsoption plugin\$1name erfolgt.

## KeepAlive
<a name="odbc20-keepalive-option"></a>
+ **Standardwert** – 1
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob der Treiber TCP-Keepalives verwendet, um ein Timeout von Verbindungen zu verhindern.
+  1 \$1 TRUE: Der Treiber verwendet TCP-Keepalives, um ein Timeout von Verbindungen zu verhindern. 
+  0 \$1 FALSE. Der Treiber verwendet keine TCP-Keepalives. 

Dieser Parameter ist optional.

## KeepAliveCount
<a name="odbc20-keepalivecount-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Ganzzahl

Die Anzahl der TCP-Keepalive-Pakete, die verloren gehen dürfen, bevor die Verbindung als abgebrochen betrachtet wird. Wenn dieser Parameter auf 0 gesetzt ist, verwendet der Treiber die Systemvorgabe für diese Einstellung. 

Dieser Parameter ist optional.

## KeepAliveInterval
<a name="odbc20-keepaliveinterval-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Ganzzahl

Die Anzahl der Sekunden zwischen den einzelnen TCP-Keepalive-Übertragungen. Wenn dieser Parameter auf 0 gesetzt ist, verwendet der Treiber die Systemvorgabe für diese Einstellung. 

Dieser Parameter ist optional.

## KeepAliveTime
<a name="odbc20-keepalivetime-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Ganzzahl

Die Anzahl der Inaktivitätsekunden, bevor der Treiber ein TCP-Keepalive-Paket sendet. Wenn dieser Parameter auf 0 gesetzt ist, verwendet der Treiber die Systemvorgabe für diese Einstellung. 

Dieser Parameter ist optional.

## listen\$1port
<a name="odbc20-listen-port-option"></a>
+ **Standardwert** – 7 890
+ **Datentyp** – Ganzzahl

Der Port, den der Treiber verwendet, um die SAML-Antwort vom Identitätsanbieter oder den Autorisierungscode zu empfangen, wenn SAML-, Azure AD- oder AWS IAM Identity Center-Dienste über ein Browser-Plugin verwendet werden.

Dieser Parameter ist optional.

## login\$1url
<a name="odbc20-login-url-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Die URL für die Ressource auf der Website des Identitätsanbieters, wenn das generische Browser-SAML-Plugin verwendet wird.

Dieser Parameter ist erforderlich, wenn die Authentifizierung über die SAML- oder Azure-AD-Services über ein Browser-Plug-In erfolgt.

## loginToRp
<a name="odbc20-logintorp-option"></a>
+ **Standardwert** – urn:amazon:webservices
+ **Datentyp** – Zeichenfolge

Die Vertrauensstellung die Sie für den AD-FS-Authentifizierungstyp verwenden möchten.

Diese Zeichenfolge ist optional.

## LogLevel
<a name="odbc20-loglevel-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Ganzzahl

Verwenden Sie diese Eigenschaft, um die Protokollierung im Treiber zu aktivieren oder zu deaktivieren und den Umfang der in den Protokolldateien enthaltenen Details festzulegen. Wir empfehlen, die Protokollierung nur lange genug zu aktivieren, um ein Problem zu erfassen, da die Protokollierung die Leistung verringert und eine große Menge an Speicherplatz beanspruchen kann.

 Legen Sie die Eigenschaft auf einen der folgenden Werte fest:
+  0: OFF. Deaktiviert die gesamte Protokollierung. 
+  1: ERROR. Protokolliert Fehlerereignisse, die möglicherweise dazu führen, dass der Treiber weiter ausgeführt wird, aber einen Fehler erzeugt. 
+  2:. API\$1CALL Protokolliert ODBC-API-Funktionsaufrufe mit Funktionsargumentwerten. 
+  3: INFO. Protokolliert allgemeine Informationen, die den Fortschritt des Treibers beschreiben. 
+  4: MSG\$1PROTOCOL. Protokolliert detaillierte Informationen über das Nachrichtenprotokoll des Treibers. 
+  5: DEBUG. Protokolliert alle Treiberaktivitäten 
+  6: DEBUG\$1APPEND. Führen Sie anhängende Protokolle für alle Treiberaktivitäten. 

Wenn die Protokollierung aktiviert ist, erstellt der Treiber die folgenden Protokolldateien an dem Speicherort, den Sie in der **LogPath**Eigenschaft angeben: 
+  EINE `redshift_odbc.log.1`-Datei, die die Treiberaktivität protokolliert, die während des Handshakes einer Verbindung stattfindet. 
+  Eine `redshift_odbc.log`-Datei für alle Treiberaktivitäten, nachdem eine Verbindung zur Datenbank hergestellt wurde. 

Dieser Parameter ist optional.

## LogPath
<a name="odbc20-logpath-option"></a>
+ **Standardwert** – Das betriebssystemspezifische TEMP-Verzeichnis
+ **Datentyp** – Zeichenfolge

Der vollständige Pfad zu dem Ordner, in dem der Treiber Protokolldateien speichert, wenn er höher als 0 **LogLevel**ist.

Dieser Parameter ist optional.

## Min\$1TLS
<a name="odbc20-min-tls-option"></a>
+ **Standardwert** — 1.2
+ **Datentyp** – Zeichenfolge

 Die Mindestversion TLS/SSL , mit der der Treiber den Datenspeicher für die Verschlüsselung von Verbindungen verwenden kann. Wenn beispielsweise TLS 1.2 angegeben ist, kann TLS 1.1 nicht zum Verschlüsseln von Verbindungen verwendet werden.

Min\$1TLS akzeptiert die folgenden Werte:
+  1.0: Die Verbindung muss mindestens TLS 1.0 verwenden. 
+  1.1: Die Verbindung muss mindestens TLS 1.1 verwenden. 
+  1.2: Die Verbindung muss mindestens TLS 1.2 verwenden. 

Dieser Parameter ist optional.

## partner\$1spid
<a name="odbc20-partner-spid-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der SPID-Wert (Service Provider ID) des Partners, der bei der Authentifizierung der Verbindung über den Dienst verwendet werden soll. PingFederate 

Dieser Parameter ist optional.

## Passwort \$1 PWS
<a name="odbc20-password-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Das Passwort, das dem Datenbankbenutzernamen entspricht, den Sie im Feld „Benutzer“ (**UID**\$1**User** (Benutzer)\$1**LogonID**) angegeben haben. 

Dieser Parameter ist optional.

## plugin\$1name
<a name="odbc20-plugin-name-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der Plug-in-Name des Anmeldeinformationsanbieters, den Sie für die Authentifizierung verwenden möchten. 

 Folgende Werte werden unterstützt: 
+  `ADFS`: Verwenden Sie Active-Directory-Verbund-Services für die Authentifizierung. 
+  `AzureAD`: Verwenden Sie den Microsoft Azure Active Directory (AD)-Service für die Authentifizierung. 
+  `BrowserAzureAD`: Verwenden Sie zur Authentifizierung ein Browser-Plugin für den Microsoft Azure Active Directory (AD)-Service. 
+  `BrowserIdcAuthPlugin `: Ein Autorisierungs-Plugin, das AWS IAM Identity Center verwendet. 
+  `BrowserSAML`: Verwenden Sie zur Authentifizierung ein Browser-Plugin für SAML-Services wie Okta oder Ping. 
+  `IdpTokenAuthPlugin`: Ein Autorisierungs-Plugin, das ein AWS IAM Identity Center-Token oder OpenID Connect (OIDC) JSON-basierte Identitätstoken (JWT) von jedem Web-Identitätsanbieter akzeptiert, der mit IAM Identity Center verknüpft ist. AWS 
+  `JWT`: Verwenden Sie ein JSON-Web-Token (JWT) für die Authentifizierung. 
+  `Ping`: Verwenden Sie den Dienst zur Authentifizierung. PingFederate 
+  `Okta`: Verwenden Sie den Okta-Service zur Authentifizierung. 

Dieser Parameter ist optional.

## Port \$1 PortNumber
<a name="odbc20-port-option"></a>
+ **Standardwert** – 5 439
+ **Datentyp** – Ganzzahl

Die Nummer des TCP-Ports, den der Amazon-Redshift-Server verwendet, um auf Client-Verbindungen zu warten. 

Dieser Parameter ist optional.

## preferred\$1role
<a name="odbc20-preferred-role-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Die Rolle, die Sie während der Verbindung zu Amazon Redshift übernehmen möchten. Es wird für die IAM-Authentifizierung verwendet.

Dieser Parameter ist optional.

## Profil
<a name="odbc20-profile-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Name des AWS Benutzerprofils, das für die Authentifizierung bei Amazon Redshift verwendet wird.
+  Wenn der Parameter Use Instance Profile (die **InstanceProfile**Eigenschaft) auf 1 \$1 TRUE gesetzt ist, hat diese Einstellung Vorrang und der Treiber verwendet stattdessen das Amazon EC2 EC2-Instance-Profil. 
+  Der Standardspeicherort für die Datei mit den Anmeldeinformationen, die Profile enthält, ist `~/.aws/Credentials`. Die Umgebungsvariable `AWS_SHARED_CREDENTIALS_FILE` kann verwendet werden, um auf eine andere Anmeldeinformationsdatei zu verweisen. 

Dieser Parameter ist optional.

## provider\$1name
<a name="odbc20-provider-name-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Authentifizierungsanbieter, der vom Benutzer mithilfe der CREATE IDENTITY PROVIDER-Abfrage erstellt wurde. Es wird bei der nativen Amazon-Redshift-Authentifizierung verwendet.

Dieser Parameter ist optional.

## ProxyHost
<a name="odbc20-proxyhost-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der Hostname oder die IP-Adresse des Proxy-Servers, über den Sie eine Verbindung herstellen möchten.

Dieser Parameter ist optional.

## ProxyPort
<a name="odbc20-proxyport-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Ganzzahl

Die Nummer des Ports, den der Proxy-Server verwendet, um auf Client-Verbindungen zu warten.

Dieser Parameter ist optional.

## ProxyPwd
<a name="odbc20-proxypwd-option"></a>
+ ** ValPrevious Standard-ODBC-Treiberversionen** (ue) — Keine
+ **Datentyp** – Zeichenfolge

Das Passwort, mit dem Sie auf den Proxy-Server zugreifen. 

Dieser Parameter ist optional.

## ProxyUid
<a name="odbc20-proxyuid-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Der Benutzername, den Sie für den Zugriff auf den Proxy-Server verwenden.

Dieser Parameter ist optional.

## ReadOnly
<a name="odbc20-readonly-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob sich der Treiber im schreibgeschützten Modus befindet. 
+  1 \$1 TRUE: Die Verbindung befindet sich im schreibgeschützten Modus und kann nicht in den Datenspeicher schreiben.. 
+  0 \$1 FALSE: Die Verbindung befindet sich nicht im schreibgeschützten Modus und kann in den Datenspeicher schreiben. 

Dieser Parameter ist optional.

## region
<a name="odbc20-region-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Die AWS Region, in der sich Ihr Cluster befindet. 

Dieser Parameter ist optional.

## SecretAccessKey
<a name="odbc20-secretaccesskey-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

 Der geheime IAM-Schlüssel für den Benutzer oder die Rolle. Wenn Sie diesen Parameter festlegen, müssen Sie auch die **AccessKeyID** festlegen. 

Dieser Parameter ist optional.

## SessionToken
<a name="odbc20-sessiontoken-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

 Das temporäre IAM-Sitzungstoken, das der IAM-Rolle zugeordnet ist, die Sie zur Authentifizierung verwenden. 

Dieser Parameter ist optional.

## Server \$1 HostName \$1 Host
<a name="odbc20-server-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Endpunktserver, zu dem eine Verbindung hergestellt werden soll.

Dieser Parameter muss angegeben werden.

## ssl\$1insecure
<a name="odbc20-ssl-insecure-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob der Treiber die Authentizität des IdP-Serverzertifikats überprüft.
+  1 \$1 TRUE: Der Treiber prüft die Authentizität des IdP-Server-Zertifikats nicht. 
+  0 \$1 FALSE: Der Treiber überprüft die Authentizität des IdP-Server-Zertifikats 

Dieser Parameter ist optional.

## SSLMode
<a name="odbc20-sslmode-option"></a>
+ **Standardwert** – `verify-ca`
+ **Datentyp** – Zeichenfolge

Der Verifizierungsmodus für das SSL-Zertifikat, der beim Herstellen einer Verbindung mit Amazon Redshift verwendet werden soll. Die folgenden Werte sind möglich: 
+  `verify-full`: Verbinden Sie sich nur mithilfe von SSL, einer vertrauenswürdigen Zertifizierungsstelle und einem Servernamen, der mit dem Zertifikat übereinstimmt. 
+  `verify-ca`: Verbinden Sie sich nur mithilfe von SSL und einer vertrauenswürdigen Zertifizierungsstelle. 
+  `require`: Verbinden Sie sich nur mithilfe von SSL. 
+  `prefer`: Verbinden Sie sich nur mithilfe von SSL, falls verfügbar. Andernfalls stellen Sie eine Verbindung her, ohne SSL zu verwenden. 
+  `allow`: Stellen Sie standardmäßig eine Verbindung her, ohne SSL zu verwenden. Wenn der Server SSL-Verbindungen erfordert, verwenden Sie SSL. 
+  `disable`: Verbinden ohne Verwendung von SSL. 

Dieser Parameter ist optional.

## StsConnectionTimeout
<a name="odbc20-stsconnectiontimeout-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – Ganzzahl

Die maximale Wartezeit für IAM-Verbindungen in Sekunden. Wenn der Wert auf 0 gesetzt oder nicht angegeben ist, wartet der Treiber 60 Sekunden auf jeden AWS STS Anruf. 

Dieser Parameter ist optional.

## StsEndpointUrl
<a name="odbc20-stsendpointurl-option"></a>
+ **Standardwert** – None
+ **Datentyp** – Zeichenfolge

Diese Option gibt den übergeordneten Endpunkt an, der für die Kommunikation mit dem AWS -Security-Token-Service (AWS STS) verwendet wird. 

Dieser Parameter ist optional.

## Token
<a name="jdbc20-token-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Ein von AWS IAM Identity Center bereitgestelltes Zugriffstoken oder ein OpenID Connect (OIDC) JSON Web Token (JWT), das von einem Web-Identitätsanbieter bereitgestellt wird, der mit IAM Identity Center verknüpft ist. AWS Ihre Anwendung muss dieses Token generieren, indem sie den Benutzer Ihrer Anwendung bei AWS IAM Identity Center oder einem mit IAM Identity Center verknüpften Identitätsanbieter authentifiziert. AWS 

Dieser Parameter funktioniert mit `IdpTokenAuthPlugin`.

## token\$1type
<a name="jdbc20-token-type-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Tokentyp, der in `IdpTokenAuthPlugin` verwendet wird.

Sie können die folgenden Werte angeben:

**ACCESS\$1TOKEN**  
Geben Sie dies ein, wenn Sie ein von AWS IAM Identity Center bereitgestelltes Zugriffstoken verwenden.

**EXT\$1JWT**  
Geben Sie dies ein, wenn Sie ein OpenID Connect (OIDC) JSON Web Token (JWT) verwenden, das von einem webbasierten Identitätsanbieter bereitgestellt wird, der in AWS IAM Identity Center integriert ist.

Dieser Parameter funktioniert mit `IdpTokenAuthPlugin`.

## Benutzer-ID \$1 Benutzer \$1 Anmelde-ID
<a name="odbc20-uid-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Der Benutzername, den Sie für den Zugriff auf den Amazon-Redshift-Server verwenden.

Dieser Parameter ist erforderlich, wenn Sie die Datenbankauthentifizierung verwenden.

## UseUnicode
<a name="odbc20-useunicode-option"></a>
+ **Standardwert** – 0
+ **Datentyp** – boolesch

Ein boolescher Wert, der angibt, ob der Treiber Redshift-Daten als Unicode- oder reguläre SQL-Typen zurückgibt.
+  1 \$1 TRUE: Der Treiber gibt den Typ Wide SQL für den Zeichendatentyp zurück. 
  + SQL\$1WCHAR wird anstelle von SQL\$1CHAR zurückgegeben.
  + SQL\$1WVARCHAR wird anstelle von SQL\$1VARCHAR zurückgegeben.
  + SQL\$1WLONGVARCHAR wird anstelle von SQL\$1LONGVARCHAR zurückgegeben.
+  0 \$1 FALSE: Der Treiber gibt den normalen SQL-Typ für den Zeichendatentyp zurück. 
  + SQL\$1CHAR wird anstelle von SQL\$1WCHAR zurückgegeben.
  + SQL\$1VARCHAR wird anstelle von SQL\$1WVARCHAR zurückgegeben.
  + SQL\$1LONGVARCHAR wird anstelle von SQL\$1WLONGVARCHAR zurückgegeben.

Dieser Parameter ist optional. Es ist in den Treiberversionen 2.1.15 und höher verfügbar.

## web\$1identity\$1token
<a name="odbc20-web-identity-token-option"></a>
+ **Standardwert** – Kein
+ **Datentyp** – Zeichenfolge

Das vom Identitätsanbieter bereitgestellte OAUTH-Token. Es wird im JWT-Plugin verwendet.

Dieser Parameter ist erforderlich, wenn Sie den Parameter **plugin\$1name** auf setzen. BasicJwtCredentialsProvider

# Frühere ODBC-Treiberversionen
<a name="odbc20-previous-versions"></a>

Laden Sie eine frühere Version der Amazon-Redshift-ODBC-Treiberversion 2.x nur dann herunter, wenn Ihr Tool eine spezifische Version des Treibers benötigt. 

## Verwenden früherer ODBC-Treiberversionen für Microsoft Windows
<a name="odbc20-previous-versions-windows"></a>

Nachfolgend finden Sie die früheren Versionen von Amazon-Redshift-ODBC-Treiberversion 2.x für Microsoft Windows: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC64-2.1.14.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC64-2.1.14.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC64-2.1.13.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC64-2.1.13.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC64-2.1.12.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC64-2.1.12.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC64-2.1.11.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC64-2.1.11.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC64-2.1.10.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC64-2.1.10.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC64-2.1.8.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC64-2.1.8.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC64-2.1.7.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC64-2.1.7.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC64-2.1.6.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC64-2.1.6.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC64-2.1.4.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC64-2.1.4.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC64-2.1.3.0.msi Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC64-2.1.3.0.msi) Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC64-2.1.2.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC64-2.1.2.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC64-2.1.1.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC64-2.1.1.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC64-2.1.0.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC64-2.1.0.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC64-2.0.1.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC64-2.0.1.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC64-2.0.0.11.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC64-2.0.0.11.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC64-2.0.0.9.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC64-2.0.0.9.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC64-2.0.0.8.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC64-2.0.0.8.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC64-2.0.0.7.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC64-2.0.0.7.msi) . msi 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC64-2.0.0.6.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC64-2.0.0.6.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC64-2.0.0.5.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC64-2.0.0.5.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC64-2.0.0.3.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC64-2.0.0.3.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC64-2.0.0.1.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC64-2.0.0.1.msi) 

## Verwenden früherer ODBC-Treiberversionen für Linux
<a name="odbc20-previous-versions-linux"></a>

Nachfolgend finden Sie die früheren Versionen von Amazon-Redshift-ODBC-Treiberversion 2.x für Linux: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.aarch64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.aarch64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.aarch64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.aarch64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC-64-bit-2.1.10.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC-64-bit-2.1.10.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC-64-bit-2.1.9.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC-64-bit-2.1.9.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC-64-bit-2.1.8.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC-64-bit-2.1.8.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC-64-bit-2.1.7.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC-64-bit-2.1.7.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC-64-bit-2.1.6.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC-64-bit-2.1.6.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC-64-bit-2.1.4.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC-64-bit-2.1.4.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC-64-bit-2.1.3.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC-64-bit-2.1.3.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC-64-bit-2.1.2.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC-64-bit-2.1.2.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC-64-bit-2.1.1.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC-64-bit-2.1.1.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC-64-bit-2.1.0.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC-64-bit-2.1.0.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC-64-bit-2.0.1.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC-64-bit-2.0.1.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC-64-bit-2.0.0.11.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC-64-bit-2.0.0.11.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC-64-bit-2.0.0.9.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC-64-bit-2.0.0.9.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC-64-bit-2.0.0.8.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC-64-bit-2.0.0.8.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC-64-bit-2.0.0.7.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC-64-bit-2.0.0.7.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC-64-bit-2.0.0.6.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC-64-bit-2.0.0.6.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC-64-bit-2.0.0.5.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC-64-bit-2.0.0.5.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC-64-bit-2.0.0.3.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC-64-bit-2.0.0.3.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC-64-bit-2.0.0.1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC-64-bit-2.0.0.1.x86_64.rpm) 

## Frühere ODBC-Treiberversionen für Apple macOS verwenden
<a name="odbc20-previous-versions-mac"></a>

Im Folgenden sind die vorherigen Versionen des Amazon Redshift ODBC-Treibers Version 2.x für Apple macOS aufgeführt: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit.2.1.14.0.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit.2.1.14.0.universal.pkg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit.2.1.13.0.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit.2.1.13.0.universal.pkg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit.2.1.12.0.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit.2.1.12.0.universal.pkg) 

# Konfiguration einer ODBC-Treiberverbindung, Version 1.x
<a name="configure-odbc-connection"></a>

Für zahlreiche SQL-Client-Tools und Anwendungen von Drittanbietern können Sie eine ODBC-Verbindung verwenden, um Ihren Amazon-Redshift-Cluster zu verbinden. Hierzu müssen Sie die Verbindung auf Ihrem Clientcomputer oder in Ihrer Amazon-EC2-Instance einrichten. Wenn Ihr Client-Tool JDBC unterstützt, sollten Sie aufgrund der einfachen Konfigurierbarkeit von JDBC diese Verbindungsart anstelle von ODBC verwenden. Wenn Ihr Client-Tool JDBC nicht unterstützt, folgen Sie den Schritten in diesem Abschnitt, um eine ODBC-Verbindung zu konfigurieren. 

Amazon Redshift stellt 64-Bit-ODBC-Treiber für Linux-, Windows- und macOS X-Betriebssysteme bereit. Die 32-Bit-ODBC-Treiber werden eingestellt. Es werden außer dringenden Sicherheitspatches keine weiteren Updates veröffentlicht. 

Aktuelle Informationen zur ODBC-Treiberfunktionalität und zu den Voraussetzungen finden Sie unter [Versionshinweise für Amazon-Redshift-ODBC-Treiber](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Release+Notes.pdf). 

Informationen zur Installation und Konfigurierung von Amazon-Redshift-ODBC-Treibern finden Sie im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Abrufen der ODBC-URL](obtain-odbc-url.md)
+ [Verwenden eines ODBC-Treibers von Amazon Redshift unter Microsoft Windows](install-odbc-driver-windows.md)
+ [Verwenden eines ODBC-Treibers für Amazon Redshift unter Linux](install-odbc-driver-linux.md)
+ [Verwenden eines ODBC-Treibers für Amazon Redshift unter macOS X](install-odbc-driver-mac.md)
+ [ODBC-Treiberoptionen](configure-odbc-options.md)
+ [Frühere ODBC-Treiberversionen](odbc-previous-versions.md)

# Abrufen der ODBC-URL
<a name="obtain-odbc-url"></a>

Amazon Redshift zeigt die ODBC-URL für Ihren Cluster in der Amazon-Redshift-Konsole an. Diese URL enthält die für die Einrichtung der Verbindung zwischen Ihrem Clientcomputer und der Datenbank benötigten Informationen.

 Eine ODBC-URL hat das folgende Format: `Driver={driver};Server=endpoint;Database=database_name;UID=user_name;PWD=password;Port=port_number` 

Die Felder des im Vorhergehenden gezeigten Formats haben die folgenden Werte.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/obtain-odbc-url.html)

 Die Felder in den vorherigen Tabellen können die folgenden Sonderzeichen enthalten:

```
[]{}(),;?*=!@ 
```

 Wenn Sie diese Sonderzeichen verwenden, müssen Sie den Wert in geschweifte Klammern setzen. So wird beispielsweise der Passwortwert `Your;password123` in einer Verbindungszeichenfolge als `PWD={Your;password123};` dargestellt. 

 Da `Field=value`-Paare durch ein Semikolon getrennt sind, wird die Kombination von `}` und `;` mit beliebig vielen Leerzeichen dazwischen als Ende eines `Field={value};`-Paares betrachtet. Wir empfehlen Ihnen, die Folge `};` in Ihren Feldwerten zu vermeiden. Wenn Sie als Passwortwert beispielsweise `PWD={This is a passwor} ;d};` festlegen, lautet Ihr Passwort `This is a passwor} ;` und die URL würde einen Fehler ausgeben. 

Im Folgenden finden Sie ein Beispiel für eine ODBC-URL.

```
Driver={Amazon Redshift (x64)};
                    Server=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com;
                    Database=dev; 
                    UID=adminuser;
                    PWD=insert_your_admin_user_password_here;
                    Port=5439
```

Informationen darüber, wie Sie Ihre ODBC-Verbindung herstellen können, finden Sie unter [Suche der Zeichenfolge für die Verbindung mit dem Cluster](connecting-connection-string.md). 

# Verwenden eines ODBC-Treibers von Amazon Redshift unter Microsoft Windows
<a name="install-odbc-driver-windows"></a>

Sie installieren den Amazon-Redshift-ODBC-Treiber auf Client-Computern, indem Sie auf ein Amazon-Redshift-Data-Warehouse zugreifen. Jeder Computer, auf dem Sie den Treiber installieren, muss bestimmte Mindestsystemanforderungen erfüllen. Informationen zu den Mindestsystemanforderungen finden Sie im [Handbuch für die Installation und Konfiguration des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Herunterladen und Installieren des ODBC-Treibers für Amazon Redshift](odbc-driver-windows-how-to-install.md)
+ [Erstellen eines System-DSN-Eintrags für eine ODBC-Verbindung](create-dsn-odbc-windows.md)

# Herunterladen und Installieren des ODBC-Treibers für Amazon Redshift
<a name="odbc-driver-windows-how-to-install"></a>

Gehen Sie wie folgt vor, um die Amazon-Redshift-ODBC-Treiber für Windows-Betriebssysteme herunterzuladen. Verwenden Sie nur dann einen anderen Treiber als die hier aufgelisteten, wenn Sie eine Drittanbieteranwendung ausführen, die für die Verwendung mit Amazon Redshift zertifiziert ist und einen spezifischen Treiber erfordert. 

**So installieren Sie den ODBC-Treiber**

1. Laden Sie einen der folgenden Treiber herunter, abhängig von der Systemarchitektur Ihres SQL-Client-Tools oder Ihrer Anwendung: 
   + [64-Bit-ODBC-Treiberversion 1.6.3](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC64-1.6.3.1008.msi) 1.6.3.

     Der Name dieses Treibers ist Amazon Redshift (x64).
   + [32-Bit-ODBC-Treiberversion 1.4.52](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC32-1.4.52.1000.msi) 1.4.52

     Der Name dieses Treibers ist Amazon Redshift (x86). Die 32-Bit-ODBC-Treiber werden eingestellt. Es werden außer dringenden Sicherheitspatches keine weiteren Updates veröffentlicht.
**Anmerkung**  
Laden Sie das MSI-Paket herunter, das der Systemarchitektur Ihres SQL-Client-Tools oder Ihrer Anwendung entspricht. Wenn Ihr SQL-Client-Tool beispielsweise 64-Bit ist, installieren Sie den 64-Bit-Treiber.

    Laden Sie anschließend den [Lizenzvertrag für Amazon-Redshift-ODBC- und -JDBC-Treiber](https://s3.amazonaws.com/redshift-downloads/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf) herunter und prüfen Sie ihn. 

1.  Doppelklicken Sie auf die MSI-Datei und folgen Sie anschließend den Schritten des Assistenten, um den Treiber zu installieren. 

# Erstellen eines System-DSN-Eintrags für eine ODBC-Verbindung
<a name="create-dsn-odbc-windows"></a>

Nachdem Sie den ODBC-Treiber heruntergeladen und installiert haben, fügen Sie dem Clientcomputer oder der Amazon-EC2-Instance einen Datenquellennamen (Data Source Name, DSN) hinzu. SQL-Client-Tools verwenden diese Datenquelle, um eine Verbindung mit der Amazon-Redshift-Datenbank herzustellen. 

Sie sollten anstelle eines Benutzer-DSN einen System-DSN erstellen. Einige Anwendungen laden die Daten über ein anderes Benutzerkonto. Diese Anwendungen sind möglicherweise nicht in der Lage, Benutzer zu erkennen, die unter einem anderen Benutzerkonto DSNs erstellt wurden.

**Anmerkung**  
Für die Authentifizierung mit AWS Identity and Access Management (IAM-) Anmeldeinformationen oder Identity Provider-Anmeldeinformationen (IdP) sind zusätzliche Schritte erforderlich. Weitere Informationen finden Sie unter [Schritt 5: Konfigurieren einer JDBC- oder ODBC-Verbindung zur Verwendung von IAM-Anmeldeinformationen](generating-iam-credentials-steps.md#generating-iam-credentials-configure-jdbc-odbc).

Informationen zum Erstellen eines System-DSN-Eintrags finden Sie im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**So erstellen Sie einen System-DSN-Eintrag für eine ODBC-Verbindung unter Windows**

1. Öffnen Sie im Menü **Start (Start)** die Option **ODBC Data Sources (ODBC-Datenquellen)**.

   Stellen Sie sicher, dass Sie einen ODBC-Datenquellenadministrator mit derselben Bitness wie die Clientanwendung auswählen, über die Sie die Verbindung mit Amazon Redshift herstellen.

1. Wählen Sie im **Data Source Administrator** (ODBC-Datenquellenadministrator) die Registerkarte **Driver** (Treiber) und suchen Sie den Treiberordner:
   + **Amazon-Redshift-ODBC-Treiber (64-Bit)**
   + **Amazon-Redshift-ODBC-Treiber (32-Bit)**

1.  Wählen Sie die Registerkarte **System DSN (System-DSN)** aus, um den Treiber für alle Benutzer auf dem Computer zu konfigurieren, oder die Registerkarte **User DSN (Benutzer-DSN)**, um den Treiber nur für Ihr Benutzerkonto zu konfigurieren. 

1.  Wählen Sie **Add (Hinzufügen)** aus. Das Fenster **Create New Data Source (Neue Datenquelle erstellen)** wird geöffnet. 

1.  Wählen Sie den ** Amazon-Redshift**-ODBC-Treiber und dann **Finish (Beenden)** aus. Das Fenster **Amazon Redshift ODBC Driver DSN Setup (DSN-Einrichtung des Amazon-Redshift-ODBC-Treibers)** wird geöffnet.

1. Geben Sie unter **Connection Settings (Verbindungseinstellungen)** die folgenden Informationen ein:
<a name="rs-mgmt-dsn"></a>
**Datenquellenname**  
Geben Sie einen Namen für die Datenquelle ein. Sie können jeden gewünschten Namen verwenden, um die Datenquelle später zu identifizieren, nachdem Sie die Verbindung mit Cluster hergestellt haben. Wenn Sie beispielsweise den Anweisungen unter *Erste Schritte mit Amazon Redshift* gefolgt sind, können Sie `exampleclusterdsn` eingeben, um sich den Cluster leichter zu merken, den Sie mit diesem DSN verknüpfen.
<a name="rs-mgmt-server"></a>
**Server**  
Geben Sie den Endpunkt für Ihren Amazon-Redshift-Cluster an. Sie finden diese Informationen in der Amazon-Redshift-Konsole auf der Seite mit den Cluster-Details. Weitere Informationen finden Sie unter [Konfigurieren von Verbindungen in Amazon Redshift](configuring-connections.md).
<a name="rs-mgmt-port"></a>
**Port**  
Geben Sie die Portnummer ein, die von der Datenbank verwendet wird. Verwenden Sie den Port, für dessen Verwendung der Cluster konfiguriert wurde, als er gestartet oder geändert wurde.
<a name="rs-mgmt-database"></a>
**Datenbank**  
Geben Sie den Namen der Amazon-Redshift-Datenbank ein. Wenn Sie den Cluster gestartet haben, ohne einen Datenbanknamen anzugeben, geben Sie ein `dev`. Verwenden Sie andernfalls den Namen, den Sie während des Startvorgangs ausgewählt haben. Wenn Sie den Anweisungen unter *Erste Schritte mit Amazon Redshift* gefolgt sind, geben Sie `dev` ein.

1. Geben Sie unter **Authentication (Authentifizierung)** die Konfigurationsoptionen an, um die Standard- oder IAM-Authentifizierung zu konfigurieren. Informationen zu Authentifizierungsoptionen finden Sie unter „Konfigurieren der Authentifizierung unter Windows“ im *Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Konnektors*. 

1. Geben Sie unter **SSL Settings (SSL-Einstellungen)** einen Wert für folgende Einstellungen an:
<a name="rs-mgmt-ssl-authentication"></a>
**SSL-Authentifizierung**  
Wählen Sie einen Modus für den Umgang mit Secure Sockets Layer (SSL) aus. In einer Testumgebung können Sie verwenden `prefer`. Für Produktionsumgebungen und dann, wenn ein sicherer Datenaustausch erforderlich ist, verwenden Sie jedoch `verify-ca` oder `verify-full`. Weitere Informationen zur Verwendung von SSL unter Windows finden Sie unter „Konfigurieren der SSL-Verifizierung unter Windows“ im *Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors*. 

1. Geben Sie unter **Additional options (Zusätzliche Optionen)** Optionen dazu an, wie Abfrageergebnisse an das SQL-Clienttool oder die SQL-Anwendung zurückgegeben werden. Weitere Informationen finden Sie unter „Konfigurieren von zusätzlichen Optionen unter Windows“ im *Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors*. 

1. Geben Sie unter **Logging Options (Protokollierungsoptionen)** Werte für die Protokollierungsoption an: Weitere Informationen finden Sie unter „Konfigurieren von Protokollierungsoptionen unter Windows“ im *Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors*. 

   Wählen Sie dann **OK** aus.

1. Geben Sie unter **Data Type Options** (Datentypoptionen) Werte für Datentypen an. Weitere Informationen finden Sie unter „Konfigurieren von Datentypoptionen unter Windows“ im *Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors*. 

   Wählen Sie dann **OK** aus.

1. Wählen Sie **Test** aus. Wenn der Client-Computer eine Verbindung mit der Amazon-Redshift-Datenbank herstellen kann, wird Ihnen die folgende Meldung angezeigt: **Connection successful (Verbindung erfolgreich)**. 

    Wenn der Client-Computer keine Verbindung mit der Datenbank herstellen kann, können Sie mögliche Fehler beheben. Weitere Informationen finden Sie unter [Beheben von Problemen mit Verbindungen in Amazon Redshift](troubleshooting-connections.md). 

1. Konfigurieren Sie TCP-Keepalives unter Windows, um ein Timeout für Verbindungen zu verhindern. Informationen zum Konfigurieren von TCP-Keepalives unter Windows finden Sie im *Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors*.

1. Konfigurieren Sie die Protokollierung, um die Fehlerbehebung zu erleichtern. Informationen zum Konfigurieren der Protokollierung unter Windows finden Sie im *Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors*. 

# Verwenden eines ODBC-Treibers für Amazon Redshift unter Linux
<a name="install-odbc-driver-linux"></a>

Sie installieren den Amazon-Redshift-ODBC-Treiber auf Client-Computern, indem Sie auf ein Amazon-Redshift-Data-Warehouse zugreifen. Jeder Computer, auf dem Sie den Treiber installieren, muss bestimmte Mindestsystemanforderungen erfüllen. Informationen zu den Mindestsystemanforderungen finden Sie im [Handbuch für die Installation und Konfiguration des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Herunterladen und Installieren des ODBC-Treibers für Amazon Redshift](odbc-driver-linux-how-to-install.md)
+ [Verwenden eines ODBC-Treibermanagers zum Konfigurieren des Treibers](odbc-driver-configure-linux.md)

# Herunterladen und Installieren des ODBC-Treibers für Amazon Redshift
<a name="odbc-driver-linux-how-to-install"></a>

Führen Sie die in diesem Abschnitt beschriebenen Schritte aus, um die Amazon-Redshift-ODBC-Treiber für eine unterstützte Linux-Distribution herunterzuladen und zu installieren. Der Installationsvorgang installiert die Treiberdateien in den folgenden Verzeichnissen: 
+ `/opt/amazon/redshiftodbc/lib/64` (für den 64-Bit-Treiber)
+ `/opt/amazon/redshiftodbc/ErrorMessages`
+ `/opt/amazon/redshiftodbc/Setup`
+  `/opt/amazon/redshiftodbc/lib/32` (für den 32-Bit-Treiber)<a name="rs-mgmt-install-odbc-drivers-linux"></a>

**So installieren Sie den Amazon-Redshift-ODBC-Treibers**

1. Laden Sie einen der folgenden Treiber herunter, abhängig von der Systemarchitektur Ihres SQL-Client-Tools oder Ihrer Anwendung: 
   + [64-Bit-RPM-Treiberversion 1.6.3](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC-64-bit-1.6.3.1008-1.x86_64.rpm) . 
   + [64-Bit-Debian-Treiberversion 1.6.3](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC-64-bit-1.6.3.1008-1.x86_64.deb) . 
   + [32-Bit-Treiberversion 1.4.52 1.6.3.](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-32-bit-1.4.52.1000-1.i686.rpm) 

   Der Name für beide Treiber ist Amazon-Redshift-ODBC-Treiber. Die 32-Bit-ODBC-Treiber werden eingestellt. Es werden außer dringenden Sicherheitspatches keine weiteren Updates veröffentlicht.
**Anmerkung**  
Laden Sie das Paket herunter, das der Systemarchitektur Ihres SQL-Client-Tools oder Ihrer Anwendung entspricht. Wenn Ihr Client-Tool beispielsweise 64-Bit ist, installieren Sie einen 64-Bit-Treiber.

    Laden Sie anschließend den [Lizenzvertrag für Amazon-Redshift-ODBC- und -JDBC-Treiber](https://s3.amazonaws.com/redshift-downloads/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf) herunter und prüfen Sie ihn. 

1. Navigieren Sie zu dem Verzeichnis, in das Sie das Paket heruntergeladen haben, und führen Sie einen der folgenden Befehle aus. Verwenden Sie den Befehl, der Ihrer Linux-Distribution entspricht. 
   + Führen Sie auf den Betriebssystemen RHEL und CentOS den folgenden Befehl aus.

     ```
     yum -nogpgcheck localinstall RPMFileName
     ```

     Ersetzen Sie *`RPMFileName`* durch den Dateinamen des RPM-Pakets. Im folgenden Beispiel wird die Installation des 64-Bit-Treibers gezeigt:

     ```
     yum -nogpgcheck localinstall AmazonRedshiftODBC-64-bit-1.x.xx.xxxx-x.x86_64.rpm
     ```
   + Führen Sie auf SLES den folgenden Befehl aus:

     ```
     zypper install RPMFileName
     ```

     Ersetzen Sie *`RPMFileName`* durch den Dateinamen des RPM-Pakets. Im folgenden Beispiel wird die Installation des 64-Bit-Treibers gezeigt:

     ```
     zypper install AmazonRedshiftODBC-1.x.x.xxxx-x.x86_64.rpm
     ```
   + Führen Sie unter Debian den folgenden Befehl aus.

     ```
     sudo apt install ./DEBFileName.deb
     ```

     Ersetzen Sie `DEBFileName.deb` durch den Dateinamen des Debian-Pakets. Im folgenden Beispiel wird die Installation des 64-Bit-Treibers gezeigt:

     ```
     sudo apt install ./AmazonRedshiftODBC-1.x.x.xxxx-x.x86_64.deb
     ```

**Wichtig**  
Wenn Sie die Installation der Treiber abgeschlossen haben, konfigurieren Sie sie für die Verwendung auf Ihrem System. Weitere Informationen zum Konfigurieren von Treibern finden Sie unter [Verwenden eines ODBC-Treibermanagers zum Konfigurieren des TreibersVerwenden eines ODBC-Treibermanagers zum Konfigurieren des Treibers](odbc-driver-configure-linux.md).

# Verwenden eines ODBC-Treibermanagers zum Konfigurieren des Treibers
<a name="odbc-driver-configure-linux"></a>

Für Linux-Betriebssysteme verwenden Sie einen ODBC-Treibermanager, um die ODBC-Verbindungseinstellungen zu konfigurieren. ODBC-Treibermanager verwenden Konfigurationsdateien, um ODBC-Datenquellen und -Treiber zu definieren und zu konfigurieren. Der ODBC-Treibermanager, den Sie verwenden, ist vom verwendeten Betriebssystem abhängig. Für Linux ist dies der unixODBC-Treibermanager.

Weitere Informationen zu den ODBC-Treibermanagern, die für die Konfigurierung der ODBC-Treiber von Amazon Redshift unterstützt werden, finden Sie unter [Verwenden eines ODBC-Treibers für Amazon Redshift unter LinuxVerwenden eines ODBC-Treibers unter Linux](install-odbc-driver-linux.md) für Linux-Betriebssysteme. Siehe auch „Angeben von ODBC-Treibermanagern auf Nicht-Windows-Computern“ im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Für die Konfiguration des Amazon-Redshift-ODBC-Treibers sind drei Dateien erforderlich: `amazon.redshiftodbc.ini`, `odbc.ini` und `odbcinst.ini`.

Wenn Sie die Installation am Standardspeicherort ausgeführt haben, befindet sich die `amazon.redshiftodbc.ini`-Konfigurationsdatei in einem der folgenden Verzeichnisse:
+ `/opt/amazon/redshiftodbc/lib/64` (für den 64-Bit-Treiber unter Linux-Betriebssystemen)
+ `/opt/amazon/redshiftodbc/lib/32` (für den 32-Bit-Treiber unter Linux-Betriebssystemen)

Unter `/opt/amazon/redshiftodbc/Setup` gibt es für Linux außerdem Beispiel-`odbc.ini` und `odbcinst.ini`-Dateien. Sie können diese Dateien als Beispiele für die Konfiguration des Amazon-Redshift-ODBC-Treibers und des Datenquellennamens (DSN) verwenden.

Die Verwendung des Installationsverzeichnisses für den Amazon-Redshift-ODBC-Treiber für die Konfigurationsdateien wird nicht empfohlen. Die Beispieldateien im `Setup`-Verzeichnis dienen lediglich Beispielzwecken. Wenn Sie den Amazon-Redshift-ODBC-Treiber zu einem späteren Zeitpunkt neu installieren oder auf eine neuere Version aktualisieren, wird das Installationsverzeichnis überschrieben. Sie verlieren dann alle Änderungen, die Sie möglicherweise an diesen Dateien vorgenommen haben.

Um dies zu vermeiden, kopieren Sie die `amazon.redshiftodbc.ini`-Datei in ein anderes Verzeichnis als das Installationsverzeichnis. Wenn Sie diese Datei in das Stammverzeichnis des Benutzers kopieren, fügen Sie am Anfang der Datei einen Punkt (.) hinzu, um die Datei zu verbergen.

Verwenden Sie für die `odbc.ini`- und `odbcinst.ini`-Dateien entweder die Konfigurationsdateien im Basisverzeichnis des Benutzers, oder erstellen Sie neue Versionen in einem anderen Verzeichnis. Standardmäßig sollte Ihr Linux-Betriebssystem eine `odbc.ini`-Datei und eine `odbcinst.ini`-Datei im Home-Verzeichnis des Benutzers haben (`/home/$USER` oder `~/`). Bei diesen Standarddateien handelt es sich um versteckte Dateien, die durch den Punkt (.) vor jedem Dateinamen angezeigt werden. Diese Dateien werden nur angezeigt, wenn Sie das `-a`-Flag zum Auflisten des Verzeichnisinhalts verwenden.

Unabhängig davon, welche Option Sie für die `odbc.ini`- und `odbcinst.ini`-Dateien wählen, ändern Sie die Dateien, um Treiber- und DSN-Konfigurationsinformationen hinzuzufügen. Wenn Sie neue Dateien erstellen, müssen Sie auch Umgebungsvariablen festlegen, um anzugeben, wo diese Konfigurationsdateien gespeichert sind. 

Standardmäßig sind ODBC-Treibermanager so konfiguriert, dass sie versteckte Versionen der `odbc.ini`- und `odbcinst.ini`-Konfigurationsdateien (mit den Namen `odbc.ini` und.`odbcinst.ini`) im Home-Verzeichnis verwenden. Sie sind auch so konfiguriert, dass die `amazon.redshiftodbc.ini`-Datei im `/lib`-Unterordner des Treiberinstallationsverzeichnisses verwendet wird. Wenn Sie diese Konfigurationsdateien an anderer Stelle speichern, legen Sie die folgenden Umgebungsvariablen fest, damit der Treibermanager die Dateien finden kann. Weitere Informationen finden Sie unter „Festlegen der Speicherorte der Treiberkonfigurationsdateien“ im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). . 

## Erstellen eines Datenquellennamens unter Linux-Betriebssystemen
<a name="configure-odbc-ini-file"></a>

 Wenn Sie über einen Datenquellennamen (DSN) eine Verbindung zu Ihrem Datenspeicher herstellen, konfigurieren Sie die zu definierende `odbc.ini` Datei. DSNs Legen Sie die Eigenschaften in der `odbc.ini`-Datei fest, um einen DSN zu erstellen, der die Verbindungsinformationen für den Datenspeicher angibt.

Weitere Informationen zum Konfigurieren der `odbc.ini`-Datei finden Sie unter „Erstellen eines Datenquellennamens auf einem Nicht-Windows-Computer“ im [Installations- und Konfigurationshandbuch für Amazon Redshift ODBC Connector](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf) 

 Verwenden Sie das folgende Format auf Linux-Betriebssystemen.

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/driver_file

Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

Im folgenden Beispiel wird die Konfiguration von odbc.ini mit dem 64-Bit-ODBC-Treiber auf Linux-Betriebssystemen gezeigt.

```
[ODBC Data Sources]
Amazon_Redshift_x64=Amazon Redshift (x64)

[Amazon Redshift (x64)]
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

Im folgenden Beispiel wird die Konfiguration von odbc.ini mit dem 32-Bit-ODBC-Treiber auf Linux-Betriebssystemen gezeigt.

```
[ODBC Data Sources]
Amazon_Redshift_x32=Amazon Redshift (x86)

[Amazon Redshift (x86)]
Driver=/opt/amazon/redshiftodbc/lib/32/libamazonredshiftodbc32.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

## Konfigurieren einer Verbindung ohne DSN unter Linux-Betriebssystemen
<a name="configure-odbcinst-ini-file"></a>

Um eine Verbindung mit dem Datenspeicher über eine Verbindung herzustellen, die nicht über einen DSN verfügt, definieren Sie den Treiber in der `odbcinst.ini`-Datei. Geben Sie dann eine DSN-lose Verbindungszeichenfolge in Ihrer Anwendung an.

Informationen zum Konfigurieren der `odbcinst.ini`-Datei in diesem Fall finden Sie unter „Konfigurieren einer DNS-losen Verbindung auf einem Nicht-Windows-Computer“ im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

Verwenden Sie das folgende Format auf Linux-Betriebssystemen.

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/driver_file
    
...
```

Im folgenden Beispiel wird die `odbcinst.ini`-Konfiguration für den 64-Bit-Treiber gezeigt, der bei Linux-Betriebssystemen in den Standardverzeichnissen installiert ist:

```
[ODBC Drivers]
Amazon Redshift (x64)=Installed

[Amazon Redshift (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
```

Im folgenden Beispiel wird die `odbcinst.ini`-Konfiguration für den 32-Bit-Treiber gezeigt, der bei Linux-Betriebssystemen in den Standardverzeichnissen installiert ist:

```
[ODBC Drivers]
Amazon Redshift (x86)=Installed

[Amazon Redshift (x86)]
Description=Amazon Redshift ODBC Driver (32-bit)
Driver=/opt/amazon/redshiftodbc/lib/32/libamazonredshiftodbc32.so
```

## Konfigurieren von Umgebungsvariablen
<a name="rs-mgmt-config-global-env-variables"></a>

Verwenden Sie den richtigen ODBC-Treibermanager, um den korrekten Treiber zu laden. Legen Sie dazu die Umgebungsvariable für den Bibliothekspfad fest. Weitere Informationen finden Sie unter „Angeben von ODBC-Treibermanagern auf Nicht-Windows-Computern“ im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Standardmäßig sind ODBC-Treibermanager so konfiguriert, dass sie versteckte Versionen der `odbc.ini`- und `odbcinst.ini`-Konfigurationsdateien (mit den Namen `odbc.ini` und.`odbcinst.ini`) im Home-Verzeichnis verwenden. Sie sind auch so konfiguriert, dass die `amazon.redshiftodbc.ini`-Datei im `/lib`-Unterordner des Treiberinstallationsverzeichnisses verwendet wird. Wenn Sie diese Konfigurationsdateien an anderer Stelle speichern, werden die Umgebungsvariablen verwendet, damit der Treibermanager die Dateien finden kann. Weitere Informationen finden Sie unter „Festlegen der Speicherorte der Treiberkonfigurationsdateien“ im *Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors*. 

## Konfigurieren von Verbindungsfunktionen
<a name="connection-config-features"></a>

Sie können die folgenden Verbindungsfunktionen für Ihre ODBC-Einstellung konfigurieren:
+ Konfigurieren Sie den ODBC-Treiber, um Anmeldeinformationen bereitzustellen und die Verbindung zur Amazon-Redshift-Datenbank zu authentifizieren.
+ Konfigurieren Sie den ODBC-Treiber für die Herstellung einer Verbindung zu einem Socket, das mit Secure Sockets Layer (SSL) aktiviert ist, wenn Sie eine Verbindung zu einem Amazon-Redshift-Server herstellen, auf dem SSL aktiviert ist.
+ Konfigurieren Sie den ODBC-Treiber für die Verbindung zu Amazon Redshift über einen Proxy-Server.
+ Konfigurieren Sie den ODBC-Treiber so, dass er einen Abfrageverarbeitungsmodus verwendet, um zu verhindern, dass Abfragen zu viel Speicher belegen.
+ Konfigurieren Sie den ODBC-Treiber so, dass IAM-Authentifizierungsprozesse über einen Proxy-Server übergeben werden.
+ Konfigurieren Sie den ODBC-Treiber so, dass TCP-Keepalives verwendet werden, um ein Timeout für Verbindungen zu verhindern.

Informationen zu diesen Verbindungsfunktionen finden Sie im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

# Verwenden eines ODBC-Treibers für Amazon Redshift unter macOS X
<a name="install-odbc-driver-mac"></a>

Sie installieren den Treiber auf Client-Computern, indem Sie auf ein Amazon-Redshift-Data-Warehouse zugreifen. Jeder Computer, auf dem Sie den Treiber installieren, muss bestimmte Mindestsystemanforderungen erfüllen. Informationen zu den Mindestsystemanforderungen finden Sie im [Handbuch für die Installation und Konfiguration des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Herunterladen und Installieren des ODBC-Treibers für Amazon Redshift](odbc-driver-mac-how-to-install.md)
+ [Verwenden eines ODBC-Treibermanagers für die Konfiguration des Treibers](odbc-driver-configure-mac.md)

# Herunterladen und Installieren des ODBC-Treibers für Amazon Redshift
<a name="odbc-driver-mac-how-to-install"></a>

Folgen Sie den Schritten in diesem Abschnitt, um den Amazon-Redshift-ODBC-Treiber unter einer unterstützten Version von macOS X herunterzuladen und zu installieren. Der Installationsvorgang installiert die Treiberdateien in den folgenden Verzeichnissen: 
+ `/opt/amazon/redshift/lib/universal`
+ `/opt/amazon/redshift/ErrorMessages`
+ `/opt/amazon/redshift/Setup`<a name="rs-mgmt-install-odbc-drivers-mac"></a>

**So installieren Sie den Amazon-Redshift-ODBC-Treiber unter macOS X**

1. Um den Amazon Redshift ODBC-Treiber auf MacOS X zu installieren, laden Sie die [macOS-Treiberversion](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC-64-bit.1.6.3.1008.universal.pkg) 1.6.3 herunter. 

   Laden Sie anschließend den [Lizenzvertrag für Amazon-Redshift-ODBC- und -JDBC-Treiber](https://s3.amazonaws.com/redshift-downloads/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf) herunter und prüfen Sie ihn. 

1. Doppelklicken Sie auf **AmazonRedshiftODBC.pkg**, um das Installationsprogramm auszuführen.

1. Befolgen Sie die Schritte im Installationsprogramm, um die Treiberinstallation abzuschließen. Sie müssen den Bestimmungen des Lizenzvertrags zustimmen, um die Installation durchzuführen.

**Wichtig**  
Wenn Sie die Installation des Treibers abgeschlossen haben, konfigurieren Sie ihn für die Verwendung auf Ihrem System. Weitere Informationen zum Konfigurieren von Treibern finden Sie unter [Verwenden eines ODBC-Treibermanagers für die Konfiguration des TreibersVerwenden eines ODBC-Treibermanagers für die Konfiguration des Treibers](odbc-driver-configure-mac.md).

# Verwenden eines ODBC-Treibermanagers für die Konfiguration des Treibers
<a name="odbc-driver-configure-mac"></a>

Auf macOS X-Betriebssystemen verwenden Sie einen ODBC-Treibermanager, um die ODBC-Verbindungseinstellungen zu konfigurieren. ODBC-Treibermanager verwenden Konfigurationsdateien, um ODBC-Datenquellen und -Treiber zu definieren und zu konfigurieren. Der ODBC-Treibermanager, den Sie verwenden, ist vom verwendeten Betriebssystem abhängig. Für ein macOS X-Betriebssystem ist dies der iODBC-Treibermanager.

Weitere Informationen zu den ODBC-Treibermanagern, die für die Konfigurierung der ODBC-Treiber von Amazon Redshift unterstützt werden, finden Sie unter [Verwenden eines ODBC-Treibers für Amazon Redshift unter macOS XVerwenden eines ODBC-Treibers unter macOS X](install-odbc-driver-mac.md) für macOS-X-Betriebssysteme. Siehe auch „Angeben von ODBC-Treibermanagern auf Nicht-Windows-Computern“ im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Für die Konfiguration des Amazon-Redshift-ODBC-Treibers sind drei Dateien erforderlich: `amazon.redshiftodbc.ini`, `odbc.ini` und `odbcinst.ini`.

Wenn Sie am Standardspeicherort installiert haben, befindet sich die `amazon.redshiftodbc.ini`-Konfigurationsdatei in `/opt/amazon/redshift/lib`.

Zusätzlich gibt es unter `/opt/amazon/redshift/Setup` auf macOS X Beispiel-`odbc.ini` und `odbcinst.ini`-Dateien. Sie können diese Dateien als Beispiele für die Konfiguration des Amazon-Redshift-ODBC-Treibers und des Datenquellennamens (DSN) verwenden.

Die Verwendung des Installationsverzeichnisses für den Amazon-Redshift-ODBC-Treiber für die Konfigurationsdateien wird nicht empfohlen. Die Beispieldateien im `Setup`-Verzeichnis dienen lediglich Beispielzwecken. Wenn Sie den Amazon-Redshift-ODBC-Treiber zu einem späteren Zeitpunkt neu installieren oder auf eine neuere Version aktualisieren, wird das Installationsverzeichnis überschrieben. Sie verlieren dann alle Änderungen, die Sie möglicherweise an diesen Dateien vorgenommen haben.

Um dies zu vermeiden, kopieren Sie die `amazon.redshiftodbc.ini`-Datei in ein anderes Verzeichnis als das Installationsverzeichnis. Wenn Sie diese Datei in das Stammverzeichnis des Benutzers kopieren, fügen Sie am Anfang der Datei einen Punkt (.) hinzu, um die Datei zu verbergen.

Verwenden Sie für die `odbc.ini`- und `odbcinst.ini`-Dateien entweder die Konfigurationsdateien im Basisverzeichnis des Benutzers, oder erstellen Sie neue Versionen in einem anderen Verzeichnis. Standardmäßig sollte Ihr macOS X-Betriebssystem eine `odbc.ini`-Datei und eine `odbcinst.ini`-Datei im Home-Verzeichnis des Benutzers (`/home/$USER` oder `~/`) haben. Bei diesen Standarddateien handelt es sich um versteckte Dateien, die durch den Punkt (.) vor jedem Dateinamen angezeigt werden. Diese Dateien werden nur angezeigt, wenn Sie das `-a`-Flag zum Auflisten des Verzeichnisinhalts verwenden.

Unabhängig davon, welche Option Sie für die `odbc.ini`- und `odbcinst.ini`-Dateien wählen, ändern Sie die Dateien, um Treiber- und DSN-Konfigurationsinformationen hinzuzufügen. Wenn Sie neue Dateien erstellen, müssen Sie auch Umgebungsvariablen festlegen, um anzugeben, wo diese Konfigurationsdateien gespeichert sind. 

Standardmäßig sind ODBC-Treibermanager so konfiguriert, dass sie versteckte Versionen der `odbc.ini`- und `odbcinst.ini`-Konfigurationsdateien (mit den Namen `odbc.ini` und.`odbcinst.ini`) im Home-Verzeichnis verwenden. Sie sind auch so konfiguriert, dass die `amazon.redshiftodbc.ini`-Datei im `/lib`-Unterordner des Treiberinstallationsverzeichnisses verwendet wird. Wenn Sie diese Konfigurationsdateien an anderer Stelle speichern, legen Sie die folgenden Umgebungsvariablen fest, damit der Treibermanager die Dateien finden kann. Weitere Informationen finden Sie unter „Festlegen der Speicherorte der Treiberkonfigurationsdateien“ im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). . 

## Erstellen eines Datenquellennamens unter macOS X-Betriebssystemen
<a name="configure-odbc-ini-file"></a>

 Wenn Sie über einen Datenquellennamen (DSN) eine Verbindung zu Ihrem Datenspeicher herstellen, konfigurieren Sie die zu DSNs definierende `odbc.ini` Datei. Legen Sie die Eigenschaften in der `odbc.ini`-Datei fest, um einen DSN zu erstellen, der die Verbindungsinformationen für den Datenspeicher angibt.

Informationen zur Konfiguration der `odbc.ini` Datei finden Sie unter „Erstellen eines Datenquellennamens auf einem Nicht-Windows-Computer“ im [Installations- und Konfigurationsleitfaden für den Amazon Redshift ODBC Connector](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). Connector Installations- und Konfigurationshandbuch 

Verwenden Sie das folgende Format auf macOS X-Betriebssystemen.

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/lib/amazonredshiftodbc.dylib

Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

 Im folgenden Beispiel wird die Konfiguration für `odbc.ini` auf macOS X-Betriebssystemen gezeigt:

```
[ODBC Data Sources]
Amazon_Redshift_dylib=Amazon Redshift DSN for macOS X

[Amazon Redshift DSN for macOS X]
Driver=/opt/amazon/redshift/lib/amazonredshiftodbc.dylib
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

## Konfigurieren einer Verbindung ohne DSN unter macOS X-Betriebssystemen
<a name="configure-odbcinst-ini-file"></a>

Um eine Verbindung mit dem Datenspeicher über eine Verbindung herzustellen, die nicht über einen DSN verfügt, definieren Sie den Treiber in der `odbcinst.ini`-Datei. Geben Sie dann eine DSN-lose Verbindungszeichenfolge in Ihrer Anwendung an.

Informationen zum Konfigurieren der `odbcinst.ini`-Datei in diesem Fall finden Sie unter „Konfigurieren einer DNS-losen Verbindung auf einem Nicht-Windows-Computer“ im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Verwenden Sie das folgende Format auf macOS X-Betriebssystemen.

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/lib/amazonredshiftodbc.dylib
    
...
```

Im folgenden Beispiel wird die `odbcinst.ini`-Konfiguration für den Treiber gezeigt, der im Standardverzeichnis von macOS X-Betriebssystemen installiert ist.

```
[ODBC Drivers]
Amazon RedshiftODBC DSN=Installed

[Amazon RedshiftODBC DSN]
Description=Amazon Redshift ODBC Driver for macOS X
Driver=/opt/amazon/redshift/lib/amazonredshiftodbc.dylib
```

## Konfigurieren von Umgebungsvariablen
<a name="rs-mgmt-config-global-env-variables"></a>

Verwenden Sie den richtigen ODBC-Treibermanager, um den korrekten Treiber zu laden. Legen Sie dazu die Umgebungsvariable für den Bibliothekspfad fest. Weitere Informationen finden Sie unter „Angeben von ODBC-Treibermanagern auf Nicht-Windows-Computern“ im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Standardmäßig sind ODBC-Treibermanager so konfiguriert, dass sie versteckte Versionen der `odbc.ini`- und `odbcinst.ini`-Konfigurationsdateien (mit den Namen `odbc.ini` und.`odbcinst.ini`) im Home-Verzeichnis verwenden. Sie sind auch so konfiguriert, dass die `amazon.redshiftodbc.ini`-Datei im `/lib`-Unterordner des Treiberinstallationsverzeichnisses verwendet wird. Wenn Sie diese Konfigurationsdateien an anderer Stelle speichern, werden die Umgebungsvariablen verwendet, damit der Treibermanager die Dateien finden kann. Weitere Informationen finden Sie unter „Festlegen der Speicherorte der Treiberkonfigurationsdateien“ im *Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors*. 

## Konfigurieren von Verbindungsfunktionen
<a name="connection-config-features"></a>

Sie können die folgenden Verbindungsfunktionen für Ihre ODBC-Einstellung konfigurieren:
+ Konfigurieren Sie den ODBC-Treiber, um Anmeldeinformationen bereitzustellen und die Verbindung zur Amazon-Redshift-Datenbank zu authentifizieren.
+ Konfigurieren Sie den ODBC-Treiber für die Herstellung einer Verbindung zu einem Socket, das mit Secure Sockets Layer (SSL) aktiviert ist, wenn Sie eine Verbindung zu einem Amazon-Redshift-Server herstellen, auf dem SSL aktiviert ist.
+ Konfigurieren Sie den ODBC-Treiber für die Verbindung zu Amazon Redshift über einen Proxy-Server.
+ Konfigurieren Sie den ODBC-Treiber so, dass er einen Abfrageverarbeitungsmodus verwendet, um zu verhindern, dass Abfragen zu viel Speicher belegen.
+ Konfigurieren Sie den ODBC-Treiber so, dass IAM-Authentifizierungsprozesse über einen Proxy-Server übergeben werden.
+ Konfigurieren Sie den ODBC-Treiber so, dass TCP-Keepalives verwendet werden, um ein Timeout für Verbindungen zu verhindern.

Informationen zu diesen Verbindungsfunktionen finden Sie im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

# ODBC-Treiberoptionen
<a name="configure-odbc-options"></a>

Sie können Konfigurationsoptionen verwenden, um das Verhalten des Amazon-Redshift-ODBC-Treibers zu steuern.

Unter Microsoft Windows legen Sie die Treiberoptionen in der Regel fest, wenn Sie einen Datenquellennamen (Data Source Name, DSN) konfigurieren. Sie können auch Treiberoptionen in der Verbindungszeichenfolge einstellen, wenn Sie eine programmgesteuerte Verbindung herstellen oder Registrierungsschlüssel in hinzufügen oder ändern `HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\your_DSN`. Weitere Informationen zur Konfiguration eines DSN finden Sie unter [Verwenden eines ODBC-Treibers von Amazon Redshift unter Microsoft Windows](install-odbc-driver-windows.md).

Unter macOS X legen Sie Treiberkonfigurationsoptionen in Ihren `odbc.ini`- und `amazon.redshiftodbc.ini`-Dateien fest, wie in [Verwenden eines ODBC-Treibermanagers für die Konfiguration des TreibersVerwenden eines ODBC-Treibermanagers für die Konfiguration des Treibers](odbc-driver-configure-mac.md) beschrieben. In einer `amazon.redshiftodbc.ini`-Datei eingestellte Konfigurationsoptionen gelten für alle Verbindungen. Konfigurationsoptionen, die in einer `odbc.ini`-Datei festgelegt wurden, gelten hingegen jeweils nur für eine bestimmte Verbindung. In `odbc.ini` eingestellte Konfigurationsoptionen haben Vorrang vor Konfigurationsoptionen, die in `amazon.redshiftodbc.ini` festgelegt sind.

Informationen zum Einrichten von ODBC-Treiberkonfigurationsoptionen finden Sie im [Handbuch für die Installation und Konfigurierung des Amazon-Redshift-ODBC-Connectors](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

# Frühere ODBC-Treiberversionen
<a name="odbc-previous-versions"></a>

Sie sollten eine frühere Version des Amazon-Redshift-ODBC-Treibers nur dann herunterladen, wenn Ihr Tool eine spezifische Treiberversion benötigt. 

## Frühere ODBC-Treiberversionen für Windows
<a name="odbc-previous-versions-windows"></a>

Im Folgenden sind die 64-Bit-Treiber aufgeführt: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC64-1.6.3.1006.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC64-1.6.3.1006.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC64-1.6.1.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC64-1.6.1.1000.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC64-1.5.20.1024.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC64-1.5.20.1024.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC64-1.5.16.1019.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC64-1.5.16.1019.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC64-1.5.9.1011.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC64-1.5.9.1011.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC64-1.5.7.1007.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC64-1.5.7.1007.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC64-1.4.65.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC64-1.4.65.1000.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC64-1.4.62.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC64-1.4.62.1000.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC64-1.4.59.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC64-1.4.59.1000.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC64-1.4.56.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC64-1.4.56.1000.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.53.1000/AmazonRedshiftODBC64-1.4.53.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.53.1000/AmazonRedshiftODBC64-1.4.53.1000.msi) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC64-1.4.52.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC64-1.4.52.1000.msi) Verwenden Sie 

32-Bit-Treiber werden eingestellt und frühere Versionen werden nicht unterstützt.

## Frühere ODBC-Treiberversionen für Linux
<a name="odbc-previous-versions-linux"></a>

Im Folgenden sind die Versionen des 64-Bit-Treibers aufgeführt: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit-1.6.3.1006-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit-1.6.3.1006-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit-1.6.1.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit-1.6.1.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-64-bit-1.5.20.1024-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-64-bit-1.5.20.1024-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-64-bit-1.5.16.1019-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-64-bit-1.5.16.1019-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-64-bit-1.5.9.1011-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-64-bit-1.5.9.1011-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-64-bit-1.5.7.1007-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-64-bit-1.5.7.1007-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-64-bit-1.4.65.1000-1.x86\$164.rpm Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-64-bit-1.4.65.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-64-bit-1.4.62.1000-1.x86\$164.rpm Verwenden](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-64-bit-1.4.62.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-Bit-1.4.59.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86\$164.deb](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86_64.deb) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-Bit-1.4.56.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86\$164.deb](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86_64.deb) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86\$164.deb](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86_64.deb) 

32-Bit-Treiber werden eingestellt und frühere Versionen werden nicht unterstützt.

## Frühere ODBC-Treiberversionen für macOS X
<a name="odbc-previous-versions-mac"></a>

Im Folgenden finden Sie die Versionen des Amazon-Redshift-ODBC-Treibers für macOS X: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-Bit.1.6.3.1006.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit.1.6.3.1006.universal.pkg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-Bit.1.6.1.1000.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit.1.6.1.1000.universal.pkg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.arm64.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.arm64.dmg) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.x86_64.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-1.5.16.1019.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-1.5.16.1019.x86_64.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-1.5.9.1011.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-1.5.9.1011.x86_64.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-1.5.7.1007.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-1.5.7.1007.x86_64.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-1.4.65.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-1.4.65.1000.dmg) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-1.4.62.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-1.4.62.1000.dmg) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-1.4.59.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-1.4.59.1000.dmg) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-1.4.56.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-1.4.56.1000.dmg) Verwenden Sie 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-1.4.52.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-1.4.52.1000.dmg) Verwenden Sie 

# Konfigurieren von Sicherheitsoptionen für Verbindungen
<a name="connecting-ssl-support"></a>

Amazon Redshift unterstützt Secure Sockets Layer (SSL)-Verbindungen, um Daten und Serverzertifikate zu verschlüsseln, um das Zertifikat des Servers zu validieren, mit dem der Client die Verbindung herstellt. 

## SSL
<a name="connect-using-ssl"></a>

Um SSL-Verbindungen zu unterstützen, erstellt und installiert Amazon Redshift auf jedem Cluster ein von [AWS Certificate Manager (ACM)](https://aws.amazon.com/certificate-manager/) ausgegebenes SSL-Zertifikat. ACM-Zertifikaten wird von den meisten Betriebssystemen, Webbrowsern und Clients öffentlich vertraut. Sie müssen unter Umständen ein Zertifikatspaket herunterladen, wenn Ihre SQL-Clients oder -Anwendungen eine SSL-Verbindung zu Amazon Redshift herstellen und die Verbindungsoption `sslmode` auf `require`, `verify-ca` oder `verify-full` festgelegt ist. Wenn Ihr Kunde ein Zertifikat benötigt, stellt Amazon Redshift wie folgt ein Zertifikatspaket zur Verfügung:
+ [Laden Sie das Bundle von .crt herunter. https://s3.amazonaws.com/redshift-downloads/ amazon-trust-ca-bundle](https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt) 
  + Die erwartete MD5 Prüfsummenzahl ist 418dea9b6d5d5de7a8f1ac42e164cdcf.
  + Die sha256-Prüfsummennummer ist 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

  Verwenden Sie nicht das vorherige Zertifikatpaket, das auf `https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt` zu finden ist. 
+  Laden Sie das Paket in China AWS-Region von herunter [https://s3.cn-north-1.amazonaws.com. cn/redshift-downloads-cn/amazon- trust-ca-bundle .crt](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt). 
  + Die erwartete MD5 Prüfsummenzahl ist 418dea9b6d5d5de7a8f1ac42e164cdcf.
  + Die sha256-Prüfsummennummer ist 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

  Verwenden Sie nicht vorherige Zertifikatpakete, die auf `https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/redshift-ca-bundle.crt` und `https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem` zu finden sind.

**Wichtig**  
Amazon Redshift hat die Verwaltung von SSL-Zertifikaten verändert. Sie müssen möglicherweise Ihre aktuellen vertrauenswürdigen CA-Stammzertifikate aktualisieren, um weiterhin mit SSL Verbindungen zu Ihren Clustern herstellen zu können. Weitere Informationen finden Sie unter [Umstellung auf ACM-Zertifikate für SSL-Verbindungen](connecting-transitioning-to-acm-certs.md).

Standardmäßig akzeptieren Cluster-Datenbanken eine Verbindung unabhängig davon, ob es sich um eine SSL-Verbindung handelt oder nicht. Um Ihren Cluster so zu konfigurieren, dass er eine SSL-Verbindung erfordert, legen Sie den Parameter `require_SSL` in der Parametergruppe, die mit dem Cluster verknüpft ist, auf `true` fest. 

Amazon Redshift unterstützt ein mit Federal Information Processing Standard (FIPS) 140-2 kompatibles SSL-Modus. Der FIPS-kompatible SSL-Modus ist standardmäßig deaktiviert. 

**Wichtig**  
Aktivieren Sie den FIPS-konformen SSL-Modus nur, wenn Ihr System FIPS-konform sein muss.

Wenn Sie den FIPS-kompatiblen SSL-Modus aktivieren möchten, legen Sie in der dem Amazon-Redshift-Cluster oder der Redshift-Serverless-Arbeitsgruppe zugeordneten Parametergruppe für die Parameter `use_fips_ssl` und `require_SSL` den Wert `true` fest. Weitere Informationen zum Ändern einer Parametergruppe auf einem Cluster finden Sie unter [Amazon-Redshift-Parametergruppen](working-with-parameter-groups.md). Weitere Informationen zum Ändern einer Parametergruppe auf einer Arbeitsgruppe finden Sie unter [Konfigurieren einer FIPS-konformen SSL-Verbindung zu Amazon Redshift Serverless](serverless-connecting.md#serverless_secure-fips-ssl). 

 Amazon Redshift unterstützt das Elliptic Curve Diffie–Hellman Ephemeral (ECDHE) Key Agreement-Protokoll. Mit ECDHE besitzen sowohl der Client als auch der Server ein öffentlich-privates Elliptic Curve-Schlüsselpaar, das verwendet wird, um ein gemeinsames Geheimnis über einen nicht sicheren Kanal einzurichten. Sie müssen nichts in Amazon Redshift konfigurieren, um ECDHE zu aktivieren. Wenn Sie sich von einem SQL-Client-Tool aus verbinden, das ECDHE verwendet, um die Kommunikation zwischen dem Client und dem Server zu verschlüsseln, verwendet Amazon Redshift die angegebene Verschlüsselungsliste, um die entsprechende Verbindung herzustellen. Weitere Informationen finden Sie unter [Diffie-Hellman-Schlüsselaustausch](https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman) auf Wikipedia und [Ciphers (Verschlüsselungsverfahren)](https://www.openssl.org/) auf der OpenSSL-Website. 

## SSL- und Trust CA-Zertifikate in ODBC
<a name="connecting-ssl-support-odbc"></a>

Wenn Sie Verbindungen mithilfe der aktuellen Amazon Redshift-ODBC-Treiber (Version 1.3.7.1000 oder neuer) herstellen, können Sie diesen Abschnitt überspringen. Die neuesten Treiber finden Sie unter [Konfigurieren einer Verbindung für ODBC-Treiberversion 2.x für Amazon Redshift](odbc20-install.md). 

Sie müssen möglicherweise Ihre aktuellen vertrauenswürdigen CA-Stammzertifikate aktualisieren, um weiterhin mit SSL Verbindungen zu Ihren Clustern herstellen zu können. Weitere Informationen finden Sie unter [SSL](#connect-using-ssl).

Sie können überprüfen, ob das Zertifikat, das Sie heruntergeladen haben, mit der erwarteten Prüfsummenzahl übereinstimmt. MD5 Um dies zu tun, können Sie das MD5sum-Programm unter Linux oder ein anderes Tool unter Windows- und macOS X-Betriebssystemen verwenden.

 ODBC DSNs enthält eine `sslmode` Einstellung, die festlegt, wie mit der Verschlüsselung von Clientverbindungen und der Überprüfung von Serverzertifikaten umgegangen werden soll. Amazon Redshift unterstützt die folgenden `sslmode`-Werte aus der Clientverbindung: 
+ `disable`

  SSL ist deaktiviert und die Verbindung ist nicht verschlüsselt.
+ `allow`

  SSL wird verwendet, wenn der Server es fordert.
+ `prefer`

  SSL wird verwendet, wenn der Server es unterstützt. Amazon Redshift unterstützt SSL. Daher wird SSL verwendet, wenn Sie`sslmode` auf `prefer` festlegen.
+ `require`

  SSL ist erforderlich.
+ `verify-ca`

  SSL muss verwendet werden und das Serverzertifikat muss bestätigt werden.
+ `verify-full`

  SSL muss verwendet werden. Das Serverzertifikat muss bestätigt werden und der Server-Hostname muss mit dem Hostnamen-Attribut auf dem Zertifikat übereinstimmen. 

Sie können festlegen, ob SSL verwendet wird und Serverzertifikate in einer Verbindung zwischen Client und Server verifiziert werden. Dazu müssen Sie die `sslmode`-Einstellung für Ihren ODBC-DSN auf dem Client und die `require_SSL`-Einstellung für den Amazon-Redshift-Cluster auf dem Server überprüfen. In der folgenden Tabelle wird das Verschlüsselungsergebnis für die verschiedenen Kombinationen von Client- und Servereinstellungen beschrieben: 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/connecting-ssl-support.html)

### Verbindung unter Verwendung des Serverzertifikats mit ODBC in Microsoft Windows
<a name="connecting-ssl-support-odbc-with-cert"></a>

 Wenn Sie mithilfe von SSL und dem Serverzertifikat eine Verbindung mit dem Cluster herstellen möchten, laden Sie das Zertifikat zuerst auf den Clientcomputer oder die Amazon-EC2-Instance herunter. Konfigurieren Sie dann den ODBC-DSN. 

1.  Laden Sie das Amazon-Redshift-Zertifizierungsstellen-Bundle auf Ihren Client-Computer in den Ordner `lib` in Ihrem Verzeichnis für die Treiberinstallation herunter und speichern Sie die Datei als `root.crt`. Informationen zum Download finden Sie unter [SSL](#connect-using-ssl).

1.  Öffnen Sie **ODBC Data Source Administrator (OBDC-Datenquellenadministrator)** und fügen Sie den DSN-Eintrag des Systems für Ihre ODBC-Verbindung hinzu oder bearbeiten Sie diesen. Wählen Sie für **SSL Mode (SSL-Modus)** die Option `verify-full` aus, wenn Sie kein DNS-Alias verwenden. Wählen Sie aus, wenn Sie ein DNS-Alias verwenden `verify-ca`. Wählen Sie dann **Speichern**. 

    Weitere Informationen zum Konfigurieren des ODBC-DSN finden Sie unter [Konfigurieren einer Verbindung für ODBC-Treiberversion 2.x für Amazon Redshift](odbc20-install.md). 

## SSL- und Serverzertifikaten in Java
<a name="connecting-ssl-support-java"></a>

SSL stellt eine einzelne Sicherheitsschicht bereit, indem Daten verschlüsselt werden, die zwischen Ihrem Client und Ihrem Cluster verschoben werden. Die Verwendung eines Serverzertifikats bietet eine zusätzliche Sicherheitsschicht, da auf diese Weise überprüft wird, ob es sich beim Cluster um einen Amazon-Redshift-Cluster handelt. Dies erfolgt durch Prüfung des Serverzertifikats, das automatisch auf allen von Ihnen bereitgestellten Clustern installiert wird. Weitere Informationen zur Verwendung von Serverzertifikaten mit JDBC finden Sie unter [Configuring the client](https://jdbc.postgresql.org/documentation/ssl/#configuring-the-client) in der PostgreSQL-Dokumentation.

### Verbindungsherstellung unter Verwendung von Trust CA-Zertifikaten in Java
<a name="connecting-ssl-support-java-with-cert"></a>

**Wichtig**  
Amazon Redshift hat die Verwaltung von SSL-Zertifikaten verändert. Sie müssen möglicherweise Ihre aktuellen vertrauenswürdigen CA-Stammzertifikate aktualisieren, um weiterhin mit SSL Verbindungen zu Ihren Clustern herstellen zu können. Weitere Informationen finden Sie unter [SSL](#connect-using-ssl).

**Mithilfe von Trust CA-Zertifikaten stellen Sie eine Verbindung wie folgt her**

Sie können die `redshift-keytool.jar` Datei verwenden, um CA-Zertifikate aus dem Amazon Redshift Certificate Authority Bundle in ein Java-Format TrustStore oder Ihr privates TrustStore zu importieren.

1. Wenn Sie die Option `-Djavax.net.ssl.trustStore` für die Java-Befehlszeile verwenden, entfernen Sie es falls möglich aus der Befehlszeile.

1. Laden Sie [redshift-keytool.jar](https://s3.amazonaws.com/redshift-downloads/redshift-keytool.jar) herunter.

1. Führen Sie eine der folgenden Aktionen aus:
   + Führen Sie den folgenden Befehl aus, um das Amazon Redshift Certificate Authority Bundle in Java TrustStore zu importieren. 

     ```
     java -jar redshift-keytool.jar -s
     ```
   + Führen Sie den folgenden Befehl aus, um das Amazon Redshift Certificate Authority Bundle in Ihr privates TrustStore Paket zu importieren: 

     ```
     java -jar redshift-keytool.jar -k <your_private_trust_store> -p <keystore_password> 
     ```

# Umstellung auf ACM-Zertifikate für SSL-Verbindungen
<a name="connecting-transitioning-to-acm-certs"></a>

Amazon Redshift ersetzt die SSL-Zertifikate Ihrer Cluster durch von [AWS Certificate Manager (ACM)](https://aws.amazon.com/certificate-manager/) ausgegebene Zertifikate. ACM ist eine vertrauenswürdige öffentliche Zertifizierungsstelle, der die meisten Systeme vertrauen. Sie müssen möglicherweise Ihre aktuellen vertrauenswürdigen CA-Stammzertifikate aktualisieren, um weiterhin mit SSL Verbindungen zu Ihren Clustern herstellen zu können. 

Diese Änderung betrifft Sie nur, wenn alle folgenden Bedingungen zutreffen:
+  Die SQL-Clients bzw. -Anwendungen stellen Verbindungen zu Amazon Redshift mithilfe von SSL her, wenn die Verbindungsoption `sslMode` auf die Konfigurationsoptionen `require`, `verify-ca` oder `verify-full` festgelegt ist. 
+ Sie verwenden nicht die Amazon-Redshift-ODBC- oder -JDBC-Treiber oder Sie verwenden Amazon-Redshift-Treiber älter als ODBC-Version 1.3.7.1000 oder JDBC-Version 1.2.8.1005. 

Falls diese Änderung Sie in kommerziellen Amazon-Redshift-Regionen betrifft, müssen Sie Ihre aktuellen vertrauenswürdigen CA-Stammzertifikate vor dem 23. Oktober 2017 aktualisieren. Amazon Redshift führt die Umstellung Ihrer Cluster auf die Nutzung von ACM-Zertifikaten im Zeitraum von heute bis zum 23. Oktober 2017 durch. Diese Änderung sollte nur geringe oder keine Auswirkungen auf die Leistung und Verfügbarkeit Ihres Clusters haben.

Wenn diese Änderung Sie in Regionen AWS GovCloud (US) (USA) betrifft, müssen Sie Ihre aktuellen Trust-Root-CA-Zertifikate vor dem 1. April 2020 aktualisieren, um Serviceunterbrechungen zu vermeiden. Ab diesem Datum benötigen Clients, die sich über SSL-verschlüsselte Verbindungen mit Amazon-Redshift-Clustern verbinden, eine zusätzliche vertrauenswürdige Zertifizierungsstelle (CA). Clients verwenden vertrauenswürdige Zertifizierungsstellen, um die Identität des Amazon-Redshift-Clusters zu bestätigen, wenn sie eine Verbindung zu ihm herstellen. Ihre Aktion ist erforderlich, um Ihre SQL-Clients und -Anwendungen zu aktualisieren, um ein aktuelles Zertifikatpaket zu verwenden, das die neue vertrauenswürdige Zertifizierungsstelle enthält. 

**Wichtig**  
In den Regionen China ersetzt Amazon Redshift am 5. Januar 2021 die SSL-Zertifikate auf Ihren Clustern durch AWS Certificate Manager (ACM) ausgestellte Zertifikate. Wenn sich diese Änderung auf die Region China (Peking) oder China (Ningxia) auswirkt, müssen Sie Ihre aktuellen CA-Stammzertifikate vor dem 5. Januar 2021 aktualisieren, um Serviceunterbrechungen zu vermeiden. Ab diesem Datum benötigen Clients, die sich über SSL-verschlüsselte Verbindungen mit Amazon-Redshift-Clustern verbinden, eine zusätzliche vertrauenswürdige Zertifizierungsstelle (CA). Clients verwenden vertrauenswürdige Zertifizierungsstellen, um die Identität des Amazon-Redshift-Clusters zu bestätigen, wenn sie eine Verbindung zu ihm herstellen. Ihre Aktion ist erforderlich, um Ihre SQL-Clients und -Anwendungen zu aktualisieren, um ein aktuelles Zertifikatpaket zu verwenden, das die neue vertrauenswürdige Zertifizierungsstelle enthält.
+ [Verwendung der aktuellen Amazon-Redshift-ODBC- bzw. -JDBC-Treiber](#connecting-transitioning-to-acm-latest-odbc-jdbc)
+ [Verwendung älterer Amazon-Redshift-ODBC- bzw. -JDBC-Treiber](#connecting-transitioning-to-acm-earlier-odbc-jdbc)
+ [Verwendung anderer SSL-Verbindungstypen](#connecting-transitioning-to-acm-other-ssl-types)

## Verwendung der aktuellen Amazon-Redshift-ODBC- bzw. -JDBC-Treiber
<a name="connecting-transitioning-to-acm-latest-odbc-jdbc"></a>

Bevorzugt verwenden Sie die aktuellen Amazon Redshift-ODBC- bzw. -JDBC-Treiber. Amazon Redshift-Treiber ab ODBC-Version 1.3.7.1000 und JDBC-Version 1.2.8.1005 verwalten die Umstellung von einem selbstsignierten Amazon Redshift-Zertifikat auf ein ACM-Zertifikat automatisch. Die neuesten Treiber finden Sie unter [Konfiguration einer Verbindung für JDBC-Treiberversion 2.x für Amazon Redshift](jdbc20-install.md). 

Falls Sie die aktuellen Amazon Redshift-JDBC-Treiber verwenden, sollten Sie die Option `-Djavax.net.ssl.trustStore` in den JVM-Optionen nicht verwenden. Falls Sie `-Djavax.net.ssl.trustStore` verwenden müssen, importieren Sie das Redshift-Zertifizierungsstellen-Bundle in den TrustStore, auf den es verweist. Informationen zum Download finden Sie unter [SSL](connecting-ssl-support.md#connect-using-ssl). Weitere Informationen finden Sie unter [Importieren des Amazon Redshift Redshift-Zertifizierungsstellenpakets in ein TrustStore](#importing-the-acm-bundle-to-truststore).

## Verwendung älterer Amazon-Redshift-ODBC- bzw. -JDBC-Treiber
<a name="connecting-transitioning-to-acm-earlier-odbc-jdbc"></a>
+ Falls Ihr ODBC-DSN mit `SSLCertPath` konfiguriert ist, überschreiben Sie die Zertifikatsdatei im angegebenen Verzeichnis.
+ Falls `SSLCertPath` nicht konfiguriert ist, überschreiben Sie die Zertifikatdatei `root.crt` im Treiber-DLL-Verzeichnis. 

Wenn Sie Amazon-Redshift-JDBC-Treiber verwenden müssen, die älter als Version 1.2.8.1005 sind, führen Sie einen der folgenden Schritte aus:
+ Entfernen Sie die Option `sslCert`, falls Ihre JDBC-Verbindungszeichenfolge die Option `sslCert` verwendet. Importieren Sie dann das Redshift Certificate Authority Bundle in Ihr Java TrustStore. Informationen zum Download finden Sie unter [SSL](connecting-ssl-support.md#connect-using-ssl). Weitere Informationen finden Sie unter [Importieren des Amazon Redshift Redshift-Zertifizierungsstellenpakets in ein TrustStore](#importing-the-acm-bundle-to-truststore). 
+ Wenn Sie die Option `-Djavax.net.ssl.trustStore` für die Java-Befehlszeile verwenden, entfernen Sie es falls möglich aus der Befehlszeile. Importieren Sie dann das Redshift Certificate Authority Bundle in Ihr Java TrustStore. Informationen zum Download finden Sie unter [SSL](connecting-ssl-support.md#connect-using-ssl). Weitere Informationen finden Sie unter [Importieren des Amazon Redshift Redshift-Zertifizierungsstellenpakets in ein TrustStore](#importing-the-acm-bundle-to-truststore).

### Importieren des Amazon Redshift Redshift-Zertifizierungsstellenpakets in ein TrustStore
<a name="importing-the-acm-bundle-to-truststore"></a>

Sie können verwenden`redshift-keytool.jar`, um CA-Zertifikate aus dem Amazon Redshift Certificate Authority Bundle in einen Java TrustStore - oder Ihren privaten Truststore zu importieren.

**Um das Amazon Redshift Certificate Authority Bundle in ein TrustStore**

1. Laden Sie [redshift-keytool.jar](https://s3.amazonaws.com/redshift-downloads/redshift-keytool.jar) herunter.

1. Führen Sie eine der folgenden Aktionen aus:
   + Führen Sie den folgenden Befehl aus, um das Amazon Redshift Certificate Authority Bundle in Java TrustStore zu importieren. 

     ```
     java -jar redshift-keytool.jar -s
     ```
   + Führen Sie den folgenden Befehl aus, um das Amazon Redshift Certificate Authority Bundle in Ihr privates TrustStore Paket zu importieren: 

     ```
     java -jar redshift-keytool.jar -k <your_private_trust_store> -p <keystore_password> 
     ```

## Verwendung anderer SSL-Verbindungstypen
<a name="connecting-transitioning-to-acm-other-ssl-types"></a>

Befolgen Sie die Anweisungen in diesem Abschnitt, wenn Sie eine der folgenden Möglichkeiten zur Verbindungsherstellung nutzen:
+  Open-Source-ODBC-Treiber 
+  Open-Source-JDBC-Treiber 
+  Die Befehlszeilenschnittstelle von [Amazon Redshift RSQL](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html) 
+  Sprachbindungen auf Grundlage von libpq, z. B. psycopg2 (Python) und ruby-pg (Ruby) 

**Verwenden Sie ACM-Zertifikate wie folgt mit anderen SSL-Verbindungstypen:**

1.  Laden Sie das Amazon-Redshift-Zertifizierungsstellen-Bundle herunter. Informationen zum Download finden Sie unter [SSL](connecting-ssl-support.md#connect-using-ssl).

1. Platzieren Sie die Zertifikate des Bundle in der Datei `root.crt`. 
   + Unter Linux- und macOS X-Betriebssystemen ist diese Datei `~/.postgresql/root.crt`.
   + Unter Microsoft Windows ist diese Datei `%APPDATA%\postgresql\root.crt`.

# Herstellen von Verbindungen von Client-Tools aus und mit Code
<a name="connecting-via-client-tools"></a>

Amazon Redshift stellt Amazon Redshift Query Editor v2 zum Herstellen einer Verbindung mit Ihren Clustern und Arbeitsgruppen bereit. Weitere Informationen finden Sie unter [Abfragen einer Datenbank mit Query Editor v2Abfragen für Datenbanken mit dem Amazon-Redshift-Abfrage-Editor v2](query-editor-v2.md).

In diesem Abschnitt sind einige Optionen für Drittanbietertools zum Herstellen einer Verbindung aufgeführt. Außerdem wird beschrieben, wie Sie programmbasiert eine Verbindung mit Ihrem Cluster herstellen. 

**Topics**
+ [Verbinden mit Amazon-Redshift-RSQL](rsql-query-tool.md)
+ [Verbinden mit einem Cluster mit Amazon-Redshift-RSQL](rsql-query-tool-starting-tool-connection.md)
+ [Amazon-Redshift-RSQL-Metabefehle](rsql-query-tool-commands.md)
+ [Amazon-Redshift-RSQL-Variablen](rsql-query-tool-variables.md)
+ [Amazon-Redshift-RSQL-Fehlercodes](rsql-query-tool-error-codes.md)
+ [Amazon-Redshift-RSQL-Umgebungsvariablen](rsql-query-tool-environment-variables.md)

# Verbinden mit Amazon-Redshift-RSQL
<a name="rsql-query-tool"></a>

 Amazon-Redshift-RSQL ist ein Befehlszeilenclient für die Interaktion mit Amazon-Redshift-Clustern und -Datenbanken. Sie können eine Verbindung zu einem Amazon-Redshift-Cluster herstellen, Datenbankobjekte beschreiben, Daten abfragen und Abfrageergebnisse in verschiedenen Ausgabeformaten anzeigen. 

 Amazon-Redshift-RSQL unterstützt die Funktionen des PostgreSQL PSQL-Befehlszeilentools mit zusätzlichen Funktionen, die für Amazon Redshift spezifisch sind. Diese umfassen u. a. folgende: 
+ Sie können die Single Sign-On-Authentifizierung mit AD FS, Okta PingIdentity, Azure ADm oder anderen SAML/JWT basierten Identitätsanbietern verwenden. Sie können auch browserbasierte SAML-Identitätsanbieter für die Mehrfaktor-Authentifizierung (MFA) verwenden.
+ Sie können Eigenschaften oder Attribute von Amazon Redshift Redshift-Objekten wie Tabellenverteilungsschlüsseln, Tabellensortierschlüsseln, Late-Binding-Ansichten (LBVs) und materialisierten Ansichten beschreiben. Sie können auch Eigenschaften oder Attribute von externen Tabellen in einem AWS Glue Katalog oder Apache Hive Metastore, von externen Datenbanken in Amazon RDS for PostgreSQL, Amazon Aurora PostgreSQL-Compatible Edition, RDS for MySQL (Vorschau) und Amazon Aurora MySQL-Compatible Edition (Vorschau) sowie von Tabellen beschreiben, die mithilfe von Amazon Redshift Data Sharing gemeinsam genutzt wurden.
+ Sie können auch erweiterte Steuerflussbefehle wie `IF` (`\ELSEIF`, `\ELSE,`, `\ENDIF`), `\GOTO` und `\LABEL` verwenden.

 Im Amazon-Redshift-RSQL-Batchmodus, der ein Skript ausführt, das als Eingabeparameter übergeben wird, können Sie Skripte ausführen, die sowohl SQL als auch komplexe Geschäftslogik enthalten. Wenn Sie bereits über selbstverwaltete On-Premises-Data-Warehouses verfügen, können Sie Amazon-Redshift-RSQL verwenden, um vorhandene ETL-Skripte (ETL = Extrahieren, Transformieren, Laden) und Automatisierungsskripte wie Teradata-BTEQ-Skripte zu ersetzen. Die Verwendung von RSQL hilft Ihnen, Skripte in einer prozeduralen Sprache manuell neu zu implementieren. 

 Amazon Redshift ist verfügbar für Linux-, Windows- und macOS-X-Betriebssysteme. 

Um Probleme mit Amazon Redshift RSQL zu melden, schreiben Sie an redshift-rsql-support@amazon .com.

**Topics**
+ [Erste Schritte mit Amazon-Redshift-RSQL](rsql-query-tool-getting-started.md)
+ [Änderungsprotokoll für Amazon Redshift-RSQL](rsql-query-tool-changelog.md)

# Erste Schritte mit Amazon-Redshift-RSQL
<a name="rsql-query-tool-getting-started"></a>

Installieren Sie Amazon-Redshift-RSQL auf einem Computer mit einem Linux-, macOS- oder Microsoft Windows-Betriebssystem.

## RSQL herunterladen
<a name="rsql-query-tool-download"></a>
+  
  +  
  +  
+  
+  

Siehe das Änderungsprotokoll und die Downloads für frühere Versionen unter [Änderungsprotokoll für Amazon Redshift-RSQL](rsql-query-tool-changelog.md).

## RSQL für Linux installieren
<a name="rsql-query-tool-linux-install"></a>

Gehen Sie wie folgt vor, um RSQL für Linux zu installieren.

1. Installieren Sie den Treibermanager mit dem folgenden Befehl:

   ```
   sudo yum install unixODBC
   ```

1. Installieren Sie den ODBC-Treiber: [Herunterladen und Installieren des ODBC-Treibers für Amazon RedshiftHerunterladen und Installieren des ODBC-Treibers](odbc20-install-linux.md).

1. Kopieren Sie die .ini-Datei in Ihr aktuelles Verzeichnis.

   ```
   cp /opt/amazon/redshiftodbcx64/odbc.ini ~/.odbc.ini
   ```

1. Stellen Sie die Umgebungsvariablen so ein, dass sie auf den Speicherort der Datei verweisen:

   ```
   export ODBCINI=~/.odbc.ini
   export ODBCSYSINI=/opt/amazon/redshiftodbcx64/
   export AMAZONREDSHIFTODBCINI=/opt/amazon/redshiftodbcx64/amazon.redshiftodbc.ini
   ```

1. Sie können jetzt RSQL installieren, indem Sie folgenden Befehl ausführen.

   ```
   sudo rpm -i AmazonRedshiftRsql-<version>.rhel.x86_64.rpm
   ```

## RSQL für Mac installieren
<a name="rsql-query-tool-mac-install"></a>

Gehen Sie wie folgt vor, um RSQL für Mac OSX zu installieren.

1. Installieren Sie den Treibermanager mit dem folgenden Befehl:

   ```
   brew install unixodbc --build-from-source
   ```

1. Installieren Sie den ODBC-Treiber: [Herunterladen und Installieren des ODBC-Treibers für Amazon RedshiftHerunterladen und Installieren des ODBC-Treibers](odbc-driver-mac-how-to-install.md).

1. Kopieren Sie die .ini-Datei in Ihr aktuelles Verzeichnis.

   ```
   cp /opt/amazon/redshift/Setup/odbc.ini ~/.odbc.ini
   ```

1. Stellen Sie die Umgebungsvariablen so ein, dass sie auf den Speicherort der Datei verweisen:

   ```
   export ODBCINI=~/.odbc.ini
   export ODBCSYSINI=/opt/amazon/redshift/Setup
   export AMAZONREDSHIFTODBCINI=/opt/amazon/redshift/lib/amazon.redshiftodbc.ini
   ```

1. Geben Sie mit `DYLD_LIBRARY_PATH` den Speicherort Ihrer libodbc.dylib an, wenn diese nicht in `/usr/local/lib` ist.

   ```
   export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib
   ```

1. Doppelklicken Sie auf die PKG-Datei, um das Installationsprogramm auszuführen.

1. Befolgen Sie die Schritte im Installationsassistenten, um die Installation abzuschließen. Stimmen Sie den Bedingungen der Lizenzvereinbarung zu.

## Installieren von RSQL für Windows
<a name="rsql-query-tool-windows-install"></a>

Gehen Sie wie folgt vor, um RSQL für Windows zu installieren.

1. Installieren Sie den ODBC-Treiber: [Herunterladen und Installieren des ODBC-Treibers für Amazon RedshiftHerunterladen und Installieren des ODBC-Treibers](odbc-driver-windows-how-to-install.md).

1. Doppelklicken Sie auf die RSQL-Download-Datei, um das Installationsprogramm auszuführen, und folgen Sie den angezeigten Schritten, um die Installation abzuschließen.

# Änderungsprotokoll für Amazon Redshift-RSQL
<a name="rsql-query-tool-changelog"></a>

*1.1.2 (11.12.2025)*

Fehlerbehebungen
+ Es wurde ein Fehler behoben, der zu Fehlern bei den Befehlen\$1 goto und\$1 label führte.
+ Es wurde ein Fehler behoben, der verhinderte, dass RSQL Variablenwerte ausgab, wenn Variablen in Anführungszeichen eingeschlossen waren.
+ Es wurde ein Fehler behoben, der dazu führte, dass RSQL abstürzte, wenn die Abfrageergebnisse die Größe des ODBC-Parameters DSN Fetch überstiegen, während er aktiviert war. UseDeclareFetch 
+ Es wurde ein Problem behoben, bei dem mehrere Ergebnisseiten gleichzeitig zurückgegeben wurden, obwohl der Pager aktiviert war.
+ Es wurde ein Fehler behoben, der zu RSQL-Abstürzen führte, wenn Abfragen innerhalb von Transaktionsblöcken fehlschlugen.

*1.1.1 (20.11.2025)*

Fehlerbehebungen
+ Es wurde ein Problem behoben, bei dem RSQL Abfragen falsch analysierte, wenn das Flag -c verwendet wurde. Dieser Fix gilt für alle Plattformen.
+ Behebt einen Fehler auf dem Mac, der Benutzer daran hinderte, den Befehl\$1 s in RSQL zu verwenden.

*1.1.0 (11.11.2025)*

Fehlerbehebungen
+ Es wurde ein Speicherverlust behoben, der zu unerwarteten Abstürzen in rSQL führte.
+ Die OpenSSL-Abhängigkeit wurde aus RSQL entfernt.
+ Verbindungskonflikte mit libpq/psql Installationen in derselben Umgebung wurden behoben.
+ Verbesserte Plattformkompatibilität für Amazon Linux 2023, Windows und macOS.
+ Es wurde ein Problem behoben, bei dem die Ausgabe gekürzt wurde, wenn die aktuelle Anzeigegröße überschritten wurde.

*1.0.6 (19.06.2023)*

Fehlerbehebungen
+ Es wurde ein Problem behoben, bei dem die Ausgabe mit SHOW-Befehlen abgeschnitten wurde.
+ Zu \$1de wurde Unterstützung für die Beschreibung externer Kinesis-Streams und Kafka-Themen hinzugefügt.

*1.0.7 (22.03.2023)*

Fehlerbehebungen
+ Das Problem, dass RSQL keine materialisierten Ansichten beschreiben konnte, wurde behoben.
+ Ein Fehler aufgrund einer verweigerten Berechtigung in stl\$1connection\$1log bei Verwendung von Amazon Redshift Serverless wurde behoben.
+ Das Problem, dass RSQL \$1GOTO-Labels möglicherweise falsch verarbeitet, wurde behoben.
+ Das Problem, dass SSL-Nachrichten im Modus „Quiet“ gedruckt werden, wurde behoben.
+ Das Problem, dass bei der Beschreibung von gespeicherten Prozeduren zufällige Zeichen angezeigt werden, wurde behoben.
+ Problem beim Drucken doppelter ERROR/INFO Nachrichten behoben.

Neu
+ RSQL erhält jetzt SSL-Informationen direkt vom ODBC-Treiber.



*1.0.6 (21.02.2023)*

Fehlerbehebungen
+ Das Problem, dass \$1d einen Fehler – ungültige Eingabesyntax für Ganzzahl: „xid“ – auslöst, wurde in Redshift-Patch 1.0.46086 (P173) behoben.

Neu
+ Die Installationsdateien wurden umbenannt, um die unterstützte Architektur widerzuspiegeln.



*1.0.5 (27.06.2022)*

Fehlerbehebungen
+ Sendet SQL-Fehlermeldungen an den Standardfehler (stderr).
+ Problem mit Exitcodes bei Verwendung von ON\$1ERROR\$1STOP behoben. Skripte werden jetzt nach dem Auftreten eines Fehlers beendet und geben die korrekten Exitcodes zurück.
+ Maxerror berücksichtigt jetzt Groß- und Kleinschreibung nicht mehr.

Neu
+ Support für ODBC 2.x-Treiber hinzugefügt.



*1.0.4 (19.03.2022)*
+ Hinzufügung von Unterstützung für die RSPASSWORD-Umgebungsvariable. Festlegen eines Passworts, um eine Verbindung zu Amazon Redshift herzustellen. Beispiel, `export RSPASSWORD=TestPassw0rd`.



*1.0.3 (2021-12-08)*

Fehlerbehebungen
+ Das Popup des Dialogs bei Verwendung von `\c` oder `\logon`, um zwischen Datenbanken im Windows-Betriebssystem zu wechseln, wurde behoben.
+ Absturz beim Überprüfen von SSL-Informationen wurde behoben.



## Vorgängerversionen von Amazon-Redshift-RSQL
<a name="rsql-query-tool-changelog-legacy-versions"></a>

Wählen Sie einen der Links aus, um die benötigte Version von Amazon-Redshift-RSQL basierend auf Ihrem Betriebssystem herunterzuladen.

**Linux 64-Bit-RPM**
+ [RSQL Version 1.1.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.rhel.x86_64.rpm)
+ [RSQL Version 1.1.0](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.rhel.x86_64.rpm)
+ [RSQL-Version 1.0.8](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.rpm)
+ [RSQL-Version 1.0.7](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.rpm)
+ [RSQL-Version 1.0.6](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.rpm)
+ [RSQL-Version 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5-1.x86_64.rpm)
+ [RSQL-Version 1.0.4](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4-1.x86_64.rpm)
+ [RSQL-Version 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3-1.x86_64.rpm)
+ [RSQL-Version 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1-1.x86_64.rpm)

**Mac OS 64-Bit-DMG/PKG**
+ [RSQL Version 1.1.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.universal.pkg)
+ 
+ [RSQL-Version 1.0.8](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.dmg)
+ [RSQL-Version 1.0.7](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.dmg)
+ [RSQL-Version 1.0.6](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.dmg)
+ [RSQL-Version 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5.dmg)
+ [RSQL-Version 1.0.4](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4.dmg)
+ [RSQL-Version 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3.dmg)
+ [RSQL-Version 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1.dmg)

**Windows 64-Bit MSI**
+ [RSQL-Version 1.1.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.x86_64.msi)
+ [RSQL Version 1.1.0](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.x86_64.msi)
+ [RSQL Version 1.0.8](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.msi)
+ [RSQL-Version 1.0.7](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.msi)
+ [RSQL-Version 1.0.6](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.msi)
+ [RSQL-Version 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5.msi)
+ [RSQL-Version 1.0.4](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4.msi)
+ [RSQL-Version 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3.msi)
+ [RSQL-Version 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1.msi)

# Verbinden mit einem Cluster mit Amazon-Redshift-RSQL
<a name="rsql-query-tool-starting-tool-connection"></a>

Mit Amazon Redshift können Sie eine Verbindung mit einem Clustern herstellen und mit RSQL damit interagieren. Dies ist ein Befehlszeilentool, das eine sichere Möglichkeit bietet, Daten abzufragen, Datenbankobjekte zu erstellen und Ihren Amazon-Redshift-Cluster zu verwalten. Die folgenden Abschnitte führen Sie durch die Schritte zum Herstellen einer Verbindung zu Ihrem Cluster mithilfe von RSQL mit und ohne Datenquellennamen (DSN).

## Verbinden ohne DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-less-example"></a>

1. Wählen Sie in der Amazon-Redshift-Konsole den Cluster aus, mit dem Sie eine Verbindung herstellen möchten, und notieren Sie sich den Endpunkt, die Datenbank und den Port.

1. Geben Sie in der Eingabeaufforderung die Verbindungsinformationen an, indem Sie entweder Befehlszeilenparameter verwenden.

   ```
   rsql -h <endpoint> -U <username> -d <databasename> -p <port>
   ```

    Hier gilt Folgendes: 
   +  *<endpoint>*ist der **Endpunkt**, den Sie im vorherigen Schritt aufgezeichnet haben.
   +  *<username>*ist der Name eines Benutzers mit der Berechtigung, eine Verbindung zum Cluster herzustellen.
   +  *<databasename>*ist der **Datenbankname**, den Sie im vorherigen Schritt aufgezeichnet haben.
   +  *<port>*ist der **Port**, den Sie im vorherigen Schritt aufgezeichnet haben. *<port>*ist ein optionaler Parameter.

   Ein Beispiel folgt.

   ```
   rsql -h testcluster.example.amazonaws.com -U user1 -d dev -p 5439
   ```

1.  Geben Sie an der Passworteingabeaufforderung das Passwort für den *<username>* Benutzer ein.

   Ein erfolgreiches Ergebnis sieht wie folgt aus.

   ```
   % rsql -h testcluster.example.com -d dev -U user1 -p 5349
   Password for user user1:
   DSN-less Connected
   DBMS Name: Amazon Redshift
   Driver Name: Amazon Redshift ODBC Driver
   Driver Version: 1.4.27.1000
   Rsql Version: 1.0.1
   Redshift Version: 1.0.29306
   Type "help" for help.
   
   (testcluster) user1@dev=#
   ```

Der Befehl zum Verbinden hat dieselben Parameter unter Linux, Mac OS und Windows.

## Verbinden mit einem DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-example"></a>

Sie können RSQL über einen DSN mit Amazon Redshift verbinden, um die Organisation von Verbindungseigenschaften zu vereinfachen. Dieses Thema enthält Anweisungen zur ODBC-Treiberinstallation und Beschreibungen für DSN-Eigenschaften.

### Verwenden einer DSN-Verbindung mit einem Passwort
<a name="rsql-query-tool-starting-tool-connection-dsn-example-password"></a>

Im Folgenden wird ein Beispiel für eine DSN-Verbindungskonfiguration gezeigt, die ein Passwort verwendet. Der Standard-`<path to driver>` ist `/opt/amazon/redshift/lib/libamazonredshiftodbc.dylib` für Mac OSX und `/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so` für Linux.

```
[testuser]
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
Port=<database port>
Database=<dbname>
UID=<username>
PWD=<password>
sslmode=prefer
```

Die folgende Ausgabe erfolgt bei einer erfolgreichen Verbindung.

```
% rsql -D testuser
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) user1@dev=#
```

### Verwenden von Single-Sign-on-DSN
<a name="rsql-query-tool-starting-tool-connection-dsn"></a>

Sie können einen DSN für die Single-Sign-On-Authentifizierung konfigurieren. Im Folgenden wird ein Beispiel für eine DSN-Verbindungskonfiguration gezeigt, die den Okta Single Sign-On verwendet.

```
[testokta]
Driver=<path to driver>
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
clusterid=<cluster id>
region=<region name>
Database=<dbname>
locale=en-US
iam=1
plugin_name=<plugin name>
uid=<okta username>
pwd=<okta password>
idp_host=<idp endpoint>
app_id=<app id>
app_name=<app name>
preferred_role=<role arn>
```

Beispielausgabe einer erfolgreichen Verbindung.

```
% rsql -D testokta 
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) user1@dev=#
```

Im Folgenden wird ein Beispiel für eine DSN-Verbindungskonfiguration gezeigt, die den Azure Single Sign-On verwendet.

```
[testazure]
Driver=<path to driver>
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
Port=<cluster port>
clusterid=<cluster id>
region=<region name>
Database=<dbname>
locale=en-us
iam=1
plugin_name=<plugin name>
uid=<azure username>
pwd=<azure password>
idp_tenant=<Azure idp tenant uuid>
client_id=<Azure idp client uuid>
client_secret=<Azure idp client secret>
```

### Verwenden einer DSN-Verbindung mit einem IAM-Profil
<a name="rsql-query-tool-starting-tool-connection-dsn-iam"></a>

Sie können sich über Ihr konfiguriertes IAM-Profil mit Amazon Redshift verbinden. Das IAM-Profil muss über Berechtigungen zum Aufrufen von `GetClusterCredentials` verfügen. Das folgende Beispiel zeigt die zu verwendenden DSN-Eigenschaften. Die Parameter `ClusterID` und `Region` sind nur erforderlich, wenn `Host` kein von Amazon bereitgestellter Endpunkt wie `examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com` ist.

```
[testiam]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
Profile=default
```

Der Wert für den `Profile` Schlüssel ist das benannte Profil, das Sie aus Ihren AWS CLI-Anmeldeinformationen auswählen. Dieses Beispiel zeigt die Anmeldeinformationen für das Profil `default`.

```
$ cat .aws/credentials
[default]
aws_access_key_id = ASIAIOSFODNN7EXAMPLE 
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

Nachfolgend ist die Beispielantwort dargestellt.

```
$ rsql -D testiam
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) testuser@dev=>
```

### Verwenden einer DSN-Verbindung mit einem Instance-Profil
<a name="rsql-query-tool-starting-tool-connection-dsn-instance"></a>

Sie können über Ihr Amazon-EC2-Instance-Profil eine Verbindung zu Amazon Redshift herstellen. Das Instance-Profil muss über Berechtigungen zum Aufrufen von `GetClusterCredentials` verfügen. Im folgenden Beispiel finden Sie die zu verwendenden DSN-Eigenschaften. Die Parameter `ClusterID` und `Region` sind nur erforderlich, wenn `Host` kein von Amazon bereitgestellter Endpunkt wie `examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com` ist.

```
[testinstanceprofile]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
Instanceprofile=1
```

Nachfolgend ist die Beispielantwort dargestellt.

```
$ rsql -D testinstanceprofile
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) testuser@dev=>
```

### Verwenden einer DSN-Verbindung mit der standardmäßigen Anbieterkette von Anmeldeinformationen
<a name="rsql-query-tool-starting-tool-connection-dsn-provider-chain"></a>

Um eine Verbindung über die standardmäßige Anbieterkette für Anmeldeinformationen herzustellen, geben Sie nur die IAM-Eigenschaft an. Amazon Redshift RSQL versucht dann, Anmeldeinformationen in der unter [Arbeiten mit AWS Anmeldeinformationen im SDK for Java](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) beschriebenen Reihenfolge abzurufen. AWS Mindestens einer der Anbieter in der Kette muss die Berechtigung `GetClusterCredentials` besitzen. Dies ist beispielsweise nützlich, um eine Verbindung über ECS-Container herzustellen.

```
[iamcredentials]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
```

# Amazon-Redshift-RSQL-Metabefehle
<a name="rsql-query-tool-commands"></a>

Amazon-Redshift-RSQL-Metabefehle geben Informationsdatensätze über Datenbanken oder bestimmte Datenbankobjekte zurück. Die Ergebnisse können verschiedene Spalten und Metadaten enthalten. Andere Befehle führen bestimmte Aktionen aus. Diesen Befehlen geht ein umgekehrter Schrägstrich voraus.

## \$1d[S\$1]
<a name="rsql-query-tool-describe-d"></a>

 Listet lokal vom Benutzer erstellte Tabellen, reguläre Ansichten, späte Bindungsansichten und materialisierte Ansichten auf. `\dS ` listet wie `\d` auch Tabellen und Ansichten auf, aber in den zurückgegebenen Datensätzen sind Systemobjekte enthalten. Das `+` ergibt die zusätzliche Metadatenspalte `description` für alle aufgelisteten Objekte. Im Folgenden werden Beispieldatensätze angezeigt, die als Ergebnis des Befehls zurückgegeben wurden. 

```
List of relations
 schema |   name    | type  |  owner  
--------+-----------+-------+---------
 public | category  | table | awsuser
 public | date      | table | awsuser
 public | event     | table | awsuser
 public | listing   | table | awsuser
 public | sales     | table | awsuser
 public | users     | table | awsuser
 public | venue     | table | awsuser
(7 rows)
```

## \$1d[S\$1] NAME
<a name="rsql-query-tool-describe-s-plus-named"></a>

Beschreibt eine Tabelle, eine Ansicht oder einen Index. Beinhaltet die Spaltennamen und -typen. Bietet auch Diststyle, Backup-Konfiguration, Erstellungsdatum (Tabellen, die nach Oktober 2018 erstellt wurden) und Einschränkungen. Zum Beispiel gibt `\dS+ sample` Objekteigenschaften zurück. Angabe von `S+` ergibt zusätzliche Spalten, die in den zurückgegebenen Datensätzen enthalten sind.

```
Table "public.sample"
 Column |            Type             |   Collation    | Nullable | Default Value | Encoding  | DistKey | SortKey
--------+-----------------------------+----------------+----------+---------------+-----------+---------+---------
 col1   | smallint                    |                | NO       |               | none      | t       | 1
 col2   | character(100)              | case_sensitive | YES      |               | none      | f       | 2
 col3   | character varying(100)      | case_sensitive | YES      |               | text32k   | f       | 3
 col4   | timestamp without time zone |                | YES      |               | runlength | f       | 0
 col5   | super                       |                | YES      |               | zstd      | f       | 0
 col6   | bigint                      |                | YES      |               | az64      | f       | 0

Diststyle: KEY
Backup: YES
Created: 2021-07-20 19:47:27.997045
Unique Constraints:
    "sample_pkey" PRIMARY KEY (col1)
    "sample_col2_key" UNIQUE (col2)
Foreign-key constraints:
    "sample_col2_fkey" FOREIGN KEY (col2) REFERENCES lineitem(l_orderkey)
```

Der Verteilungsstil oder *Diststyle* der Tabelle kann KEY, AUTO, EVEN oder ALL sein.

*Backup* gibt an, ob die Tabelle gesichert wird, wenn ein Snapshot erstellt wird. Gültige Werte sind `YES` oder `NO`.

*Created* (erstellt) ist der Zeitstempel für die Erstellung der Tabelle. Das Erstellungsdatum ist für Amazon-Redshift-Tabellen, die vor November 2018 erstellt wurden, nicht verfügbar. Tabellen, die vor diesem Datum erstellt wurden, werden angezeigt n/a (nicht verfügbar). 

*Unique Constraints* (eindeutige Einschränkungen) listet eindeutige und Primärschlüsseleinschränkungen für die Tabelle auf.

*Foreign-key constraints* (Fremdschlüsseleinschränkungen) listet fremde Schlüsseleinschränkungen für die Tabelle auf.

## \$1dC[\$1] [MUSTER]
<a name="rsql-query-tool-describe-dc"></a>

Listet Casts auf. Beinhaltet den Quelltyp, den Zieltyp und ob der Cast implizit ist.

Im Folgenden wird eine Teilmenge der Ergebnisse von `\dC+` angezeigt.

```
List of casts
         source type         |         target type         |      function       |   implicit?   | description 
-----------------------------+-----------------------------+---------------------+---------------+-------------
 "char"                      | character                   | bpchar              | in assignment | 
 "char"                      | character varying           | text                | in assignment | 
 "char"                      | integer                     | int4                | no            | 
 "char"                      | text                        | text                | yes           | 
 "path"                      | point                       | point               | no            | 
 "path"                      | polygon                     | polygon             | in assignment | 
 abstime                     | date                        | date                | in assignment | 
 abstime                     | integer                     | (binary coercible)  | no            | 
 abstime                     | time without time zone      | time                | in assignment | 
 abstime                     | timestamp with time zone    | timestamptz         | yes           | 
 abstime                     | timestamp without time zone | timestamp           | yes           | 
 bigint                      | bit                         | bit                 | no            | 
 bigint                      | boolean                     | bool                | yes           | 
 bigint                      | character                   | bpchar              | in assignment | 
 bigint                      | character varying           | text                | in assignment | 
 bigint                      | double precision            | float8              | yes           | 
 bigint                      | integer                     | int4                | in assignment | 
 bigint                      | numeric                     | numeric             | yes           | 
 bigint                      | oid                         | oid                 | yes           | 
 bigint                      | real                        | float4              | yes           | 
 bigint                      | regclass                    | oid                 | yes           | 
 bigint                      | regoper                     | oid                 | yes           | 
 bigint                      | regoperator                 | oid                 | yes           | 
 bigint                      | regproc                     | oid                 | yes           | 
 bigint                      | regprocedure                | oid                 | yes           | 
 bigint                      | regtype                     | oid                 | yes           | 
 bigint                      | smallint                    | int2                | in assignment | 
 bigint                      | super                       | int8_partiql        | in assignment |
```

## \$1dd[S] [MUSTER]
<a name="rsql-query-tool-describe-dds"></a>

Zeigt Objektbeschreibungen an, die an anderer Stelle nicht angezeigt werden

## \$1de
<a name="rsql-query-tool-describe-de"></a>

Listet externe Tabellen auf. Dazu gehören Tabellen im Hive Metastore und verbundene Tabellen aus Amazon RDS/Aurora MySQL- AWS Glue Data Catalog, Amazon RDS/Aurora PostgreSQL- und Amazon Redshift Redshift-Datashare-Tabellen.

## \$1de NAME
<a name="rsql-query-tool-describe-de-name"></a>

Beschreibt eine externe Tabelle.

Das folgende Beispiel zeigt eine externe Tabelle. AWS Glue 

```
# \de spectrum.lineitem
                            Glue External table "spectrum.lineitem"
     Column      | External Type | Redshift Type | Position | Partition Key | Nullable
-----------------+---------------+---------------+----------+---------------+----------
 l_orderkey      | bigint        | bigint        | 1        | 0             |
 l_partkey       | bigint        | bigint        | 2        | 0             |
 l_suppkey       | int           | int           | 3        | 0             |
 l_linenumber    | int           | int           | 4        | 0             |
 l_quantity      | decimal(12,2) | decimal(12,2) | 5        | 0             |
 l_extendedprice | decimal(12,2) | decimal(12,2) | 6        | 0             |
 l_discount      | decimal(12,2) | decimal(12,2) | 7        | 0             |
 l_tax           | decimal(12,2) | decimal(12,2) | 8        | 0             |
 l_returnflag    | char(1)       | char(1)       | 9        | 0             |
 l_linestatus    | char(1)       | char(1)       | 10       | 0             |
 l_shipdate      | date          | date          | 11       | 0             |
 l_commitdate    | date          | date          | 12       | 0             |
 l_receiptdate   | date          | date          | 13       | 0             |
 l_shipinstruct  | char(25)      | char(25)      | 14       | 0             |
 l_shipmode      | char(10)      | char(10)      | 15       | 0             |
 l_comment       | varchar(44)   | varchar(44)   | 16       | 0             |

Location: s3://redshiftbucket/kfhose2019/12/31
Input_format: org.apache.hadoop.mapred.TextInputFormat
Output_format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Serialization_lib: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Serde_parameters: {"field.delim":"|","serialization.format":"|"}
Parameters: {"EXTERNAL":"TRUE","numRows":"178196721475","transient_lastDdlTime":"1577771873"}
```

Eine Hive-Metastore-Tabelle.

```
# \de emr.lineitem
                     Hive Metastore External Table "emr.lineitem"
     Column      | External Type | Redshift Type | Position | Partition Key | Nullable
-----------------+---------------+---------------+----------+---------------+----------
 l_orderkey      | bigint        | bigint        | 1        | 0             |
 l_partkey       | bigint        | bigint        | 2        | 0             |
 l_suppkey       | int           | int           | 3        | 0             |
 l_linenumber    | int           | int           | 4        | 0             |
 l_quantity      | decimal(12,2) | decimal(12,2) | 5        | 0             |
 l_extendedprice | decimal(12,2) | decimal(12,2) | 6        | 0             |
 l_discount      | decimal(12,2) | decimal(12,2) | 7        | 0             |
 l_tax           | decimal(12,2) | decimal(12,2) | 8        | 0             |
 l_returnflag    | char(1)       | char(1)       | 9        | 0             |
 l_linestatus    | char(1)       | char(1)       | 10       | 0             |
 l_commitdate    | date          | date          | 11       | 0             |
 l_receiptdate   | date          | date          | 12       | 0             |
 l_shipinstruct  | char(25)      | char(25)      | 13       | 0             |
 l_shipmode      | char(10)      | char(10)      | 14       | 0             |
 l_comment       | varchar(44)   | varchar(44)   | 15       | 0             |
 l_shipdate      | date          | date          | 16       | 1             |

Location: s3://redshiftbucket/cetas
Input_format: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
Output_format: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat
Serialization_lib: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe
Serde_parameters: {"serialization.format":"1"}
Parameters: {"EXTERNAL":"TRUE", "numRows":"4307207", "transient_lastDdlTime":"1626990007"}
```

Eine externe PostgreSQL-Tabelle.

```
# \de pgrsql.alltypes
                                Postgres Federated Table "pgrsql.alltypes"
 Column |        External Type        |        Redshift Type        | Position | Partition Key | Nullable
--------+-----------------------------+-----------------------------+----------+---------------+----------
 col1   | bigint                      | bigint                      | 1        | 0             |
 col2   | bigint                      | bigint                      | 2        | 0             |
 col5   | boolean                     | boolean                     | 3        | 0             |
 col6   | box                         | varchar(65535)              | 4        | 0             |
 col7   | bytea                       | varchar(65535)              | 5        | 0             |
 col8   | character(10)               | character(10)               | 6        | 0             |
 col9   | character varying(10)       | character varying(10)       | 7        | 0             |
 col10  | cidr                        | varchar(65535)              | 8        | 0             |
 col11  | circle                      | varchar(65535)              | 9        | 0             |
 col12  | date                        | date                        | 10       | 0             |
 col13  | double precision            | double precision            | 11       | 0             |
 col14  | inet                        | varchar(65535)              | 12       | 0             |
 col15  | integer                     | integer                     | 13       | 0             |
 col16  | interval                    | varchar(65535)              | 14       | 0             |
 col17  | json                        | varchar(65535)              | 15       | 0             |
 col18  | jsonb                       | varchar(65535)              | 16       | 0             |
 col19  | line                        | varchar(65535)              | 17       | 0             |
 col20  | lseg                        | varchar(65535)              | 18       | 0             |
 col21  | macaddr                     | varchar(65535)              | 19       | 0             |
 col22  | macaddr8                    | varchar(65535)              | 20       | 0             |
 col23  | money                       | varchar(65535)              | 21       | 0             |
 col24  | numeric                     | numeric(38,20)              | 22       | 0             |
 col25  | path                        | varchar(65535)              | 23       | 0             |
 col26  | pg_lsn                      | varchar(65535)              | 24       | 0             |
 col28  | point                       | varchar(65535)              | 25       | 0             |
 col29  | polygon                     | varchar(65535)              | 26       | 0             |
 col30  | real                        | real                        | 27       | 0             |
 col31  | smallint                    | smallint                    | 28       | 0             |
 col32  | smallint                    | smallint                    | 29       | 0             |
 col33  | integer                     | integer                     | 30       | 0             |
 col34  | text                        | varchar(65535)              | 31       | 0             |
 col35  | time without time zone      | varchar(65535)              | 32       | 0             |
 col36  | time with time zone         | varchar(65535)              | 33       | 0             |
 col37  | timestamp without time zone | timestamp without time zone | 34       | 0             |
 col38  | timestamp with time zone    | timestamp with time zone    | 35       | 0             |
 col39  | tsquery                     | varchar(65535)              | 36       | 0             |
 col40  | tsvector                    | varchar(65535)              | 37       | 0             |
 col41  | txid_snapshot               | varchar(65535)              | 38       | 0             |
 col42  | uuid                        | varchar(65535)              | 39       | 0             |
 col43  | xml                         | varchar(65535)              | 40       | 0             |
```

## \$1df[anptw][S\$1] [MUSTER]
<a name="rsql-query-tool-df"></a>

 Listet Funktionen verschiedener Typen auf. Der Befehl `\df` gibt beispielsweise eine Liste von Funktionen zurück. Zu den Ergebnissen gehören Eigenschaften wie Name, zurückgegebener Datentyp, Zugriffsberechtigungen und zusätzliche Metadaten. Funktionstypen können Trigger, gespeicherte Prozeduren, Fensterfunktionen und andere Typen umfassen. Wenn Sie `S+` an den Befehl anhängen, zum Beispiel `\dfantS+`, sind zusätzliche Metadatenspalten wie `owner`, `security` und `access privileges` enthalten. 

## \$1dL[S\$1] [MUSTER]
<a name="rsql-query-tool-describe-dl"></a>

 Listet Daten zu Prozedursprachen auf, die mit der Datenbank verknüpft sind. Die Informationen umfassen den Namen, z. B. plpgsql, und zusätzliche Metadaten, unter anderem Vertrauenswürdigkeit, Zugriffsrechte und Beschreibung. Ein Beispielaufruf ist `\dLS+`, der Sprachen und ihre Eigenschaften auflistet. Wenn Sie `S+` an den Befehl anhängen, sind zusätzliche Metadatenspalten wie `call handler` und `access privileges` enthalten. 

Beispielergebnisse:

```
List of languages
   name    | trusted | internal language |      call handler       |                         validator                          | access privileges |          description           
-----------+---------+-------------------+-------------------------+------------------------------------------------------------+-------------------+--------------------------------
 c         | f       | t                 | -                       | fmgr_c_validator(oid)                                      |                   | Dynamically-loaded C functions
 exfunc    | f       | f                 | exfunc_call_handler()   | -                                                          | rdsdb=U/rdsdb     | 
 internal  | f       | t                 | -                       | fmgr_internal_validator(oid)                               |                   | Built-in functions
 mlfunc    | f       | f                 | mlfunc_call_handler()   | -                                                          | rdsdb=U/rdsdb     | 
 plpgsql   | t       | f                 | plpgsql_call_handler()  | plpgsql_validator(oid)                                     |                   | 
 plpythonu | f       | f                 | plpython_call_handler() | plpython_compiler(cstring,cstring,cstring,cstring,cstring) | rdsdb=U/rdsdb     | 
 sql       | t       | t                 | -                       | fmgr_sql_validator(oid)                                    | =U/rdsdb          | SQL-language functions
```

## \$1dm[S\$1] [MUSTER]
<a name="rsql-query-tool-describe-dm"></a>

 Listet materialisierte Ansichten auf. Zum Beispiel listet `\dmS+` materialisierte Ansichten und ihre Eigenschaften auf. Wenn Sie `S+` an den Befehl anhängen, sind zusätzliche Metadatenspalten enthalten. 

## \$1dn[S\$1] [MUSTER]
<a name="rsql-query-tool-describe-dn"></a>

 Listet Schemata auf Wenn Sie `S+` an den Befehl anhängen, zum Beispiel `\dnS+`, sind zusätzliche Metadatenspalten wie `description` und `access privileges` enthalten. 

## \$1dp [MUSTER]
<a name="rsql-query-tool-describe-dp"></a>

 Listet Zugriffsberechtigungen für Tabellen, Anzeigen und Sequenzen auf. 

## \$1dt[S\$1] [MUSTER]
<a name="rsql-query-tool-describe-dt"></a>

 Listet Tabellen auf. Wenn Sie `S+` an den Befehl anhängen, zum Beispiel `\dtS+`, sind zusätzliche Metadatenspalten wie `description` enthalten. 

## \$1du
<a name="rsql-query-tool-describe-du"></a>

 Listet die Benutzer für die Datenbank auf. Enthält deren Namen und Rollen, z. B. Superuser, und Attribute. 

## \$1dv[S\$1] [MUSTER]
<a name="rsql-query-tool-describe-dv"></a>

 Listet Ansichten auf. Umfasst Schema, Typ und Besitzerdaten. Wenn Sie `S+` an den Befehl anhängen, zum Beispiel `\dvS+`, sind zusätzliche Metadatenspalten enthalten. 

## \$1H
<a name="rsql-query-tool-describe-h"></a>

 Schaltet die HTML-Ausgabe ein. Dies ist hilfreich, um schnell formatierte Ergebnisse zurückzugeben. Zum Beispiel gibt `select * from sales; \H` Ergebnisse aus der Verkaufstabelle in HTML zurück. Um zurück zu tabellarischen Ergebnissen zu wechseln, verwenden Sie `\q` oder verlassen Sie die Anzeige. 

## \$1i
<a name="rsql-query-tool-describe-i"></a>

 Führt Befehle aus einer Datei aus. Angenommen, Sie haben rsql\$1steps.sql in Ihrem Arbeitsverzeichnis, dann führen Sie die Befehle in der Datei `\i rsql_steps.sql` wie folgt aus. 

## \$1l[\$1] [MUSTER]
<a name="rsql-query-tool-describe-l"></a>

 Listet Datenbanken auf. Beinhaltet Besitzer, Kodierung und zusätzliche Informationen. 

## \$1q
<a name="rsql-query-tool-describe-q"></a>

 Das Beenden oder der `\q`-Befehl meldet Datenbanksitzungen ab und beendet RSQL. 

## \$1sv[\$1] VIEWNAME
<a name="rsql-query-tool-describe-sv-name"></a>

 Zeigt die Definition einer Ansicht an. 

## \$1timing
<a name="rsql-query-tool-describe-timing"></a>

 Zeigt beispielsweise die Laufzeit für eine Abfrage an. 

## \$1z [MUSTER]
<a name="rsql-query-tool-describe-z"></a>

 Dieselbe Ausgabe wie\$1 dp. 

## \$1?
<a name="rsql-query-tool-help"></a>

 Zeigt Hilfeinformationen an. Der optionale Parameter gibt das zu erklärende Element an. 

## \$1VERLASSEN
<a name="rsql-query-tool-flow-control-exit"></a>

 Meldet alle Datenbanksitzungen ab und beendet Amazon-Redshift-RSQL. Darüber hinaus können Sie einen optionalen Beendigungscode angeben. Zum Beispiel beendet `\EXIT 15` das Amazon-Redshift-RSQL-Terminal und gibt den Beendigungscode 15 zurück.

Das folgende Beispiel zeigt die Ausgabe einer Verbindung und das Beenden von RSQL.

```
% rsql -D testuser
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.34.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306 
Type "help" for help.

(testcluster) user1@dev=# \exit 15

% echo $?
15
```

## \$1EXPORT
<a name="rsql-query-tool-export"></a>

 Gibt den Namen einer Exportdatei an, die RSQL zum Speichern von Datenbankinformationen verwendet, die von einer nachfolgenden SQL-SELECT-Anweisung zurückgegeben werden.

export\$101.sql

```
\export report file='E:\\accounts.out'
\rset rformat off
\rset width 1500
\rset heading "General Title"
\rset titledashes on
select * from td_dwh.accounts;
\export reset
```

Konsolenausgabe

```
Rformat is off.
Target width is 1500.
Heading is set to: General Title
Titledashes is on.
(exported 40 rows)
```

## \$1ANMELDUNG
<a name="rsql-query-tool-flow-control-logon"></a>

 Verbindung zu einer Datenbank herstellen. Sie können Verbindungsparameter mithilfe der Positionssyntax oder als Verbindungszeichenfolge angeben.

Die Befehlssyntax ist wie folgt: `\logon {[DBNAME|- USERNAME|- HOST|- PORT|- [PASSWORD]] | conninfo}`

`DBNAME` ist der Name der Datenbank, mit der eine Verbindung hergestellt werden soll. `USERNAME` ist der Benutzername für die Verbindung. Der Standardwert `HOST` ist `localhost`. Der Standardwert `PORT` ist `5439`.

Wird ein Hostname in einem `\LOGON`-Befehl angegeben, wird dies der Standard-Hostname für zusätzliche `\LOGON`-Befehle. Um den Standard-Hostnamen zu ändern, geben Sie einen neuen `HOST` mit einem zusätzlichen `\LOGON`-Befehl an.

Beispielausgabe des `\LOGON`-Befehls für `user1` siehe unten.

```
(testcluster) user1@redshiftdb=# \logon dev
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
You are now connected to database "dev" as user "user1".
(testcluster) user1@dev=#
```

Beispielausgabe für *user2* (Benutzer 2).

```
(testcluster) user1@dev=# \logon dev user2 testcluster2.example.com
Password for user user2: 
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
You are now connected to database "dev" as user "user2" on host "testcluster2.example.com" at port "5439".
(testcluster2) user2@dev=#
```

## \$1ANMERKUNG
<a name="rsql-query-tool-flow-control-remark"></a>

 Eine Erweiterung des `\echo`-Befehls. `\REMARK` gibt die angegebene Zeichenfolge in den Ausgabestream aus. `\REMARK ` erweitert `\echo`, indem die Möglichkeit hinzugefügt wird, die Ausgabe über separate Zeilen zu verteilen.

Das folgende Beispiel zeigt die Ausgabe des Befehls.

```
(testcluster) user1@dev=# \remark 'hello//world'
hello
world
```

## \$1RSET
<a name="rsql-query-tool-rset"></a>

Der Befehl `\rset` legt Befehlsparameter und Variablen fest. `\rset` hat sowohl einen interaktiven als auch einen Batch-Modus. Es unterstützt keine Optionen als Bash-Optionen, wie *-x* oder Argumente zum Beispiel *--<arg>*.

Es legt Variablen wie die folgenden fest:
+ ERRORLEVEL
+ HEADING und RTITLE
+ RFORMAT
+ MAXERROR
+ TITLEDASHES
+ WIDTH

Das folgende Beispiel gibt eine Überschrift an.

```
\rset heading "Winter Sales Report"
```

Weitere Beispiele für die Verwendung von `\rset` finden Sie in den [Amazon-Redshift-RSQL-Variablen](rsql-query-tool-variables.md)-Themen.

## \$1AUSFÜHREN
<a name="rsql-query-tool-flow-control-run"></a>

 Führt das Amazon-Redshift-RSQL-Skript aus, das in der angegebenen Datei enthalten ist. `\RUN` ist eine Erweiterung des `\i`-Befehls durch Hinzufügen einer Option zum Überspringen von Kopfzeilen in einer Datei.

Wenn der Dateiname ein Komma, ein Semikolon oder ein Leerzeichen enthält, schließen Sie ihn in einfache Anführungszeichen ein. Wenn dem Dateinamen Text folgt, schließen Sie ihn ebenfalls in Anführungszeichen ein. Unter UNIX muss bei den Dateinamen die Groß- und Kleinschreibung beachtet werden. Unter Windows wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Das folgende Beispiel zeigt die Ausgabe des Befehls.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) as lineitem_cnt from lineitem;
select count(*) as customer_cnt from customer;
select count(*) as orders_cnt from orders;



(testcluster) user1@dev=# \run file=test.sql
 lineitem_cnt
--------------
      4307207
(1 row)

 customer_cnt
--------------
     37796166
(1 row)

 orders_cnt
------------
          0
(1 row)


(testcluster) user1@dev=# \run file=test.sql skip=2
2 records skipped in RUN file.
 orders_cnt
------------
          0
(1 row)
```

## \$1BS
<a name="rsql-query-tool-flow-control-os"></a>

 Ein Alias für den `\!`-Befehl. `\OS` führt den Betriebssystembefehl aus, der als Parameter übergeben wird. Der Controller kehrt nach Ausführung des Befehls zu Amazon-Redshift-RSQL zurück. Sie können z. B. den folgenden Befehl ausführen, um die aktuelle Systemzeit zu drucken und zum RSQL-Terminal zurückzukehren: `\os date`.

```
(testcluster) user1@dev=# \os date
Tue Sep 7 20:47:54 UTC 2021
```

## \$1GOTO
<a name="rsql-query-tool-flow-control-goto"></a>

 Ein neuer Befehl für Amazon-Redshift-RSQL. `\GOTO` überspringt alle dazwischenliegenden Befehle und setzt die Verarbeitung am angegebenen `\LABEL` fort. `\LABEL` muss eine Vorwärtsreferenz sein. Sie können nicht zu einem `\LABEL` springen, das `\GOTO` lexikalisch vorangeht.

Das folgende Beispiel zeigt die Beispielausgabe.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) as cnt from lineitem \gset
select :cnt as cnt;
\if :cnt > 100
    \goto LABELB
\endif

\label LABELA
\remark 'this is label LABELA'
\label LABELB
\remark 'this is label LABELB'


(testcluster) user1@dev=# \i test.sql
   cnt
---------
 4307207
(1 row)

\label LABELA ignored
\label LABELB processed
this is label LABELB
```

## \$1LABEL
<a name="rsql-query-tool-flow-control-label"></a>

 Ein neuer Befehl für Amazon-Redshift-RSQL. `\LABEL` legt einen Einstiegspunkt für die Ausführung des Programms als Ziel für einen `\GOTO`-Befehl fest.

Das folgende Beispiel zeigt die Ausgabe des Befehls.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) from lineitem limit 5;
\goto LABELB
\remark "this step was skipped by goto label";
\label LABELA
\remark 'this is label LABELA'
\label LABELB
\remark 'this is label LABELB'



(testcluster) user1@dev=# \i testgoto.sql
  count
 4307193
(1 row)

\label LABELA ignored
\label LABELB processed
this is label LABELB
```

## \$1IF (\$1ELSEIF, \$1ELSE, \$1ENDIF)
<a name="rsql-query-tool-flow-control-if"></a>

 `\IF` und verwandte Befehle führen bedingt Teile des Eingabeskripts aus. Eine Erweiterung des PSQL `\if`-Befehls (`\elif`, `\else`, `\endif`). `\IF` und `\ELSEIF` unterstützt boolesche Ausdrücke einschließlich Bedingungen `AND`, `OR` und `NOT`. 

Das folgende Beispiel zeigt die Ausgabe der Befehle.

```
(testcluster) user1@dev=# \! cat test.sql
SELECT query FROM stv_inflight LIMIT 1 \gset
select :query as query;
\if :query > 1000000
    \remark 'Query id is greater than 1000000'
\elseif :query = 1000000
    \remark 'Query id is equal than 1000000'
\else
    \remark 'Query id is less than 1000000'
\endif


(testcluster) user1@dev=# \i test.sql 
 query
--------
 994803
(1 row)
 
Query id is less than 1000000
```

Verwenden von `ERRORCODE` in Ihrer Verzweigungslogik.

```
\if :'ERRORCODE' = '00000'
    \remark 'The statement was executed without error'
\else
    \remark :LAST_ERROR_MESSAGE
\endif
```

Verwenden von `\GOTO` innerhalb eines `\IF`-Blocks, um zu steuern, wie Code ausgeführt wird.

# Amazon-Redshift-RSQL-Variablen
<a name="rsql-query-tool-variables"></a>

 Einige Schlüsselwörter fungieren in RSQL als Variablen. Sie können jede auf einen bestimmten Wert festlegen oder den Wert erneut festlegen. Die meisten sind auf `\rset` festgelegt, das über einen interaktiven Modus und einen Batch-Modus verfügt. Befehle können in Klein- oder Großbuchstaben definiert werden.

## ACTIVITYCOUNT
<a name="rsql-query-tool-activitycount"></a>

 Gibt die Anzahl der Zeilen an, die von der zuletzt übermittelten Anfrage betroffen sind. Bei einer Datenrückgabeanforderung ist dies die Anzahl der Zeilen, die aus der Datenbank an RSQL zurückgegeben werden. Der Wert ist 0 oder eine positive ganze Zahl. Der Höchstwert beträgt 18.446.744.073.709.551.615. 

 Die speziell behandelte Variable `ACTIVITYCOUNT` ähnelt der Variable `ROW_COUNT`. Allerdings meldet `ROW_COUNT` die Anzahl der betroffenen Zeilen nach Beendigung des Befehls nicht an die Clientanwendung für `SELECT`, `COPY` oder `UNLOAD`. Aber `ACTIVITYCOUNT` meldet dies. 

activitycount\$101.sql:

```
select viewname, schemaname
from pg_views
where schemaname = 'not_existing_schema';
\if :ACTIVITYCOUNT = 0
\remark 'views do not exist'
\endif
```

Konsolenausgabe:

```
viewname | schemaname
----------+------------
(0 rows)

views do not exist
```

## ERRORLEVEL
<a name="rsql-query-tool-describe-rset-errorlevel"></a>

Weist Fehlern Schweregrade zu. Verwenden Sie den Schweregrad, um eine Aktion zu bestimmen. Wenn der `ERRORLEVEL`-Befehl nicht verwendet wurde, ist sein Wert standardmäßig `ON`.

errorlevel\$101.sql:

```
\rset errorlevel 42P01 severity 0

select * from tbl;

select 1 as col;

\echo exit
\quit
```

Konsolenausgabe:

```
Errorlevel is on.
rsql: ERROR: relation "tbl" does not exist
(1 row)

col
1

exit
```

## HEADING und RTITLE
<a name="rsql-query-tool-describe-rset-heading-rtitle"></a>

Ermöglicht Benutzern, einen Header anzugeben, der oben in einem Bericht angezeigt wird. Der durch den `RSET RTITLE`-Befehl angegebene Header enthält automatisch das aktuelle Systemdatum des Client-Computers.

Inhalt von rset\$1heading\$1rtitle\$102.rsql:

```
\remark Starting...
\rset rtitle "Marketing Department||Confidential//Third Quarter//Chicago"
\rset width 70
\rset rformat on
select * from rsql_test.tbl_currency order by id limit 2;
\exit
\remark Finishing...
```

Konsolenausgabe:

```
Starting...
Rtitle is set to: &DATE||Marketing Department||Confidential//Third Quarter//Chicago (Changes will take effect after RFORMAT is
switched ON)
Target width is 70.
Rformat is on.
09/11/20       Marketing       Department Confidential
                  Third Quarter
                     Chicago
id  | bankid  | name |      start_date
100 |       1 | USD | 2020-09-11 10:51:39.106905
110 |       1 | EUR | 2020-09-11 10:51:39.106905
(2 rows)

Press any key to continue . . .
```

## MAXERROR
<a name="rsql-query-tool-describe-rset-maxerror"></a>

Gibt einen maximalen Fehlerschweregrad an, über den RSQL die Auftragsverarbeitung beendet. Rückgabecodes sind ganzzahlige Werte, die RSQL nach Beendigung jeder Aufgabe oder jedes Auftrags an das Client-Betriebssystem zurückgibt. Der Wert des Rückgabecodes gibt den Abschlussstatus des Auftrags oder Vorgangs an. Wenn ein Skript eine Anweisung enthält, die einen Fehlerschweregrad erzeugt, der größer als der festgelegte `maxerror`-Wert ist, wird RSQL sofort beendet. Verwenden Sie daher `RSET MAXERROR 7`, um eine RSQL-Beendigung bei einem Fehlerschweregrad von 8 zu erreichen.

Inhalt von maxerror\$101.sql:

```
\rset maxerror 0
                        
select 1 as col;

\quit
```

Konsolenausgabe:

```
Maxerror is default.
(1 row)

col
1
```

## RFORMAT
<a name="rsql-query-tool-describe-rset-heading-rformat"></a>

Ermöglicht Benutzern, anzugeben, ob Einstellungen für die Formatierungsbefehle angewendet werden sollen.

Inhalt von rset\$1rformat.rsql:

```
\remark Starting...
\pset border 2
\pset format wrapped
\pset expanded on
\pset title 'Great Title'
select * from rsql_test.tbl_long where id = 500;
\rset rformat
select * from rsql_test.tbl_long where id = 500;
\rset rformat off
select * from rsql_test.tbl_long where id = 500;
\rset rformat on
select * from rsql_test.tbl_long where id = 500;
\exit
\remark Finishing...
```

Konsolenausgabe:

```
Starting...
Border style is 2. (Changes will take effect after RFORMAT is switched ON)
Output format is wrapped. (Changes will take effect after RFORMAT is switched ON)
Expanded display is on. (Changes will take effect after RFORMAT is switched ON)
Title is "Great Title". (Changes will take effect after RFORMAT is switched ON)
id  |                                                             long_string
500 | In general, the higher the number the more borders and lines the tables will have, but details depend on the particular
format.
(1 row)

Rformat is on.
Great Title
+-[ RECORD 1 ]+----------------------------------------------------------------------------------------------------------------------
-----------+
| id           | 500
|
| long_string | In general, the higher the number the more borders and lines the tables will have, but details depend on the
particular format. |
+-------------+----------------------------------------------------------------------------------------------------------------------
-----------+

Rformat is off.
id  |                                                             long_string
500 | In general, the higher the number the more borders and lines the tables will have, but details depend on the particular format.
(1 row)

Rformat is on.
Great Title
+-[ RECORD 1 ]+----------------------------------------------------------------------------------------------------------------------
-----------+
| id           | 500
|
| long_string | In general, the higher the number the more borders and lines the tables will have, but details depend on the
particular format. |
+-------------+----------------------------------------------------------------------------------------------------------------------
-----------+
Press any key to continue . . .
```

## ROW\$1COUNT
<a name="rsql-query-tool-describe-rset-row_count"></a>

Ruft die Anzahl der Datensätze ab, die von der vorherigen Abfrage betroffen sind. Es wird normalerweise verwendet, um ein Ergebnis zu überprüfen, wie im folgenden Codefragment:

```
SET result = ROW_COUNT;

IF result = 0
...
```

## TITLEDASHES
<a name="rsql-query-tool-describe-rset-heading-titledashes"></a>

Mit diesem Steuerelement können Benutzer angeben, ob eine Zeile von Strichzeichen über den für SQL-Anweisungen zurückgegebenen Spaltendaten gedruckt werden soll.

Beispiel:

```
\rset titledashes on
select dept_no, emp_no, salary from rsql_test.EMPLOYEE
where dept_no = 100;
\rset titledashes off
select dept_no, emp_no, salary from rsql_test.EMPLOYEE
where dept_no = 100;
```

Konsolenausgabe:

```
dept_no      emp_no          salary
----------- ----------- --------------------
100         1000346        1300.00
100         1000245        5000.00
100         1000262        2450.00

dept_no     emp_no         salary
100         1000346        1300.00
100         1000245        5000.00
100         1000262        2450.00
```

## WIDTH
<a name="rsql-query-tool-describe-rset-heading-width"></a>

Legt das Ausgabeformat auf umgebrochen fest und gibt die Zielbreite für jede Zeile in einem Bericht an. Ohne einen Parameter gibt es die aktuellen Einstellungen sowohl für das Format als auch für die Zielbreite zurück.

Inhalt von rset\$1width\$101.rsql:

```
\echo Starting...
\rset width
\rset width 50
\rset width
\quit
\echo Finishing...
```

Konsolenausgabe:

```
Starting...
Target width is 75.
Target width is 50.
Target width is 50.
Press any key to continue . . .
```

Beispiel mit Parameter:

```
\echo Starting...
\rset rformat on
\pset format wrapped
select * from rsql_test.tbl_long where id = 500;
\rset width 50
select * from rsql_test.tbl_long where id = 500;
\quit
\echo Finishing...
```

Konsolenausgabe:

```
Starting...
Rformat is on.
Output format is wrapped.
id  |                                          long_string
500 | In general, the higher the number the more borders and lines the ta.
    |.bles will have, but details depend on the particular format.
(1 row)

Target width is 50.
id  |                                          long_string
500 | In general, the higher the number the more.
    |. borders and lines the tables will have, b.
    |.ut details depend on the particular format.
    |..
(1 row)
Press any key to continue . . .
```

# Amazon-Redshift-RSQL-Fehlercodes
<a name="rsql-query-tool-error-codes"></a>

Erfolgsmeldungen, Warnungen und Ausnahmen:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

Daten-Ausnahmen:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

Verstöße gegen die Integritätsbeschränkung:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

# Amazon-Redshift-RSQL-Umgebungsvariablen
<a name="rsql-query-tool-environment-variables"></a>

 Amazon Redshift RSQL kann Umgebungsvariablen verwenden, um Standardparameterwerte auszuwählen. 

## RSPASSWORD
<a name="rsql-query-tool-rspassword"></a>

**Wichtig**  
Wir empfehlen aus Sicherheitsgründen nicht, diese Umgebungsvariable zu verwenden, da einige Betriebssysteme Nicht-Administratoren erlauben, Prozessumgebungsvariablen anzuzeigen.

 Legt das Passwort fest, das Amazon Redshift RSQL zum Herstellen einer Verbindung mit Amazon Redshift verwenden soll. Diese Umgebungsvariable erfordert Amazon Redshift RSQL 1.0.4 und höher. 

 RSQL priorisiert RSPASSWORD, wenn es festgelegt ist. Wenn RSPASSWORD nicht festgelegt ist und Sie eine Verbindung mit einem DSN herstellen, entnimmt RSQL das Passwort den Parametern der DSN-Datei. Wenn RSPASSWORD nicht festgelegt ist und Sie keinen DSN verwenden, gibt RSQL nach dem Versuch, eine Verbindung herzustellen, eine Passwortaufforderung an. 

Im Folgenden finden Sie ein Beispiel für das Festlegen eines RSPASSWORD:

```
export RSPASSWORD=TestPassw0rd
```

# Verwenden eines Authentifizierungsprofils zur Verbindung mit Amazon Redshift
<a name="connecting-with-authentication-profiles"></a>

Wenn Sie viele Verbindungen zu Amazon Redshift haben, kann es schwierig sein, Einstellungen für alle zu verwalten. Oft verwendet jede JDBC- oder ODBC-Verbindung bestimmte Konfigurationsoptionen. Mithilfe eines Authentifizierungsprofils können Sie Verbindungsoptionen zusammen speichern. Auf diese Weise können Ihre Benutzer ein Profil auswählen, mit dem Sie sich verbinden, und die Verwaltung von Einstellungen für einzelne Optionen vermeiden. Profile können für verschiedene Szenarien und Benutzertypen gelten.

Nachdem Sie ein Authentifizierungsprofil erstellt haben, können Benutzer das ready-to-use Profil zu einer Verbindungszeichenfolge hinzufügen. So können sie eine Verbindung zu Amazon Redshift mit den richtigen Einstellungen für jede Rolle und jeden Anwendungsfall herstellen.

Informationen zur Amazon Redshift Redshift-API finden Sie unter [CreateAuthenticationProfile](https://docs.aws.amazon.com/redshift/latest/APIReference/redshift-api.pdf#API_CreateAuthenticationProfile). 

# Erstellen eines Authentifizierungsprofils
<a name="connecting-with-authentication-profiles-creating"></a>

Mithilfe von AWS CLI erstellen Sie ein Authentifizierungsprofil mit dem `create-authentication-profile` Befehl. Dies setzt voraus, dass Sie einen vorhandenen Amazon-Redshift-Cluster und eine vorhandene Datenbank besitzen. Ihre Anmeldeinformationen müssen über die Berechtigung verfügen, sich mit der Amazon-Redshift-Datenbank zu verbinden, und die Berechtigung zum Abrufen des Authentifizierungsprofils haben. Sie geben die Konfigurationsoptionen als JSON-Zeichenfolge an oder verweisen auf eine Datei, die Ihre JSON-Zeichenfolge enthält. 

```
create-authentication-profile --authentication-profile-name<value: String> --authentication-profile-content<value: String>
```

 Im folgenden Beispiel wird ein Profil namens `ExampleProfileName` erstellt. Hier können Sie Schlüssel und Werte hinzufügen, die Ihren Clusternamen und andere Optionseinstellungen als JSON-Zeichenfolge definieren. 

```
create-authentication-profile --authentication-profile-name "ExampleProfileName" --authentication-profile-content "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}"
}
```

 Dieser Befehl erstellt das Profil mit den angegebenen JSON-Einstellungen. Folgendes wird zurückgegeben, was darauf hinweist, dass das Profil erstellt wurde. 

 `{"AuthenticationProfileName": "ExampleProfileName", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" } ` 

## Einschränkungen und Kontingente für das Erstellen eines Authentifizierungsprofils
<a name="connecting-with-authentication-profiles-limitations"></a>

Jeder Kunde hat ein Kontingent von zehn (10) Authentifizierungsprofilen.

Bei Authentifizierungsprofilen können bestimmte Fehler auftreten. Zum Beispiel wenn Sie ein neues Profil mit einem vorhandenen Namen erstellen oder wenn Sie Ihr Profilkontingent überschreiten. Weitere Informationen finden Sie unter [CreateAuthenticationProfile](https://docs.aws.amazon.com/redshift/latest/APIReference/redshift-api.pdf#API_CreateAuthenticationProfile). 

Sie können bestimmte Optionsschlüssel und Werte für JDBC-, ODBC- und Python-Verbindungszeichenfolgen nicht im Authentifizierungsprofilspeicher speichern: 
+ `AccessKeyID`
+ `access_key_id`
+ `SecretAccessKey`
+ `secret_access_key_id`
+ `PWD`
+ `Password`
+ `password`

Sie können den Schlüssel oder den Wert `AuthProfile` nicht im Profilspeicher für JDBC- oder ODBC-Verbindungszeichenfolgen speichern. Bei Python-Verbindungen können Sie `auth_profile` nicht speichern. 

Authentifizierungsprofile werden in Amazon DynamoDB gespeichert und von verwaltet. AWS

# Erstellen von Verbindungen mit einem Authentifizierungsprofil
<a name="connecting-with-authentication-profiles-using"></a>

Nachdem Sie ein Authentifizierungsprofil erstellt haben, können Sie den Profilnamen als Verbindungsoption für JDBC-Version 2.0 `AuthProfile` angeben. Mit dieser Verbindungsoption werden die gespeicherten Einstellungen abgerufen.

```
jdbc:redshift:iam://endpoint:port/database?AuthProfile=<Profile-Name>&AccessKeyID=<Caller-Access-Key>&SecretAccessKey=<Caller-Secret-Key>
```

Im Folgenden wird ein Beispiel für eine JDBC-URL-Zeichenfolge gezeigt:

```
jdbc:redshift:iam://examplecluster:us-west-2/dev?AuthProfile="ExampleProfile"&AccessKeyID="AKIAIOSFODNN7EXAMPLE"&SecretAccessKey="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
```

Geben Sie sowohl `AccessKeyID` als auch `SecretAccessKey` in der JDBC-URL zusammen mit dem Namen des Authentifizierungsprofils an.

Sie können die Konfigurationsoptionen auch durch Semikolon-Trennzeichen trennen, wie im folgenden Beispiel mit Optionen für die Protokollierung.

```
jdbc:redshift:iam://my_redshift_end_point:5439/dev?LogLevel=6;LogPath=/tmp;AuthProfile=my_profile;AccessKeyID="AKIAIOSFODNN7EXAMPLE";SecretAccessKey="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
```

**Anmerkung**  
 Fügen Sie dem Authentifizierungsprofil keine vertraulichen Informationen hinzu. Speichern Sie z. B. keine `AccessKeyID`- oder `SecretAccessKey`-Werte in einem Authentifizierungsprofil. Der Authentifizierungsprofilspeicher verfügt über Regeln, um das Speichern geheimer Schlüssel zu verbieten. Sie erhalten eine Fehlermeldung, wenn Sie versuchen, einen Schlüssel und einen Wert zu speichern, der mit sensiblen Informationen verknüpft ist. 

# Authentifizierungsprofile abrufen
<a name="connecting-with-authentication-profiles-getting"></a>

Um vorhandene Authentifizierungsprofile aufzulisten, rufen Sie den folgenden Befehl auf.

```
describe-authentication-profiles --authentication-profile-name <value: String>
```

Das folgende Beispiel zeigt zwei abgerufene Profile. Alle Profile werden zurückgegeben, wenn Sie keinen Profilnamen angeben.

`{ "AuthenticationProfiles": [ { "AuthenticationProfileName": "testProfile1", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" }, { "AuthenticationProfileName": "testProfile2", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" } ] } `

# Beheben von Problemen mit Verbindungen in Amazon Redshift
<a name="troubleshooting-connections"></a>

 Wenn Sie Probleme haben, aus einem SQL-Client-Tool Verbindungen mit Ihrem Cluster herzustellen, gibt es mehrere Dinge, die Sie überprüfen können, um das Problem einzuengen. Wenn Sie SSL oder Serverzertifikate verwenden, entfernen Sie zunächst diese Komplexität, während Sie das Verbindungsproblem untersuchen. Fügen Sie diese Komponenten wieder hinzu, wenn Sie eine Lösung gefunden haben. Weitere Informationen finden Sie unter [Konfigurieren von Sicherheitsoptionen für Verbindungen](connecting-ssl-support.md). 

Informationen zu Verhaltensänderungen der Amazon-Redshift-Funktionalität, die sich auf Ihre Anwendung auswirken können, finden Sie unter[Verhaltensänderungen in Amazon Redshift](behavior-changes.md).

**Wichtig**  
Amazon Redshift hat die Verwaltung von SSL-Zertifikaten verändert. Wenn Sie Probleme mit der Verbindungsherstellung mit SSL haben, müssen Sie unter Umständen die aktuellen vertrauenswürdigen CA-Stammzertifikate aktualisieren. Weitere Informationen finden Sie unter [Umstellung auf ACM-Zertifikate für SSL-Verbindungen](connecting-transitioning-to-acm-certs.md).

 Im folgenden Abschnitt werden einige beispielhafte Fehlermeldungen und mögliche Lösungen für Verbindungsprobleme gezeigt. Da die verschiedenen SQL-Client-Tools verschiedene Fehlermeldungen anzeigen, ist diese Liste nicht vollständig. Sie sollte jedoch einen guten Ausgangspunkt für die Behebung von Problemen darstellen. 

## Herstellen von Verbindungen von außerhalb von Amazon EC2 und Auftreten von Problemen mit Firewall-Zeitüberschreitungen
<a name="connecting-firewall-guidance"></a>



 Ihre Client-Verbindung mit der Datenbank scheint zu hängen oder Zeitüberschreitungen zu unterliegen, wenn lange Abfragen wie COPY-Befehle ausgeführt werden. Wenn dies der Fall ist, sehen Sie möglicherweise in der Amazon-Redshift-Konsole, dass die Abfrage abgeschlossen ist, aber das Client-Tool scheint die Abfrage noch nicht abgeschlossen zu haben. Je nachdem, wann die Verbindung unterbrochen wurde, fehlen möglicherweise Abfrageergebnisse oder sind unvollständig. 

### Mögliche Lösungen
<a name="connecting-firewall-guidance.Solutions"></a>

Dieses Problem tritt auf, wenn Sie eine Verbindung zu Amazon Redshift von einer anderen Maschine als einer Amazon-EC2-Instance herstellen. In diesem Fall werden Leerlaufverbindungen durch eine Zwischennetzwerkkomponente, z. B. eine Firewall, nach einem Inaktivitätszeitraum beendet. Dieses Verhalten ist typisch, wenn Sie sich über ein Virtual Private Network (VPN) oder Ihr lokales Netzwerk anmelden. 

Um diese Zeitüberschreitungen zu vermeiden, werden folgende Änderungen empfohlen:
+ Erhöhen Sie die Werte des Clientsystems, die mit TCP/IP Timeouts umgehen. Sie sollten diese Änderungen auf dem Computer ausführen, den Sie für die Verbindung mit Ihrem Cluster verwenden. Der Zeitraum für die Zeitüberschreitung sollte an Ihren Client und Ihr Netzwerk angepasst sein. Weitere Informationen finden Sie unter [TCP/IP Timeout-Einstellungen ändern](#connecting-firewall-guidance.change-tcpip-settings).
+ Optional können Sie das Keepalive-Verhalten auf DSN-Ebene festlegen. Weitere Informationen finden Sie unter [Ändern der DSN-Einstellungen für Zeitüberschreitungen](#connecting-firewall-guidance.change-dsn-settings).

### TCP/IP Timeout-Einstellungen ändern
<a name="connecting-firewall-guidance.change-tcpip-settings"></a>

Um die TCP/IP Timeout-Einstellungen zu ändern, konfigurieren Sie die Timeout-Einstellungen entsprechend dem Betriebssystem, das Sie für die Verbindung mit Ihrem Cluster verwenden. 
+ Linux – Wenn Ihr Client unter Linux ausgeführt wird, führen Sie den folgenden Befehl als Root-Benutzer aus, um die Timeout-Einstellungen für die aktuelle Sitzung zu ändern: 

  ```
  /sbin/sysctl -w net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
  ```

  Um die Einstellungen dauerhaft festzulegen, erstellen Sie die Datei `/etc/sysctl.conf` mit den folgenden Werten oder aktualisieren sie entsprechend und starten anschließend Ihr System neu. 

  ```
  net.ipv4.tcp_keepalive_time=200
  net.ipv4.tcp_keepalive_intvl=200
  net.ipv4.tcp_keepalive_probes=5
  ```
+ Windows — Wenn Ihr Client unter Windows ausgeführt wird, bearbeiten Sie die Werte für die folgenden Registrierungseinstellungen unter HKEY\$1LOCAL\$1MACHINE\$1 SYSTEM\$1\$1 Services\$1 Tcpip\$1 ParametersCurrentControlSet\$1: 
  + KeepAliveTime: 30000
  + KeepAliveInterval: 1000
  + TcpMaxDataRetransmissions: 10

  Diese Einstellungen verwenden den DWORD-Datentyp. Wenn die am Registrierungspfad nicht vorhanden sind, können Sie die Einstellungen erstellen und diese empfohlenen Werte angeben. Weitere Informationen zum Bearbeiten der Windows-Registrierung finden Sie in der Windows-Dokumentation. 

  Nachdem Sie diese Werte festgelegt haben, starten Sie Ihren Computer neu, damit die Änderungen wirksam werden. 

 
+ Mac – Wenn Ihr Client auf einem Mac ausgeführt wird, führen Sie die folgenden Befehle aus, um die Timeout-Einstellungen für die aktuelle Sitzung zu ändern: 

  ```
  sudo sysctl net.inet.tcp.keepintvl=200000
  sudo sysctl net.inet.tcp.keepidle=200000
  sudo sysctl net.inet.tcp.keepinit=200000
  sudo sysctl net.inet.tcp.always_keepalive=1
  ```

  Um die Einstellungen dauerhaft festzulegen, erstellen Sie die Datei `/etc/sysctl.conf` mit den folgenden Werten: 

  ```
  net.inet.tcp.keepidle=200000
  net.inet.tcp.keepintvl=200000
  net.inet.tcp.keepinit=200000
  net.inet.tcp.always_keepalive=1
  ```

  Starten Sie Ihren Computer neu und führen Sie anschließend die folgenden Befehle aus, um zu überprüfen, ob die Werte festgelegt wurden. 

  ```
  sysctl net.inet.tcp.keepidle
  sysctl net.inet.tcp.keepintvl
  sysctl net.inet.tcp.keepinit
  sysctl net.inet.tcp.always_keepalive
  ```

### Ändern der DSN-Einstellungen für Zeitüberschreitungen
<a name="connecting-firewall-guidance.change-dsn-settings"></a>

Sie können das Keepalive-Verhalten auf DSN-Ebene festlegen, wenn Sie dies wünschen. Sie tun dies, indem Sie die folgenden Parameter in der odbc.ini-Datei hinzufügen oder ändern: 

**KeepAlivesCount**  
Die Anzahl der TCP-Keepalive-Pakete, die verloren gehen dürfen, bevor die Verbindung als abgebrochen betrachtet wird.

**KeepAlivesIdle**  
Die Anzahl der Inaktivitätsekunden, bevor der Treiber ein TCP-Keepalive-Paket sendet.

**KeepAlivesInterval**  
Die Anzahl der Sekunden zwischen den einzelnen TCP-Keepalive-Übertragungen.

Wenn diese Parameter nicht existieren oder den Wert 0 haben, verwendet das System die für angegebenen Keepalive-Parameter, um das DSN-Keepalive-Verhalten TCP/IP zu bestimmen. Unter Windows finden Sie die TCP/IP Parameter in der Registrierung unter. `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\` Unter Linux und macOS finden Sie die TCP/IP Parameter in der Datei sysctl.conf. 

## Verbindung wird zurückgewiesen oder schlägt fehl
<a name="connecting-refusal-failure-issues"></a>

Wenn Ihre Verbindung abgelehnt wird oder fehlschlägt, erhalten Sie möglicherweise eine Fehlermeldung, die einer der folgenden ähnelt.
+ „Es konnte keine Verbindung hergestellt werden zu.“ *<endpoint>*
+ „Keine Verbindung mit dem Server möglich: Zeitüberschreitung für die Verbindung. Läuft der Server auf dem Host *'<endpoint>'* und akzeptiert er TCP/IP-Verbindungen am Port?“ *'<port>'*
+ „Verbindung zurückgewiesen. Überprüfen Sie, ob der Hostname und der Port korrekt sind und ob der Postmaster Verbindungen akzeptiert.“ TCP/IP 

### Mögliche Lösungen
<a name="connecting-refusal-failure-issues.Solutions"></a>

Wenn Sie eine Fehlermeldung erhalten, die besagt, dass keine Verbindung hergestellt werden kann, bedeutet dies im Allgemeinen, dass es ein Problem mit der Berechtigung für den Zugriff auf den Cluster gibt. 

Um sich von einem Client-Tool außerhalb des Netzwerks, in dem sich der Cluster befindet, mit dem Cluster zu verbinden, fügen Sie der Sicherheitsgruppe des Clusters eine Eingangsregel hinzu. Die Regelkonfiguration hängt davon ab, ob der Amazon-Redshift-Cluster in einer Virtual Private Cloud (VPC) erstellt wurde:
+ Wenn Sie den Amazon Redshift Redshift-Cluster in einer auf Amazon VPC basierenden Virtual Private Cloud (VPC) erstellt haben, fügen Sie der VPC-Sicherheitsgruppe, die die CIDR/IP Client-Adresse spezifiziert, in Amazon VPC eine Regel für eingehenden Datenverkehr hinzu. Weitere Informationen zum Konfigurieren von VPC-Sicherheitsgruppen für Ihren Cluster sowie zu öffentlich zugänglichen Optionen finden Sie unter [Redshift-Ressourcen in einer VPC](managing-clusters-vpc.md).
+  Wenn Sie Ihren Amazon Redshift-Cluster außerhalb einer VPC erstellt haben, fügen Sie Ihre CIDR/IP Client-Adresse der Cluster-Sicherheitsgruppe in Amazon Redshift hinzu. Weitere Informationen zum Konfigurieren von Cluster-Sicherheitsgruppen finden Sie unter [Amazon-Redshift-Sicherheitsgruppen](security-network-isolation.md#working-with-security-groups).

Wenn Sie versuchen, sich von einem Client-Tool in einer Amazon-EC2-Instance aus mit dem Cluster zu verbinden, fügen Sie ebenfalls eine Zugangsregel hinzu. Fügen Sie in diesem Fall der Cluster-Sicherheitsgruppe eine Regel hinzu. Die Regel muss die Amazon-EC2-Sicherheitsgruppe angeben, die der Amazon-EC2-Instance des Client-Tools zugeordnet ist.

 In einigen Fällen haben Sie möglicherweise eine Ebene zwischen dem Client und dem Server, z. B. eine Firewall. Stellen Sie in diesen Fällen sicher, dass die Firewall eingehende Verbindungen über den Port akzeptiert, den Sie für Ihren Cluster konfiguriert haben. 

## Client und Treiber sind nicht kompatibel
<a name="connecting-architecture-mismatch"></a>

 Wenn Ihr Client und Ihr Treiber nicht kompatibel sind, erhalten Sie möglicherweise die folgende Fehlermeldung: „Die Architektur von Treiber und Anwendung im angegebenen DSN stimmt nicht überein.“ 

### Mögliche Lösungen
<a name="connecting-architecture-mismatch.Solutions"></a>

 Wenn Sie versuchen, eine Verbindung herzustellen, und einen Fehler bezüglich einer Architekturunstimmigkeit erhalten, bedeutet dies, dass das Client-Tool und der Treiber nicht kompatibel sind. Dies tritt auf, wenn ihre Systemarchitektur nicht übereinstimmt. Dies kann beispielsweise vorkommen, wenn Sie ein 32-Bit-Client-Tool verwenden, jedoch die 64-Bit-Version des Treibers installiert haben. Manchmal können 64-Bit-Client-Tools 32-Bit-Treiber verwenden. Sie können 32-Bit-Anwendungen jedoch nicht mit 64-Bit-Treibern verwenden. Stellen Sie sicher, dass Treiber und Client-Tool dieselbe Version der Systemarchitektur verwenden. 

## Abfragen scheinen zu hängen und erreichen manchmal den Cluster nicht
<a name="connecting-drop-issues"></a>

Sie haben ein Problem mit dem Abschluss von Abfragen. Die Abfragen werden anscheinend ausgeführt, hängen jedoch im SQL-Client-Tool. Manchmal erreichen die Abfragen den Cluster anscheinend nicht, beispielsweise in Systemtabellen oder in der Amazon-Redshift-Konsole. 

### Mögliche Lösungen
<a name="connecting-drop-issues.Solutions"></a>

 Dieses Problem kann aufgrund von Paketverlusten auftreten. In diesem Fall gibt es einen Unterschied in der maximalen Größe der Übertragungseinheit (MTU) im Netzwerkpfad zwischen zwei Internet Protocol (IP) Hosts. Der MTU-Wert legt die maximale Größe für die Übertragung eines Pakets in einem Ethernet-Frame über eine Netzwerkverbindung in Bytes fest. In AWS unterstützen einige Amazon EC2 EC2-Instance-Typen eine MTU von 1500 (Ethernet v2-Frames) und andere Instance-Typen unterstützen eine MTU von 9001 (TCP/IP-Jumbo-Frames). 

 Um Probleme im Zusammenhang mit unterschiedlichen MTU-Größen zu vermeiden, wird eine der folgenden Aktionen empfohlen: 
+ Wenn Ihr Cluster die EC2-VPC-Plattform verwendet, konfigurieren Sie die Amazon-VPC-Sicherheitsgruppe mit einer ICMP-Regel (Inbound Custom Internet Control Message Protocol), die zurückgibt `Destination Unreachable`. Die Regel weist also den Ursprungshost an, die niedrigste MTU-Größe entlang des Netzwerkpfades zu verwenden. Details zu diesem Ansatz finden Sie unter [Konfigurieren von Sicherheitsgruppen, um ICMP „Ziel kann nicht erreicht werden“ zuzulassen](#configure-custom-icmp). 
+ Wenn Ihr Cluster die EC2-Classic-Plattform verwendet oder Sie die ICMP-Regel für eingehenden Datenverkehr nicht zulassen können, deaktivieren Sie Jumbo Frames, sodass Ethernet v2-Frames verwendet werden. TCP/IP Details zu diesem Ansatz finden Sie unter [Konfigurieren der MTU einer Instance](#set-mtu).

### Konfigurieren von Sicherheitsgruppen, um ICMP „Ziel kann nicht erreicht werden“ zuzulassen
<a name="configure-custom-icmp"></a>

 Wenn es im Netzwerk zwischen zwei Hosts unterschiedliche MTU-Größen gibt, stellen Sie zunächst sicher, dass Ihre Netzwerkeinstellungen die Pfad-MTU-Erkennung (Path MTU Discovery, PMTUD) nicht blockieren. PMTUD ermöglicht dem empfangenden Host, dem sendenden Host mit der folgenden ICMP-Meldung zu antworten: `Destination Unreachable: fragmentation needed and DF set (ICMP Type 3, Code 4)`. Diese Meldung weist den sendenden Host an, die kleinste MTU-Größe zu verwenden, die auf dem Netzwerkpfad zulässig ist, und die Anforderung neu zu senden. Ohne diese Verhandlung können Paketverluste auftreten, da die Anforderung für den empfangenden Host zu groß ist, um sie akzeptieren zu können. Weitere Informationen zu dieser ICMP-Meldung finden Sie [RFC792](http://tools.ietf.org/html/rfc792)auf der Website der *Internet Engineering Task* Force (IETF). 

 Wenn Sie diese ICMP-Eingangsregel nicht ausdrücklich für Ihre Amazon-VPC-Sicherheitsgruppe konfigurieren, wird PMTUD blockiert. Bei AWS Sicherheitsgruppen handelt es sich um virtuelle Firewalls, die Regeln für eingehenden und ausgehenden Datenverkehr zu einer Instanz festlegen. Informationen zu Amazon-Redshift-Cluster-Sicherheitsgruppen finden Sie unter [Amazon-Redshift-Sicherheitsgruppen](security-network-isolation.md#working-with-security-groups). Im Fall von Clustern, die die EC2-VPC-Plattform verwenden, verwendet Amazon Redshift VPC-Sicherheitsgruppen, um Datenverkehr zum Cluster zuzulassen oder abzulehnen. Standardmäßig sind die Sicherheitsgruppen restriktiv und lehnen jeden eingehenden Datenverkehr ab. Informationen zum Festlegen der Regeln für ein- und ausgehenden Datenverkehr für EC2-Classic- oder EC2-VPC-Instances finden Sie unter [Unterschiede zwischen Instances in EC2-Classic und einer VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-classic-platform.html#ec2_classic_platform) im *Amazon-EC2-Benutzerhandbuch*.

 Weitere Informationen zum Hinzufügen von Regeln zu VPC-Sicherheitsgruppen finden Sie unter [VPC-Sicherheitsgruppen](managing-vpc-security-groups.md). Weitere Informationen zu spezifischen PMTUD-Einstellungen, die in dieser Regel erforderlich sind, finden Sie unter [Pfad-MTU-Erkennung](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/network_mtu.html#path_mtu_discovery) im *Amazon-EC2-Benutzerhandbuch*. 

### Konfigurieren der MTU einer Instance
<a name="set-mtu"></a>

In einigen Fällen verwendet Ihr Cluster möglicherweise die EC2-Classic-Plattform, oder Sie können die benutzerdefinierte ICMP-Regel für eingehenden Datenverkehr nicht zulassen. In diesen Fällen wird empfohlen, die MTU auf der Netzwerkschnittstelle (NIC) der EC2-Instances, von denen Sie eine Verbindung mit dem Amazon-Redshift-Cluster herstellen, auf 1500 zu setzen. Durch diese Anpassung werden TCP/IP Jumbo-Frames deaktiviert, um sicherzustellen, dass Verbindungen konsistent dieselbe Paketgröße verwenden. Diese Option reduziert den maximalen Netzwerkdurchsatz für die Instance insgesamt und nicht nur für Verbindungen mit Amazon Redshift. Weitere Informationen finden Sie in den folgenden Verfahren. <a name="set-mtu-win-os"></a>

**So legen Sie die MTU in einem Microsoft Windows-Betriebssystem fest**

Wenn Ihr Client in einem Microsoft Windows-Betriebssystem ausgeführt wird, können Sie den MTU-Wert für den Ethernet-Adapter anzeigen und festlegen, indem Sie den Befehl `netsh` verwenden. 

1. Führen Sie den folgenden Befehl aus, um den aktuellen MTU-Wert zu ermitteln: 

   ```
   netsh interface ipv4 show subinterfaces
   ```

1.  Überprüfen Sie den `MTU`-Wert für den `Ethernet`-Adapter in der Ausgabe. 

1. Wenn der Wert nicht `1500` ist, führen Sie den folgenden Befehl aus, um ihn festzulegen: 

   ```
   netsh interface ipv4 set subinterface "Ethernet" mtu=1500 store=persistent
   ```

   Nachdem Sie diesen Wert festgelegt haben, starten Sie Ihren Computer neu, damit die Änderungen wirksam werden.<a name="set-mtu-linux-os"></a>

**So legen Sie die MTU in einem Linux-Betriebssystem fest**

 Wenn Ihr Client in einem Linux-Betriebssystem ausgeführt wird, können Sie den MTU-Wert für den Ethernet-Adapter anzeigen und festlegen, indem Sie den Befehl `ip` verwenden. 

1. Führen Sie den folgenden Befehl aus, um den aktuellen MTU-Wert zu ermitteln: 

   ```
   $ ip link show eth0
   ```

1. Überprüfen Sie den Wert nach `mtu` in der Ausgabe. 

1. Wenn der Wert nicht `1500` ist, führen Sie den folgenden Befehl aus, um ihn festzulegen: 

   ```
   $ sudo ip link set dev eth0 mtu 1500
   ```<a name="set-mtu-mac-os"></a>

**So legen Sie die MTU in einem Mac-Betriebssystem fest**
+ Folgen Sie den Anweisungen auf der macOS-Supportseite über`How to change the MTU for troubleshooting purposes`. Weitere Informationen finden Sie auf der [Supportwebsite. ](https://support.apple.com) 

## Festlegen des JDBC-Parameters für die Abrufgröße
<a name="jdbc_fetch_size"></a>

Standardmäßig verwendet der Redshift-JDBC-Treiber einen Ringpuffer, um den Speicher effizient zu verwalten und Fehler zu vermeiden. out-of-memory Der Parameter für die Abrufgröße ist nur anwendbar, wenn der Ringpuffer explizit deaktiviert ist. Weitere Informationen finden Sie unter dem [Link](https://docs.aws.amazon.com/redshift/latest/mgmt/jdbc20-configuration-options.html#jdbc20-enablefetchringbuffer-option). In dieser Konfiguration sollten Sie die Abrufgröße so einstellen, dass gesteuert wird, wie viele Zeilen in jedem Stapel abgerufen werden.

Verwenden Sie den Parameter für die Abrufgröße, wenn:
+ Sie benötigen eine genaue Kontrolle über die zeilenbasierte Batchverarbeitung
+ Sie arbeiten mit älteren Anwendungen, die ein herkömmliches Verhalten beim Abrufen der Größe erfordern

Wenn der Ringpuffer deaktiviert ist, sammelt der JDBC-Treiber standardmäßig alle Ergebnisse für eine Abfrage gleichzeitig. Abfragen, die große Ergebnismengen zurückgeben, können übermäßig viel Speicherplatz beanspruchen. Um Ergebnismengen stapelweise und nicht alle auf einmal abzurufen, legen Sie in Ihrer Anwendung den Parameter JDBC-Abrufgröße fest.

**Anmerkung**  
Abrufgröße wird für ODBC nicht unterstützt

Legen Sie die Abrufgröße auf den höchsten Wert fest, der nicht zu Fehlern aufgrund von unzureichendem Arbeitsspeicher führt, um die Leistung zu optimieren. Wenn der Wert für die Abrufgröße kleiner gewählt wird, führt dies zu mehr Übertragungsvorgängen zwischen Server und Client, was die Ausführungszeit vergrößert. Der Server reserviert Ressourcen wie den WLM-Abfrageplatz und den zugehörigen Arbeitsspeicher, bis der Client die Ergebnismenge abruft oder die Abfrage abgebrochen wird. Wenn die Abrufgröße richtig eingestellt ist, werden diese Ressourcen schneller wieder freigegeben und sind für andere Abfragen verfügbar.

**Anmerkung**  
Wenn Sie große Datensätze extrahieren müssen, sollten Sie eine [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html)-Anweisung verwenden, um die Daten zu Amazon S3 zu übertragen. Wenn Sie UNLOAD verwenden, arbeiten die Datenverarbeitungsknoten parallel, um die Übertragung der Daten zu beschleunigen.

Weitere Informationen zum Festlegen des Parameters für die JDBC-Abrufgröße finden Sie unter [Getting results based on a cursor](https://jdbc.postgresql.org/documentation/query/#getting-results-based-on-a-cursor) in der PostgreSQL-Dokumentation.

# Verwenden der Amazon Redshift Data API
<a name="data-api"></a>

Die Amazon Redshift Data API vereinfacht den Zugriff auf Ihr Amazon Redshift Data Warehouse, da keine Verwaltung von Datenbanktreibern, Verbindungen, Netzwerkkonfigurationen, Datenpufferung, Anmeldeinformationen usw. mehr erforderlich ist. Sie können SQL-Anweisungen mithilfe der Daten-API-Operationen mit dem AWS SDK ausführen. Weitere Informationen zu den Data-API-Operationen finden Sie in der [Amazon-Redshift-Data-API-Referenz](https://docs.aws.amazon.com/redshift-data/latest/APIReference/).

Die Data API erfordert keine persistente Verbindung zu Ihrer Datenbank. Stattdessen bietet es einen sicheren HTTP-Endpunkt und eine Integration mit AWS SDKs. Über den Endpunkt können Sie SQL-Anweisungen ausführen, ohne Verbindungen zu verwalten. Aufrufe der Data API erfolgen asynchron. Die Daten-API kann entweder in gespeicherten Anmeldeinformationen AWS Secrets Manager oder temporäre Datenbankanmeldedaten verwenden. Bei keiner der Autorisierungsmethoden müssen Sie Passwörter in den API-Aufrufen übergeben. Weitere Informationen zu AWS Secrets Manager finden Sie unter [Was ist AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) im *AWS Secrets Manager Benutzerhandbuch*. Sie können es auch AWS IAM Identity Center für die Autorisierung verwenden.

Mit der Daten-API können Sie mit Webservice-basierten Anwendungen, einschließlich AWS Lambda Amazon AI-Notebooks und, programmgesteuert auf Amazon SageMaker Redshift-Daten zugreifen. AWS Cloud9 Weitere Informationen zu diesen Anwendungen finden Sie [AWS Lambda](https://aws.amazon.com/lambda/)unter [Amazon SageMaker AI](https://aws.amazon.com/sagemaker/) und [AWS Cloud9](https://aws.amazon.com/cloud9/). 

Weitere Informationen zur Data API finden Sie unter [Get started with the Amazon Redshift Data API](https://aws.amazon.com/blogs/big-data/get-started-with-the-amazon-redshift-data-api/) im *AWS Big Data Blog*.

## Arbeiten mit der Amazon Redshift Data API
<a name="data-api-workflow"></a>

Bevor Sie die Amazon Redshift Data API verwenden, überprüfen Sie die folgenden Schritte: 

1. Ermitteln Sie, ob Sie als Aufrufer der Data API autorisiert sind. Weitere Informationen zur -Autorisierung finden Sie unter [Autorisieren des Zugriffs auf die Amazon Redshift Data API](data-api-access.md).

1. Ermitteln Sie, ob Sie planen, die Data API mit Authentifizierungsanmeldeinformationen von Secrets Manager oder temporären Anmeldeinformationen aufzurufen oder AWS IAM Identity Center zu verwenden. Weitere Informationen finden Sie unter [Auswählen der Anmeldeinformationen für die Datenbankauthentifizierung beim Aufrufen der Amazon Redshift Data API](#data-api-calling-considerations-authentication).

1. Richten Sie ein Secret ein, wenn Sie Secrets Manager für die Authentifizierungsanmeldeinformationen verwenden. Weitere Informationen finden Sie unter [Speichern von Datenbankanmeldedaten in AWS Secrets Manager](data-api-secrets.md).

1. Beachten Sie die Punkte und Einschränkungen, die beim Aufrufen der Data API zu berücksichtigen sind. Weitere Informationen finden Sie unter [Wichtige Punkte beim Aufrufen der Amazon Redshift Data API](#data-api-calling-considerations).

1. Rufen Sie die Daten-API über AWS Command Line Interface (AWS CLI), über Ihren eigenen Code oder mithilfe des Abfrage-Editors in der Amazon Redshift Redshift-Konsole auf. Beispiele für den Aufruf über die AWS CLI finden Sie unter [Aufrufen der Daten-API](data-api-calling.md).

## Wichtige Punkte beim Aufrufen der Amazon Redshift Data API
<a name="data-api-calling-considerations"></a>

Beachten Sie Folgendes, wenn Sie die Data API aufrufen:
+ Die Amazon Redshift Data API kann auf Datenbanken in von Amazon Redshift bereitgestellten Clustern und Redshift-Serverless-Arbeitsgruppen zugreifen. Eine Liste, AWS-Regionen wo die Redshift Data API verfügbar ist, finden Sie in den Endpunkten, die für die [Redshift Data API](https://docs.aws.amazon.com/general/latest/gr/redshift-service.html) aufgeführt sind. *Allgemeine Amazon Web Services-Referenz* 
+ Die maximale Dauer einer Abfrage beträgt 24 Stunden. 
+ Die maximale Anzahl aktiver Abfragen (`STARTED`und `SUBMITTED` Abfragen) pro Amazon Redshift Redshift-Cluster beträgt 500. 
+ Die maximale Abfrageergebnisgröße beträgt 500 MB (nach Gzip-Komprimierung). Wenn ein Anruf mehr als 500 MB Antwortdaten zurückgibt, wird der Anruf beendet. 
+ Die maximale Aufbewahrungszeit für Abfrageergebnisse beträgt 24 Stunden. 
+ Die maximale Größe von Abfrageanweisungen beträgt 100 KB. 
+ Die Data API ist für die Abfrage von Clustern mit einem Knoten und mehreren Knoten der folgenden Knotentypen verfügbar:
  + dc2.large
  + dc2.8xlarge
  + ra3.large
  + ra3.xlplus
  + ra3.4xlarge
  + ra3.16xlarge
+ Der Cluster muss sich in einer auf dem Amazon-VPC-Service basierenden Virtual Private Cloud (VPC) befinden. 
+ Standardmäßig können Benutzer mit derselben IAM-Rolle wie der Ausführer eines `ExecuteStatement`- oder `BatchExecuteStatement`-API-Vorgangs auf dieselbe Anweisung mit `CancelStatement`-, `DescribeStatement`-, `GetStatementResult`- `GetStatementResultV2`- und `ListStatements`-API-Vorgängen reagieren. Um auf dieselbe SQL-Anweisung eines anderen Benutzers reagieren zu können, muss der Benutzer die IAM-Rolle des Benutzers übernehmen können, der die SQL-Anweisung ausgeführt hat. Weitere Informationen zum Übernehmen einer Rolle finden Sie unter [Autorisieren des Zugriffs auf die Amazon Redshift Data API](data-api-access.md). 
+ Die SQL-Anweisungen im Parameter `Sqls` der API-Operation `BatchExecuteStatement` werden als eine einzige Transaktion ausgeführt. Sie werden seriell in der Reihenfolge des Arrays ausgeführt. Nachfolgende SQL-Anweisungen werden erst gestartet, wenn die vorherige Anweisung im Array abgeschlossen ist. Wenn eine SQL-Anweisung fehlschlägt, wird die gesamte Arbeit zurückgesetzt, da die Anweisungen als eine Transaktion ausgeführt werden.
+ Die maximale Aufbewahrungszeit für ein Client-Token, das in der API-Operation `ExecuteStatement` oder `BatchExecuteStatement` verwendet wird, beträgt 8 Stunden.
+ Wenn die von Amazon Redshift bereitgestellten Cluster und die Redshift Serverless Workgroup mit einem vom Kunden verwalteten Schlüssel verschlüsselt werden, gewährt Redshift einen Zuschuss, der es der Redshift Data API ermöglicht, den Schlüssel für ihre Operationen zu verwenden. Weitere Informationen finden Sie unter [Verwendung AWS KMS mit der Amazon Redshift Data API](data-api-kms.md). 
+ Jede API in der Redshift-Daten-API verfügt über ein Kontingent von Transaktionen pro Sekunde, bevor Anforderungen gedrosselt werden. Informationen zu dem Kontingent finden Sie unter [Kontingente für die Amazon-Redshift-Daten-API](amazon-redshift-limits.md#data-api-quotas-account). Wenn die Anforderungsrate das Kontingent überschreitet, wird eine `ThrottlingException` mit dem HTTP-Statuscode: 400 zurückgegeben. [https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html) In einigen Fällen wird diese Strategie bei Drosselungsfehlern automatisch implementiert. AWS SDKs
**Anmerkung**  
Standardmäßig sind AWS Step Functions Wiederholungsversuche nicht aktiviert. Wenn Sie eine Redshift-Daten-API in einem Step-Functions-Zustandsautomat aufrufen müssen, fügen Sie den Idempotenzparameter `ClientToken` in Ihren Redshift-Daten-API-Aufruf ein. Der Wert für `ClientToken` muss auch bei Wiederholungsversuchen beibehalten werden. Im folgenden Beispielausschnitt einer Anforderung an die `ExecuteStatement`-API verwendet der Ausdruck `States.ArrayGetItem(States.StringSplit($$.Execution.Id, ':'), 7)` eine intrinsische Funktion, um den UUID-Teil von `$$.Execution.Id` zu extrahieren, der für jede Ausführung des Zustandsautomats eindeutig ist. Weitere Informationen finden Sie unter [Intrinsische Funktionen](https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-intrinsic-functions.html) im *AWS Step Functions -Entwicklerhandbuch*.  

  ```
  {
    "Database": "dev",
    "Sql": "select 1;",
    "ClusterIdentifier": "MyCluster",
    "ClientToken.$": "States.ArrayGetItem(States.StringSplit($$.Execution.Id, ':'), 7)"
  }
  ```

## Auswählen der Anmeldeinformationen für die Datenbankauthentifizierung beim Aufrufen der Amazon Redshift Data API
<a name="data-api-calling-considerations-authentication"></a>

Wenn Sie die Data API aufrufen, verwenden Sie eine der folgenden Authentifizierungsmethoden für einige API-Vorgänge. Jede Methode erfordert eine andere Kombination von Parametern. 

**AWS IAM Identity Center**  
Der Zugriff auf die Data API kann durch einen Single-Sign-On-Benutzer erfolgen, der in AWS IAM Identity Center registriert ist. Weitere Informationen zu den Schritten zum Einrichten des IAM Identity Center finden Sie unter [Verwenden der Data API mit Weitergabe von vertrauenswürdigen Identitäten](data-api-trusted-identity-propagation.md).

**AWS Secrets Manager**  
Geben Sie bei dieser Methode den Wert `secret-arn` eines Geheimnisses an AWS Secrets Manager , in dem `username` und `password` gespeichert ist. Das angegebene Secret enthält Anmeldeinformationen zum Verbinden mit der von Ihnen angegebenen `database`. Wenn Sie eine Verbindung zu einem Cluster herstellen, geben Sie auch den Datenbanknamen an. Wenn Sie eine Clusterkennung (`dbClusterIdentifier`) angeben, muss diese mit der in dem Secret gespeicherten Clusterkennung übereinstimmen. Wenn Sie eine Verbindung zu einer Serverless-Arbeitsgruppe herstellen, geben Sie auch den Datenbanknamen an. Weitere Informationen finden Sie unter [Speichern von Datenbankanmeldedaten in AWS Secrets Manager](data-api-secrets.md).   
Mit dieser Methode können Sie auch einen `region` Wert angeben, der angibt, AWS-Region wo sich Ihre Daten befinden. 

**Temporäre Anmeldeinformationen**  
Wählen Sie bei dieser Methode eine der folgenden Optionen aus:  
+ Wenn Sie eine Verbindung zu einer Serverless-Arbeitsgruppe herstellen, geben Sie den Arbeitsgruppennamen und den Datenbanknamen an. Der Datenbankbenutzername wird von der IAM-Identität abgeleitet. Für `arn:iam::123456789012:user:foo` lautet der Datenbankbenutzername beispielsweise `IAM:foo`. Auch die Berechtigung zum Aufruf der `redshift-serverless:GetCredentials`-Operation ist erforderlich.
+ Geben Sie die Clusterkennung und den Datenbanknamen an, wenn Sie eine Verbindung zu einem Cluster als IAM-Identität herstellen. Der Datenbankbenutzername wird von der IAM-Identität abgeleitet. Für `arn:iam::123456789012:user:foo` lautet der Datenbankbenutzername beispielsweise `IAM:foo`. Auch die Berechtigung zum Aufruf der `redshift:GetClusterCredentialsWithIAM`-Operation ist erforderlich.
+ Geben Sie die Clusterkennung, den Datenbanknamen und den Namen des Datenbankbenutzers an, wenn Sie eine Verbindung zu einem Cluster als Datenbankbenutzer herstellen. Auch die Berechtigung zum Aufruf der `redshift:GetClusterCredentials`-Operation ist erforderlich. Hinweise dazu, wie Sie Datenbankgruppen beitreten, wenn Sie mit dieser Methode eine Verbindung herstellen, finden Sie unter [Beitreten zu Datenbankgruppen beim Herstellen einer Verbindung mit einem Cluster](data-api-dbgroups.md).
Mit dieser Methode können Sie auch einen `region` Wert angeben, der angibt, AWS-Region wo sich Ihre Daten befinden. 

## Zuordnen von JDBC-Datentypen beim Aufrufen der Amazon Redshift Data API
<a name="data-api-calling-considerations-jdbc"></a>

 In der folgenden Tabelle sind den Datentypen, die Sie in Daten-API-Aufrufen angeben, JDBC-Datentypen (Java Database Connectivity) zugeordnet.


****  

|  JDBC-Datentyp  |  Daten-API-Datentyp  | 
| --- | --- | 
|  `INTEGER, SMALLINT, BIGINT`  |  `LONG`  | 
|  `FLOAT, REAL, DOUBLE`  |  `DOUBLE`  | 
|  `DECIMAL`  |  `STRING`  | 
|  `BOOLEAN, BIT`  |  `BOOLEAN`  | 
|  `BLOB, BINARY, LONGVARBINARY`  |  `BLOB`  | 
|  `VARBINARY`  |  `STRING`  | 
|  `CLOB`  |  `STRING`  | 
|  Andere Typen (einschließlich datums- und zeitbezogener Typen)  |  `STRING`  | 

Zeichenfolgenwerte werden an die Amazon-Redshift-Datenbank übergeben und implizit in einen Datenbankdatentyp umgewandelt.

**Anmerkung**  
Derzeit unterstützt die Daten-API keine Arrays mit universellen eindeutigen Identifikatoren ()UUIDs.

## Ausführen von SQL-Anweisungen mit Parametern beim Aufrufen der Amazon Redshift Data API
<a name="data-api-calling-considerations-parameters"></a>

Sie können den an die Datenbank-Engine übermittelten SQL-Text kontrollieren, indem Sie den Data-API-Vorgang mithilfe von Parametern für Teile der SQL-Anweisung aufrufen. Benannte Parameter bieten eine flexible Möglichkeit, Parameter zu übergeben, ohne sie im SQL-Text hart zu codieren. Sie helfen Ihnen, SQL-Text wiederzuverwenden und SQL-Injections-Probleme zu vermeiden.

Das folgende Beispiel zeigt die benannten Parameter eines `parameters` Felds eines `execute-statement` AWS CLI Befehls.

```
--parameters "[{\"name\": \"id\", \"value\": \"1\"},{\"name\": \"address\", \"value\": \"Seattle\"}]"
```

Beachten Sie Folgendes, wenn Sie benannte Parameter verwenden:
+ Benannte Parameter können nur verwendet werden, um Werte in SQL-Anweisungen zu ersetzen.
  + Sie können die Werte in einer INSERT-Anweisung, wie z. B. `INSERT INTO mytable VALUES(:val1)`, ersetzen.

    Die benannten Parameter können in beliebiger Reihenfolge vorliegen und Parameter können mehrmals im SQL-Text verwendet werden. Die in einem vorherigen Beispiel gezeigte Parameteroption, die Werte `1` und `Seattle` werden in die Tabellenspalten `id` und `address` eingefügt. Im SQL-Text geben Sie die benannten Parameter wie folgt an:

    ```
    --sql "insert into mytable values (:id, :address)"
    ```
  + Sie können die Werte in einer Bedingungsklausel ersetzen, z. B. `WHERE attr >= :val1`, `WHERE attr BETWEEN :val1 AND :val2` und `HAVING COUNT(attr) > :val`.
  + Sie können in einer SQL-Anweisung keine Spaltennamen ersetzen, wie z. B. `SELECT column-name`, `ORDER BY column-name` oder `GROUP BY column-name`.

    Die folgende SELECT-Anweisung schlägt beispielsweise aufgrund bei einer ungültigen Syntax fehl.

    ```
    --sql "SELECT :colname, FROM event" --parameters "[{\"name\": \"colname\", \"value\": \"eventname\"}]"
    ```

    Wenn Sie die Anweisung mit dem Syntaxfehler beschreiben (`describe-statement`-Operation), ersetzt der zurückgegebene `QueryString` nicht den Spaltennamen für den Parameter (`"QueryString": "SELECT :colname, FROM event"`) und es wird ein Fehler gemeldet (ERROR: Syntaxfehler bei oder nahe \$1"FROM\$1"\$1n Position: 12).
  + Sie können in einer Aggregatfunktion keine Spaltennamen ersetzen, wie z. B. `COUNT(column-name)`, `AVG(column-name)` oder `SUM(column-name)`.
  + Sie können Spaltennamen in einer JOIN-Klausel nicht ersetzen.
+ Wenn die SQL-Anweisung ausgeführt wird, werden Daten implizit in einen Datentyp umgewandelt. Weitere Informationen zur Datentypumwandlung finden Sie unter [Datentypen](https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 
+ Sie können einen Wert nicht auf NULL setzen. Die Data API interpretiert ihn als Literalzeichenfolge `NULL`. Im folgenden Beispiel wird `id` durch die Literalzeichenfolge `null` ersetzt, nicht durch den SQL-NULL-Wert. 

  ```
  --parameters "[{\"name\": \"id\", \"value\": \"null\"}]"
  ```
+ Sie können keinen Wert mit Länge null festlegen. Die SQL-Anweisung der Data API schlägt fehl. Im folgenden Beispiel wird versucht, `id` mit einem Wert der Länge null festzulegen, was zum Fehlschlagen der SQL-Anweisung führt. 

  ```
  --parameters "[{\"name\": \"id\", \"value\": \"\"}]"
  ```
+ Sie können einen Tabellennamen in der SQL-Anweisung nicht mit einem Parameter festlegen. Die Data API folgt der Regel des JDBC-`PreparedStatement`. 
+ Die Ausgabe der Operation `describe-statement` gibt die Abfrageparameter einer SQL-Anweisung zurück.
+ Nur der `execute-statement`-Vorgang unterstützt SQL-Anweisungen mit Parametern.

## Ausführen von SQL-Anweisungen mit einem Idempotenz-Token beim Aufrufen der Amazon Redshift Data API
<a name="data-api-calling-considerations-idempotency"></a>

Wenn Sie eine ändernde API-Anfrage stellen, gibt die Anfrage in der Regel ein Ergebnis zurück, bevor die asynchronen Workflows der Operation abgeschlossen sind. Es können auch ein Timeout oder andere Serverprobleme auftreten, bevor Operationen abgeschlossen sind, obwohl die Anfrage bereits ein Ergebnis zurückgegeben hat. Dadurch lässt sich möglicherweise nur schwer feststellen, ob die Anfrage erfolgreich war oder nicht, und es werden möglicherweise mehrere Wiederholungsversuche vorgenommen, um sicherzustellen, dass die Operation erfolgreich abgeschlossen wird. Wenn die ursprüngliche Anfrage und die nachfolgenden Wiederholungsversuche jedoch erfolgreich sind, wird die Operation mehrmals abgeschlossen. Das bedeutet, dass Sie möglicherweise mehr Ressourcen aktualisieren als beabsichtigt.

*Idempotenz* stellt sicher, dass eine API-Anfrage nicht mehr als einmal abgeschlossen wird. Wenn bei einer idempotenten Anfrage die ursprüngliche Anfrage erfolgreich abgeschlossen wird, werden alle nachfolgenden Wiederholungen erfolgreich abgeschlossen, ohne dass weitere Aktionen ausgeführt werden. Die Data-API-Operationen `ExecuteStatement` und `BatchExecuteStatement` weisen den optionalen idempotenten Parameter `ClientToken` auf. Das `ClientToken` läuft nach 8 Stunden ab.

**Wichtig**  
Wenn Sie von einem AWS SDK aus aufrufen `ExecuteStatement` und `BatchExecuteStatement` Operationen ausführen, generiert es automatisch ein Client-Token, das bei einem erneuten Versuch verwendet wird. In diesem Fall empfehlen wir, den Parameter `client-token` nicht mit den Operationen `ExecuteStatement` und `BatchExecuteStatement` zu verwenden. Sehen Sie CloudTrail sich das Protokoll an, um das `ClientToken` zu sehen. Ein Beispiel für ein CloudTrail Protokoll finden Sie unter[Amazon-Redshift-Daten-API – Beispiele](logging-with-cloudtrail.md#data-api-cloudtrail).

Der folgende `execute-statement` AWS CLI Befehl veranschaulicht den optionalen `client-token` Parameter für Idempotenz.

```
aws redshift-data execute-statement 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --sql "select * from stl_query limit 1" 
    --database dev 
    --client-token b855dced-259b-444c-bc7b-d3e8e33f94g1
```

Die folgende Tabelle zeigt einige häufig vorkommende Antworten, die Sie auf idempotente API-Anfragen erhalten könnten, und stellt Empfehlungen zu Wiederholungsversuchen bereit.


| Antwort | Empfehlung | Kommentare | 
| --- | --- | --- | 
|  200 (OK)  |  Nicht erneut versuchen  |  Die ursprüngliche Anfrage wurde erfolgreich abgeschlossen. Alle nachfolgenden Wiederholungsversuche werden als erfolgreich zurückgegeben.  | 
|  Antwortcodes der Serie 400   |  Nicht erneut versuchen  |  Es liegt eins der folgenden Probleme mit der Anfrage vor:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/data-api.html) Wenn die Anfrage eine Ressource umfasst, deren Status sich gerade ändert, könnte ein erneuter Anfrageversuch möglicherweise erfolgreich sein.  | 
|  Antwortcodes der Serie 500   |  Erneut versuchen  |  Der Fehler wird durch ein AWS serverseitiges Problem verursacht und ist im Allgemeinen vorübergehend. Wiederholen Sie die Anfrage mit einer geeigneten Backoff-Strategie.  | 

Weitere Informationen zu den Amazon-Redshift-Antwortcodes finden Sie unter [Häufige Fehler](https://docs.aws.amazon.com/redshift/latest/APIReference/CommonErrors.html) in der *API-Referenz zu Amazon Redshift*.

## Ausführen von SQL-Anweisungen mit Sitzungswiederverwendung beim Aufrufen der Amazon Redshift Data API
<a name="data-api-calling-considerations-session-reuse"></a>

Wenn Sie eine API-Anfrage zur Ausführung einer SQL-Anweisung stellen, wird die Sitzung, in der das SQL ausgeführt wird, normalerweise beendet, wenn die SQL-Anweisung beendet ist. Um die Sitzung für eine bestimmte Anzahl von Sekunden aktiv zu halten, verfügen die Data-API-Operationen `ExecuteStatement` und `BatchExecuteStatement` über einen optionalen Parameter `SessionKeepAliveSeconds`. In einem `SessionId`-Antwortfeld ist die Identität der Sitzung angegeben, die dann in nachfolgenden `ExecuteStatement`- und `BatchExecuteStatement`-Operationen verwendet werden kann. Bei nachfolgenden Aufrufen können Sie einen anderen `SessionKeepAliveSeconds`-Wert angeben, um die Leerlaufzeitüberschreitung zu ändern. Wenn `SessionKeepAliveSeconds` nicht geändert wird, bleibt die ursprüngliche Einstellung für die Leerlaufzeitüberschreitung bestehen. Beachten Sie Folgendes, wenn Sie die Sitzungswiederverwendung nutzen:
+ Der maximal zulässige Wert für `SessionKeepAliveSeconds` beträgt 24 Stunden.
+ Die Sitzung kann höchstens 24 Stunden dauern. Nach 24 Stunden wird die Schließung der Sitzung erzwungen und laufende Abfragen werden beendet.
+ Die maximale Anzahl von Sitzungen pro Amazon-Redshift-Cluster oder Redshift-Serverless-Arbeitsgruppe beträgt 500.
+ Sie können jeweils nur eine Abfrage in einer Sitzung ausführen. Sie müssen warten, bis die Abfrage abgeschlossen ist, um die nächste Abfrage in derselben Sitzung auszuführen. Sie können also Abfragen in einer bereitgestellten Sitzung nicht parallel ausführen.
+ Die Data API kann Abfragen für eine bestimmte Sitzung nicht in die Warteschlange stellen.

Um die `SessionId` abzurufen, die von Aufrufen der Operationen `ExecuteStatement` und `BatchExecuteStatement` verwendet wird, rufen Sie die Operationen `DescribeStatement` und `ListStatements` auf.

Das folgende Beispiel zeigt, wie die Parameter `SessionKeepAliveSeconds` und `SessionId` verwendet werden, um eine Sitzung aufrechtzuerhalten und wiederzuverwenden. Rufen Sie zunächst den `execute-statement` AWS CLI Befehl auf, wobei der optionale `session-keep-alive-seconds` Parameter auf gesetzt ist. `2`

```
aws redshift-data execute-statement 
    --session-keep-alive-seconds 2 
    --sql "select 1" 
    --database dev 
    --workgroup-name mywg
```

Die Antwort enthält die Sitzungs-ID.

```
{
    "WorkgroupName": "mywg",
    "CreatedAt": 1703022996.436,
    "Database": "dev",
    "DbUser": "awsuser",
    "Id": "07c5ffea-76d6-4786-b62c-4fe3ef529680",
    "SessionId": "5a254dc6-4fc2-4203-87a8-551155432ee4"
}
```

Rufen Sie dann den `execute-statement` AWS CLI Befehl mit dem vom ersten Aufruf `SessionId` zurückgegebenen Befehl auf. Geben Sie optional den Parameter `session-keep-alive-seconds`, der auf `10` gesetzt ist, an, um den Wert für die Leerlaufzeitüberschreitung zu ändern.

```
aws redshift-data execute-statement 
    --sql "select 1" 
    --session-id 5a254dc6-4fc2-4203-87a8-551155432ee4
    --session-keep-alive-seconds 10
```

## Abrufen von Ergebnissen von SQL-Anweisungen
<a name="data-api-calling-considerations-result-format"></a>

Je nach Ergebnisformat verwenden Sie unterschiedliche Daten-API-Operationen, um SQL-Ergebnisse abzurufen. Wenn Sie `ExecuteStatement`- und `BatchExecuteStatement`-Operationen aufrufen, können Sie angeben, ob die Ergebnisse als JSON oder CSV formatiert sein sollen. Wenn Sie nichts angeben, ist der Standardwert JSON. Verwenden Sie die Operation `GetStatementResult`, um JSON-Ergebnisse abzurufen. Verwenden Sie die Operation `GetStatementResultV2`, um CSV-Ergebnisse abzurufen.

Bei den im JSON-Format zurückgegebenen Ergebnissen handelt es sich um Datensätze, die Metadaten zu jeder Spalte enthalten. Jeder Datensatz liegt im JSON-Format vor. Die Antwort von `GetStatementResult` sieht beispielsweise ungefähr folgendermaßen aus:

```
{
   "ColumnMetadata": [ 
      { 
         "isCaseSensitive": false,
         "isCurrency": false,
         "isSigned": true,
         "label": "?column?",
         "name": "?column?",
         "nullable": 1,
         "precision": 10,
         "scale": 0,
         "schemaName": "",
         "tableName": "",
         "typeName": "int4",
         "length": 0
      }
   ],
   "NextToken": "<token>",
   "Records": [
        [
            {
                "longValue": 1
            }
        ]
    ],
   "TotalNumRows": <number>
}
```

Bei den im CSV-Format zurückgegebenen Ergebnissen handelt es sich um Datensätze, die Metadaten zu jeder Spalte enthalten. Die Ergebnisse werden in 1-MB-Blöcken zurückgegeben, wobei in jedem Block eine beliebige Anzahl von Zeilen im CSV-Format gespeichert werden kann. Jede Anfrage gibt bis zu 15 MB an Ergebnissen zurück. Wenn die Ergebnisse mehr als 15 MB umfassen, wird ein Token für die nächste Seite zurückgegeben, um mit dem Abrufen der Ergebnisse fortzufahren. Die Antwort von `GetStatementResultV2` sieht beispielsweise ungefähr folgendermaßen aus:

```
{
    "ColumnMetadata": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "?column?",
            "name": "?column?",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "?column?",
            "name": "?column?",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "?column?",
            "name": "?column?",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "",
            "typeName": "int4",
            "length": 0
        }
    ],
    "NextToken": "<token>",
    "Records": [
        [
            {
                "CSVRecords":"1,2,3\r\n4,5,6\r\n7,8,9\rn, .... 1MB" // First 1MB Chunk
            },
            {
                "CSVRecords":"1025,1026,1027\r\n1028,1029,1030\r\n....2MB" // Second 1MB chunk
            }
            ...
        ]
    ],
    "ResultFormat" : "CSV",
    "TotalNumRows": <number>
}
```

# Autorisieren des Zugriffs auf die Amazon Redshift Data API
<a name="data-api-access"></a>

Ein Benutzer muss zum Zugriff auf die Data API autorisiert sein. Sie können einen Benutzer zum Zugriff auf die Data API autorisieren, indem Sie dem betreffenden Benutzer eine verwaltete Richtlinie, eine vordefinierte AWS Identity and Access Management (IAM)-Richtlinie, hinzufügen. Als bewährte Methode empfehlen wir, einer IAM-Rolle Berechtigungsrichtlinien anzufügen und sie dann nach Bedarf Benutzern und Gruppen zuzuweisen. Weitere Informationen finden Sie unter [Identity and Access Management in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html). In der IAM-Konsole ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) finden Sie Informationen zu den Berechtigungen, die durch verwaltete Richtlinien zugelassen und verweigert wurden. 

# Konfigurieren von IAM-Berechtigungen
<a name="data-api-iam"></a>

Amazon Redshift stellt die von `AmazonRedshiftDataFullAccess` verwaltete Richtlinie bereit. Diese Richtlinie bietet vollständigen Zugriff auf die Amazon-Redshift-Data-API-Vorgänge. Diese Richtlinie ermöglicht auch den bereichsbezogenen Zugriff auf bestimmte Amazon Redshift- und IAM-API-Operationen AWS Secrets Manager, die für die Authentifizierung und den Zugriff auf einen Amazon Redshift Redshift-Cluster oder eine Redshift Serverless-Arbeitsgruppe erforderlich sind. 

Sie können auch eine eigene IAM-Richtlinie erstellen, die den Zugriff auf bestimmte Ressourcen ermöglicht. Um Ihre Richtlinie zu erstellen, verwenden Sie die `AmazonRedshiftDataFullAccess`-Richtlinie als Ausgangspunkt. Nach dem Erstellen Ihrer Richtlinie können Sie diese jedem Benutzer hinzufügen, der Zugriff auf die Data API benötigt.

Berücksichtigen Sie die folgenden Anforderungen der IAM-Richtlinie, die mit dem Benutzer verknüpft ist:
+ Wenn Sie die Authentifizierung verwenden, vergewissern Sie AWS Secrets Manager sich, dass die Richtlinie die Verwendung der Aktion zum Abrufen des mit dem Schlüssel markierten Geheimnisses `secretsmanager:GetSecretValue` zulässt. `RedshiftDataFullAccess`
+ Wenn Sie temporäre Anmeldeinformationen für die Authentifizierung verwenden, prüfen Sie, ob die Richtlinie die Verwendung der `redshift:GetClusterCredentials`-Aktion für den Datenbankbenutzernamen `redshift_data_api_user` für jede Datenbank im Cluster erlaubt. Dieser Benutzername muss bereits in Ihrer Datenbank erstellt worden sein.
+ Wenn Sie temporäre Anmeldeinformationen verwenden, um sich bei einer Serverless-Arbeitsgruppe zu authentifizieren, bestätigen Sie, dass die Richtlinie die Verwendung der Aktion `redshift-serverless:GetCredentials` zum Abrufen der mit dem Schlüssel `RedshiftDataFullAccess` gekennzeichneten Arbeitsgruppe zulässt. Der Datenbankbenutzer wird der Quellidentität AWS Identity and Access Management (IAM) 1:1 zugeordnet. Der Benutzer sample\$1user ist beispielsweise einem Datenbankbenutzer `IAM:sample_user` und die IAM-Rolle sample\$1role ist `IAMR:sample_role` zugeordnet. Weitere Informationen zu unterschiedlichen IAM-Identitäten finden Sie unter [IAM-Identitäten (Benutzer, Benutzergruppen und Rollen)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) im IAM-Benutzerhandbuch.
+ Die IAM-Aktion `redshift-data:GetStatementResult` ermöglicht den Zugriff auf die API-Operationen `GetStatementResult` und `GetStatementResultV2`.

Unter den folgenden Links finden Sie weitere Informationen zum AWS Identity and Access Management *IAM-Benutzerhandbuch*.
+ Weitere Informationen zum Erstellen von IAM-Rollen finden Sie unter [Erstellen von IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html). 
+ Informationen zum Erstellen einer IAM-Richtlinie finden Sie unter [Erstellen von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html).
+ Informationen zum Hinzufügen einer IAM-Richtlinie zu einem Benutzer finden Sie unter [Hinzufügen und Entfernen von IAM-Identitätsberechtigungen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html). 

## Ausführen einer Abfrage auf einem Cluster, der einem anderen Konto gehört
<a name="data-api-run-query-on-others-cluster"></a>

Um eine Abfrage in einem Cluster auszuführen, der einem anderen Konto gehört, muss das besitzende Konto eine IAM-Rolle bereitstellen, die die Data API im aufrufenden Konto übernehmen kann. Angenommen, Konto B besitzt einen Cluster, auf den Konto A zugreifen muss. Konto B kann die AWS verwaltete Richtlinie `AmazonRedshiftDataFullAccess` der IAM-Rolle von Konto B zuordnen. Dann vertraut Konto B Konto A mit einer Vertrauensrichtlinie wie der folgenden: ``

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/someRoleA"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Schließlich muss die IAM-Rolle von Konto A die IAM-Rolle von Konto B übernehmen können.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": "arn:aws:iam::111122223333:role/someRoleB"
    }
}
```

------

## Geben Sie eine IAM-Rolle an, die Ressourcen auf Redshift Serverless-Arbeitsgruppen und Amazon Redshift Redshift-Cluster in einem beschränkt AWS-Konto
<a name="data-api-restrict-to-account"></a>

Sie können ARNs in Ihrer identitätsbasierten Richtlinie eine Ressource angeben, um den Zugriff auf Redshift Serverless-Arbeitsgruppen und Amazon Redshift Redshift-Cluster in einem zu kontrollieren. AWS-Konto In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen können, die den Zugriff auf die Data API nur für die Arbeitsgruppe und die Cluster in dem angegebenen AWS-Konto ermöglicht.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift-data:CancelStatement",
                "redshift-data:DescribeStatement",
                "redshift-data:GetStatementResult",
                "redshift-data:ListStatements"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "redshift-data:*",
            "Resource": [
                "arn:aws:redshift:us-east-1:111122223333:workgroup/*",
                "arn:aws:redshift:us-east-1:111122223333:cluster:*"
            ]
        }
    ]
}
```

------

## Konfigurieren Sie eine IAM-Richtlinie, die den Zugriff auf SQL-Anweisungsinformationen auf den Eigentümer der Anweisung beschränkt
<a name="data-api-restrict-to-statement-owner"></a>

Standardmäßig behandelt die Amazon Redshift Data API die IAM-Rolle, die beim Aufrufen von `ExecuteStatement` und `BatchExecuteStatement` verwendet wird, als Eigentümer der SQL-Anweisung. Jeder, der die Rolle übernehmen darf, kann auf Informationen über die SQL-Anweisung zugreifen, einschließlich ihrer Ergebnisse. Um den Zugriff auf Informationen zu SQL-Anweisungen auf eine IAM-Rollensitzung mit einem bestimmten Eigentümer zu beschränken, fügen Sie eine Bedingung `redshift-data:statement-owner-iam-userid: "${aws:userid}"` hinzu. Die folgende IAM-Richtlinie beschränkt den Zugriff.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift-data:CancelStatement",
                "redshift-data:DescribeStatement",
                "redshift-data:GetStatementResult",
                "redshift-data:ListStatements"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "redshift-data:statement-owner-iam-userid": "${aws:userid}"
                }
            }
        }
    ]
}
```

------

Sie können die Bedingung `statement-owner-iam-userid` mit `CancelStatement`, `DescribeStatement`, `GetStatementResult` und `ListStatements` verwenden. Weitere Informationen finden Sie unter [Actions defined by Amazon Redshift Data API](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshiftdataapi.html#amazonredshiftdataapi-redshift-data_statement-owner-iam-userid).

## Konfigurieren Sie eine IAM-Richtlinie, die den Zugriff auf SQL-Ergebnisse auf den Sitzungseigentümer beschränkt
<a name="data-api-restrict-session-owner"></a>

Standardmäßig behandelt die Amazon Redshift Data API die IAM-Rolle, die beim Aufrufen von `ExecuteStatement` und `BatchExecuteStatement` verwendet wird, als Eigentümer der Datenbanksitzung, in der die SQL-Anweisung ausgeführt wird. Jeder, der berechtigt ist, die Rolle anzunehmen, kann Abfragen an die Datenbanksitzung stellen. Um den Sitzungszugriff auf eine IAM-Rollensitzung mit einem bestimmten Eigentümer zu beschränken, fügen Sie eine Bedingung ` redshift-data:session-owner-iam-userid: "${aws:userid}"` hinzu. Die folgende IAM-Richtlinie beschränkt den Zugriff.

Die folgende IAM-Richtlinie ermöglicht es nur dem Sitzungseigentümer, Anweisungsergebnisse abzurufen. Die Bedingung `session-owner-iam-userid` wird verwendet, um den Ressourcenzugriff auf die angegebene `userid` zu beschränken.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [ 
                "redshift-data:ExecuteStatement",
                "redshift-data:BatchExecuteStatement"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "redshift-data:session-owner-iam-userid": "${aws:userid}"
                }
            }
        }
    ]
}
```

------

Sie können die Bedingung `session-owner-iam-userid` mit `ExecuteStatement` und `BatchExecuteStatement` verwenden. Weitere Informationen finden Sie unter [Actions defined by Amazon Redshift Data API](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshiftdataapi.html#amazonredshiftdataapi-redshift-data_statement-owner-iam-userid).

# Speichern von Datenbankanmeldedaten in AWS Secrets Manager
<a name="data-api-secrets"></a>

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

Um Anmeldeinformationen mit Secrets Manager zu speichern, benötigen Sie eine von `SecretManagerReadWrite` verwaltete Richtlinienberechtigung. Weitere Informationen zu den Mindestberechtigungen finden Sie unter [Creating and Managing AWS Secrets with Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html) im *AWS Secrets Manager Benutzerhandbuch*. 

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

1. Verwenden Sie die AWS Secrets Manager Konsole, um einen geheimen Schlüssel zu erstellen, der Anmeldeinformationen für Ihren Cluster enthält:
   + Wenn Sie **Store a new secret** (Neues Secret speichern) auswählen, wählen Sie **Credentials for Redshift cluster** (Anmeldeinformationen für Redshift-Cluster) aus. 
   + Speichern Sie Ihre Werte für **User name (Benutzername)** (Datenbankbenutzer),**Password (Passwort)** und **DB cluster (DB-Cluster)** (Cluster-ID) in Ihrem Secret. 
   + Markieren Sie das Secret mit dem Schlüssel `RedshiftDataFullAccess`. Die AWS verwaltete Richtlinie erlaubt die Aktion `AmazonRedshiftDataFullAccess` nur `secretsmanager:GetSecretValue` für Geheimnisse, die mit dem Schlüssel gekennzeichnet sind`RedshiftDataFullAccess`. 

   Anweisungen finden Sie unter [Erstellen eines Basis-Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) im *AWS Secrets Manager -Benutzerhandbuch*.

1. Verwenden Sie die AWS Secrets Manager Konsole, um die Details für das von Ihnen erstellte Geheimnis anzuzeigen, oder führen Sie den `aws secretsmanager describe-secret` AWS CLI Befehl aus.

   Notieren Sie sich den Namen und den ARN des Secrets. Sie können diese in Aufrufen an die Data API verwenden.

**So speichern Sie Ihre Anmeldeinformationen in einem Secret für eine Serverless-Arbeitsgruppe**

1. Verwenden Sie AWS Secrets Manager AWS CLI Befehle, um ein Geheimnis zu speichern, das Anmeldeinformationen für Ihre serverlose Arbeitsgruppe enthält:
   + Erstellen Sie Ihr Secret in einer Datei, zum Beispiel einer JSON-Datei mit dem Namen `mycreds.json`. Geben Sie die Werte für **User name** (Benutzername) (d. h. den Namen des Datenbankbenutzers) und **Password** (Kennwort) in der Datei an.

     ```
     {
           "username": "myusername",
           "password": "mypassword"
     }
     ```
   + Speichern Sie Ihre Werte in Ihrem Secret und markieren Sie das Secret mit dem Schlüssel `RedshiftDataFullAccess`.

     ```
     aws secretsmanager create-secret --name MyRedshiftSecret  --tags Key="RedshiftDataFullAccess",Value="serverless" --secret-string file://mycreds.json
     ```

     Nachfolgend sehen Sie die Ausgabe.

     ```
     {
         "ARN": "arn:aws:secretsmanager:region:accountId:secret:MyRedshiftSecret-mvLHxf",
         "Name": "MyRedshiftSecret",
         "VersionId": "a1603925-e8ea-4739-9ae9-e509eEXAMPLE"
     }
     ```

   Weitere Informationen finden Sie unter [Erstellen eines Basis-Secrets mit der AWS CLI](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html#proc-create-api) im *AWS Secrets Manager -Benutzerhandbuch*.

1. Verwenden Sie die AWS Secrets Manager Konsole, um die Details für das von Ihnen erstellte Geheimnis anzuzeigen, oder führen Sie den `aws secretsmanager describe-secret` AWS CLI Befehl aus.

   Notieren Sie sich den Namen und den ARN des Secrets. Sie können diese in Aufrufen an die Data API verwenden.

# Erstellen eines Amazon-VPC-Endpunkts (AWS PrivateLink) für die Data API
<a name="data-api-vpc-endpoint"></a>

Mit Amazon Virtual Private Cloud (Amazon VPC) können Sie AWS Ressourcen wie Amazon Redshift Redshift-Cluster und -Anwendungen in einer Virtual Private Cloud (VPC) starten. AWS PrivateLink bietet private Konnektivität zwischen virtuellen privaten Clouds (VPCs) und sicheren AWS Diensten im Amazon-Netzwerk. Mithilfe AWS PrivateLink können Sie VPC-Endpunkte erstellen, mit denen Sie Verbindungen zu Diensten herstellen können, die über verschiedene Konten hinweg und auf Amazon VPC VPCs basieren. Weitere Informationen AWS PrivateLink finden Sie unter [VPC Endpoint Services (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html) im *Amazon Virtual Private Cloud Cloud-Benutzerhandbuch*.

Sie können die Daten-API mit Amazon VPC-Endpunkten aufrufen. Die Verwendung eines Amazon-VPC-Endpunkts hält den Datenverkehr zwischen Anwendungen in Ihrer Amazon VPC und der Data API im AWS -Netzwerk aufrecht, ohne öffentliche IP-Adressen zu verwenden. Amazon-VPC-Endpunkte können Ihnen dabei helfen, Compliance- und behördliche Anforderungen im Zusammenhang mit der Einschränkung der öffentlichen Internetkonnektivität zu erfüllen. Wenn Sie beispielsweise einen Amazon VPC-Endpunkt verwenden, können Sie den Verkehr zwischen einer Anwendung, die auf einer Amazon EC2 EC2-Instance ausgeführt wird, und der Daten-API in der VPCs , die sie enthält, aufrechterhalten.

Nachdem Sie den Amazon VPC-Endpunkt erstellt haben, können Sie ihn verwenden, ohne Code- oder Konfigurationsänderungen in der Anwendung vorzunehmen.

**So erstellen Sie einen Amazon VPC-Endpunkt für die Daten-API**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon VPC-Konsole unter [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Wählen Sie **Endpunkte** und dann **Endpunkt erstellen** aus.

1. Wählen Sie auf der Seite **Create Endpoint (Endpunkt erstellen)** für **Service category (Servicekategorie)** die Option **AWS -Services** aus. Wählen Sie bei **Service Name** **redshift-data** (`com.amazonaws.region.redshift-data`) aus.

1. Wählen Sie für **VPC** die VPC aus, in der der Endpunkt erstellt werden soll.

   Wählen Sie die VPC aus, die die Anwendung enthält, die Daten-API-Aufrufe ausführt.

1. Wählen Sie für **Subnetze** das Subnetz für jede Availability Zone (AZ) aus, die von dem AWS Service verwendet wird, auf dem Ihre Anwendung ausgeführt wird.

   Um einen Amazon-VPC-Endpunkt zu erstellen, geben Sie den privaten IP-Adressbereich an, in dem der Endpunkt zugänglich ist. Wählen Sie dazu das Subnetz für jede Availability Zone aus. Dadurch wird der VPC-Endpunkt auf den privaten IP-Adressbereich beschränkt, der für jede Availability Zone spezifisch ist. Außerdem wird in jeder Availability Zone ein Amazon VPC-Endpunkt erstellt.

1. Wählen Sie für **DNS-Namen aktivieren** die Option **Für diesen Endpunkt aktivieren** aus.

   Private DNS löst den standardmäßigen DNS-Hostnamen der Daten-API (`https://redshift-data.region.amazonaws.com`) in die privaten IP-Adressen auf, die mit dem für Ihren Amazon VPC-Endpunkt spezifischen DNS-Hostnamen verknüpft sind. Daher können Sie mit oder auf den Daten-API-VPC-Endpunkt zugreifen, AWS SDKs ohne Code AWS CLI - oder Konfigurationsänderungen vorzunehmen, um die Daten-API-Endpunkt-URL zu aktualisieren.

1. Wählen Sie für **Sicherheitsgruppe** eine Sicherheitsgruppe aus, die dem Amazon VPC-Endpunkt zugeordnet werden soll.

   Wählen Sie die Sicherheitsgruppe aus, die den Zugriff auf den AWS Dienst ermöglicht, auf dem Ihre Anwendung ausgeführt wird. Wenn beispielsweise eine Amazon EC2-Instance Ihre Anwendung ausführt, wählen Sie die Sicherheitsgruppe aus, die den Zugriff auf die Amazon EC2-Instance ermöglicht. Mit der Sicherheitsgruppe können Sie den Datenverkehr zum Amazon VPC-Endpunkt von Ressourcen in Ihrer VPC steuern.

1. Wählen Sie **Create endpoint**.

Nachdem der Endpunkt erstellt wurde, wählen Sie den Link in, AWS-Managementkonsole um die Endpunktdetails anzuzeigen.

Auf der Registerkarte **Details** des Endpunkts werden die DNS-Hostnamen angezeigt, die beim Erstellen des Amazon VPC-Endpunkts generiert wurden.

Sie können den Standardendpunkt (`redshift-data.region.amazonaws.com`) oder einen der VPC-spezifischen Endpunkte verwenden, um die Daten-API innerhalb der Amazon VPC aufzurufen. Der standardmäßige Daten-API-Endpunkt leitet automatisch an den Amazon VPC-Endpunkt weiter. Dieses Routing tritt auf, weil der private DNS-Hostname beim Erstellen des Amazon VPC-Endpunkts aktiviert wurde.

Wenn Sie einen Amazon VPC-Endpunkt in einem Daten-API-Aufruf verwenden, verbleibt der gesamte Datenverkehr zwischen Ihrer Anwendung und der Daten-API in dem Amazon VPCs , der sie enthält. Sie können einen Amazon VPC-Endpunkt für jeden Typ von Daten-API-Aufruf verwenden. Informationen zum Aufrufen der Daten-API finden Sie unter [Wichtige Punkte beim Aufrufen der Amazon Redshift Data API](data-api.md#data-api-calling-considerations).

# Beitreten zu Datenbankgruppen beim Herstellen einer Verbindung mit einem Cluster
<a name="data-api-dbgroups"></a>

Datenbankgruppen sind Sammlungen von Datenbankbenutzern. Datenbankberechtigungen können Gruppen gewährt werden. Ein Administrator kann eine IAM-Rolle so konfigurieren, dass diese Datenbankgruppen berücksichtigt werden, wenn Ihr SQL mit der Daten-API ausgeführt wird. Weitere Informationen über Datenbankgruppen finden Sie unter [Gruppen](https://docs.aws.amazon.com/redshift/latest/dg/r_Groups.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

Sie können die IAM-Rolle eines Daten-API-Aufrufers so konfigurieren, dass der im Aufruf angegebene Datenbankbenutzer Datenbankgruppen beitritt, wenn die Daten-API eine Verbindung mit einem Cluster herstellt. Diese Funktion wird nur unterstützt, wenn eine Verbindung mit bereitgestellten Clustern hergestellt wird. Sie wird nicht unterstützt beim Herstellen einer Verbindung mit Redshift-Serverless-Arbeitsgruppen. Die IAM-Rolle des Aufrufers der Daten-API muss außerdem die Aktion `redshift:JoinGroup` zulassen.

Konfigurieren Sie dies, indem Sie IAM-Rollen Tags hinzufügen. Der Administrator der IAM-Rolle des Aufrufers fügt Tags mit dem Schlüssel `RedshiftDbGroups` und einem Schlüsselwert einer Liste von Datenbankgruppen. Der Wert ist eine Liste von durch Doppelpunkt (:) getrennten Namen von Datenbankgruppen mit einer Gesamtlänge von bis zu 256 Zeichen. Die Datenbankgruppen müssen zuvor in der verbundenen Datenbank definiert worden sein. Wenn eine angegebene Gruppe in der Datenbank nicht zu finden ist, wird sie ignoriert. Zum Beispiel lautet der Schlüsselwert für die Datenbankgruppen `accounting` und `retail` `accounting:retail`. Das Tag-Schlüssel-Wert-Paar `{"Key":"RedshiftDbGroups","Value":"accounting:retail"}` wird von der Daten-API verwendet, um zu ermitteln, welche Datenbankgruppen dem angegebenen Datenbankbenutzer beim Aufruf der Daten-API zugeordnet sind.

**So treten Sie Datenbankgruppen bei**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Wählen Sie im Navigationsbereich der Konsole **Rollen** aus und wählen Sie dann den Namen der Rolle aus, die Sie bearbeiten möchten.

1. Wählen Sie die Registerkarte **Tags** und dann **Tags verwalten** aus.

1. Wählen Sie **Tag hinzufügen** und fügen Sie dann den Schlüssel **RedshiftDbGroups**und einen Wert hinzu, der eine Liste von *database-groups-colon-separated* ist.

1. Wählen Sie **Änderungen speichern ** aus.

   Wenn nun ein IAM-Prinzipal (mit angefügter IAM-Rolle) die Daten-API aufruft, tritt der angegebene Datenbankbenutzer den in der IAM-Rolle angegebenen Datenbankgruppen bei.

Weitere Informationen darüber, wie Sie ein Tag an einen Prinzipal anhängen, einschließlich IAM-Rollen und IAM-Benutzern, finden Sie unter [Markieren von IAM-Ressourcen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) im *IAM-Benutzerhandbuch*. 

# Verwenden der Data API mit Weitergabe von vertrauenswürdigen Identitäten
<a name="data-api-trusted-identity-propagation"></a>

Als Amazon Redshift-Kontoadministrator können Sie Ihren Amazon Redshift Redshift-Cluster oder Ihre Arbeitsgruppe in integrieren AWS IAM Identity Center, was Ihnen hilft, den Zugriff Ihrer Mitarbeiter auf Amazon Redshift mit Single Sign-On zu verwalten. Weitere Informationen finden Sie unter [Einrichtung der AWS IAM Identity Center-Integration mit Amazon Redshift](redshift-iam-access-control-idp-connect-console.md). Die Amazon Redshift Data API unterstützt die Weitergabe von IAM Identity Center-Benutzeridentitäten an einen Amazon Redshift Redshift-Cluster oder eine Arbeitsgruppe und an andere Dienste, z. B. in der Kette. AWS Lake Formation Sie können die Daten-API einrichten und Abfragen durchführen, indem Sie die Schritte unter [Access AWS Services](https://aws.amazon.com/blogs//security/access-aws-services-programmatically-using-trusted-identity-propagation/) programmgesteuert mithilfe von Trusted Identity Propagation befolgen.

Wenn Sie die Data API mithilfe einer IAM-Identity-Center-Benutzeridentität aus einer IAM-Rollensitzung mit verbesserter Identität aufrufen, können Sie nur mit demselben IAM-Identity-Center-Benutzer auf die resultierende Anweisung und das Ergebnis der Anweisung zugreifen. Mit dem folgenden AWS CLI Befehl wird beispielsweise der `execute-statement` Vorgang aufgerufen, um einen SQL-Befehl mit vertrauenswürdiger Identitätsverbreitung auszuführen.

```
aws redshift-data execute-statement 
--sql "select current_user;" 
--cluster-id mycluster
--database dev
```

Der folgende AWS CLI Befehl ruft die `batch-execute-statement` Operation zur Ausführung von zwei SQL-Befehlen auf.

```
aws redshift-data batch-execute-statement 
--sqls  "select current_user;"  "select current_date;"
--cluster-id mycluster
--database dev
```

Für den Zugriff auf Anweisungen mit `cancel-statement`, `describe-statement`, `get-statement-result` und `get-statement-result-v2`, die über IAM-Rollensitzungen mit verbesserter Identität übermittelt wurden, müssen der IAM-Identity-Center-Benutzer und die IAM-Rolle mit den Anmeldeinformationen übereinstimmen, die für die Ausführung von `execute-statment` oder `batch-execute-statement` verwendet wurden. Mit dem folgenden AWS CLI Befehl werden beispielsweise die Ergebnisse einer SQL-Anweisung abgerufen.

```
aws redshift-data get-statement-result 
--id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

Um Anweisungen aufzulisten, muss ein Parameter `cluster-identifier` oder `workgroup-name` angegeben werden, um sicherzustellen, dass der IAM-Identity-Center-Benutzer nur Zugriff auf die IAM-Identity-Center-Anwendungen von Amazon Redshift hat, denen er zugewiesen ist. Der folgende AWS CLI Befehl listet beispielsweise Anweisungen für einen bestimmten Cluster auf.

```
aws redshift-data list-statements
--cluster-identifier mycluster
```

Sie können auch die Data-API-Operationen aufrufen, die unter Verwendung der Weitergabe von vertrauenswürdigen Identitäten auf Datenbankobjekte in einem Cluster oder einer Arbeitsgruppe zugreifen. Dies umfasst die Operationen `list-databases`, `list-schemas`, `list-tables` und `describe-table`.

API-Aufrufe des IAM-Identity-Center-Benutzers können in AWS CloudTrail nachverfolgt werden. `onBehalfOf`In einem Abschnitt des CloudTrail Ereignisses werden die IAM Identity Center-Benutzer-ID und der Identitätsspeicher-ARN angezeigt. Das folgende Beispiel zeigt einen Ausschnitt eines CloudTrail Ereignisses, das den `onBehalfOf` Abschnitt mit der IAM Identity Center-Benutzer-ID von `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` und dem Identitätsspeicher-ARN von zeigt. `arn:aws:identitystore::123456789012:identitystore/d-9067bc44d2`

```
{
            "eventVersion":"1.10",
            "userIdentity":{
            "type":"AssumedRole",
            ...
            },
            "onBehalfOf":{
            "userId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "identityStoreArn":"arn:aws:identitystore::123456789012:identitystore/d-9067bc44d2"
            }
            },
            "eventTime":"2025-01-13T04:46:27Z",
            "eventSource":"redshift-data.amazonaws.com",
            "eventName":"ExecuteStatement",
            "awsRegion":"us-east-1"
            }
```

Sie können den folgenden SQL-Befehl ausführen, um die vom IAM-Identity-Center-Benutzer eingereichte Abfrage zu überprüfen. In diesem Beispiel lautet die in Identity Center registrierte E-Mail-Adresse `username@example.com`.

```
SELECT
    h.query_id,
    h.database_name,
    h.status,
    h.query_text,
    u.usename,
    h.start_time,
    h.end_time
FROM
    sys_query_history h
LEFT JOIN
    pg_user u
ON
    h.user_id = u.usesysid
where u.usename='awsidc:username@example.com'    
ORDER BY
    h.start_time DESC;
```

# Aufrufen der Daten-API
<a name="data-api-calling"></a>

Sie können die Daten-API oder die aufrufen AWS CLI , um SQL-Anweisungen auf Ihrem Cluster oder Ihrer serverlosen Arbeitsgruppe auszuführen. Die primären Operationen zum Ausführen von SQL-Anweisungen sind [https://docs.aws.amazon.com/redshift-data/latest/APIReference/API_ExecuteStatement.html](https://docs.aws.amazon.com/redshift-data/latest/APIReference/API_ExecuteStatement.html) und [https://docs.aws.amazon.com/redshift-data/latest/APIReference/API_BatchExecuteStatement.html](https://docs.aws.amazon.com/redshift-data/latest/APIReference/API_BatchExecuteStatement.html) in der *Amazon-Redshift-Daten-API-Referenz*. Die Daten-API unterstützt die Programmiersprachen, die AWS vom SDK unterstützt werden. Weitere Informationen finden Sie unter [Tools für AWS](https://aws.amazon.com/tools/).

Codebeispiele für den Aufruf der Daten-API finden Sie unter [Erste Schritte mit der Redshift Data API](https://github.com/aws-samples/getting-started-with-amazon-redshift-data-api#getting-started-with-redshift-data-api) in *GitHub*. Dieses Repository enthält Beispiele für AWS Lambda den Zugriff auf Amazon Redshift Redshift-Daten aus Amazon EC2 und Amazon AWS Glue Data Catalog SageMaker Runtime. Beispiele für Programmiersprachen sind Python, Go, Java und Javascript.

Sie können die Daten-API über die aufrufe AWS CLI.

In den folgenden Beispielen wird die AWS CLI zum Aufrufen der Daten-API verwendet. Um die Beispiele auszuführen, bearbeiten Sie die Parameterwerte entsprechend Ihrer Umgebung. In vielen Beispielen wird eine `cluster-identifier` gegeben, die gegen einen Cluster ausgeführt wird. Wenn Sie mit einer Serverless-Arbeitsgruppe arbeiten, geben Sie stattdessen einen `workgroup-name` an. Diese Beispiele veranschaulichen einige der Data-API-Vorgänge. Weitere Informationen finden Sie in der *AWS CLI -Befehlsreferenz*. 

Die Befehle in den folgenden Beispielen wurden zur besseren Lesbarkeit aufgeteilt und formatiert. Nicht alle Parameter und Antworten werden in allen Beispielen gezeigt. Die API-Definition der vollständigen Anforderungssyntax, der Anforderungsparameter, der Antwortsyntax und der Antwortelemente finden Sie in der [Amazon Redshift Data API Reference](https://docs.aws.amazon.com/redshift-data/latest/APIReference/).

# Übergeben von SQL-Anweisungen an ein Amazon Redshift Data Warehouse
<a name="pass-sql-statements"></a>

Die Beispiele auf dieser Seite zeigen verschiedene Möglichkeiten, eine SQL-Anweisung an Ihr Data Warehouse zu übergeben

## Ausführen einer SQL-Anweisung
<a name="data-api-calling-cli-execute-statement"></a>

Verwenden Sie den `aws redshift-data execute-statement` AWS CLI Befehl, um eine SQL-Anweisung auszuführen.

Der folgende AWS CLI Befehl führt eine SQL-Anweisung für einen Cluster aus und gibt einen Bezeichner zum Abrufen der Ergebnisse zurück. In diesem Beispiel wird die AWS Secrets Manager -Authentifizierungsmethode verwendet.

```
aws redshift-data execute-statement 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --sql "select * from stl_query limit 1" 
    --database dev
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598323175.823,
    "Database": "dev",
    "Id": "c016234e-5c6c-4bc5-bb16-2c5b8ff61814",
    "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn"
}
```

Der folgende AWS CLI Befehl führt eine SQL-Anweisung für einen Cluster aus und gibt einen Bezeichner zum Abrufen der Ergebnisse zurück. In diesem Beispiel wird die Authentifizierungsmethode mit temporären Anmeldeinformationen verwendet.

```
aws redshift-data execute-statement 
    --db-user myuser 
    --cluster-identifier mycluster-test 
    --database dev 
    --sql "select * from stl_query limit 1"
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598306924.632,
    "Database": "dev",
    "DbUser": "myuser",
    "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766"
}
```

Der folgende AWS CLI Befehl führt eine SQL-Anweisung für eine serverlose Arbeitsgruppe aus und gibt einen Bezeichner zum Abrufen der Ergebnisse zurück. In diesem Beispiel wird die Authentifizierungsmethode mit temporären Anmeldeinformationen verwendet.

```
aws redshift-data execute-statement 
    --database dev 
    --workgroup-name myworkgroup 
    --sql "select 1;"
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
 "CreatedAt": "2022-02-11T06:25:28.748000+00:00",
 "Database": "dev",
 "DbUser": "IAMR:RoleName",
 "Id": "89dd91f5-2d43-43d3-8461-f33aa093c41e",
 "WorkgroupName": "myworkgroup"
}
```

Der folgende AWS CLI Befehl führt eine SQL-Anweisung für einen Cluster aus und gibt einen Bezeichner zum Abrufen der Ergebnisse zurück. In diesem Beispiel werden die Authentifizierungsmethode von AWS Secrets Manager und ein Idempotenz-Token verwendet.

```
aws redshift-data execute-statement 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --sql "select * from stl_query limit 1" 
    --database dev 
    --client-token b855dced-259b-444c-bc7b-d3e8e33f94g1
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598323175.823,
    "Database": "dev",
    "Id": "c016234e-5c6c-4bc5-bb16-2c5b8ff61814",
    "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn"
}
```

## Ausführen einer SQL-Anweisung mit Parametern
<a name="data-api-calling-cli-execute-statement-parameters"></a>

Verwenden Sie den `aws redshift-data execute-statement` AWS CLI Befehl, um eine SQL-Anweisung auszuführen.

 Der folgende AWS CLI Befehl führt eine SQL-Anweisung für einen Cluster aus und gibt einen Bezeichner zum Abrufen der Ergebnisse zurück. In diesem Beispiel wird die AWS Secrets Manager -Authentifizierungsmethode verwendet. Der SQL-Text weist den benannten Parameter `distance` auf. In diesem Fall lautet die im Prädikat verwendete Entfernung `5`. In einer SELECT-Anweisung können benannte Parameter für Spaltennamen nur im Prädikat verwendet werden. Die Werte für benannte Parameter für die SQL-Anweisung werden in der Option `parameters` angegeben.

```
aws redshift-data execute-statement 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --sql "SELECT ratecode FROM demo_table WHERE trip_distance > :distance"  
    --parameters "[{\"name\": \"distance\", \"value\": \"5\"}]"
    --database dev
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598323175.823,
    "Database": "dev",
    "Id": "c016234e-5c6c-4bc5-bb16-2c5b8ff61814",
    "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn"
}
```

Im folgenden Beispiel wird die `EVENT`-Tabelle aus der Beispieldatenbank verwendet. Weitere Informationen finden Sie unter [EVENT-Tabelle](https://docs.aws.amazon.com/redshift/latest/dg/r_eventtable.html) im *Datenbankentwicklerhandbuch zu Amazon Redshift*. 

Wenn Ihre Datenbank noch nicht die `EVENT`-Tabelle enthält, können Sie mit der Data API eine wie folgt erstellen:

```
aws redshift-data execute-statement 
--database dev
--cluster-id mycluster-test
--db-user awsuser
--sql "create table event( eventid integer not null distkey, 
                           venueid smallint not null, 
                           catid smallint not null, 
                           dateid smallint not null sortkey, 
                           eventname varchar(200), 
                           starttime timestamp)"
```

Mit dem folgenden Befehl wird eine Zeile in der `EVENT`-Tabelle eingefügt. 

```
aws redshift-data execute-statement 
--database dev
--cluster-id mycluster-test
--db-user awsuser 
--sql "insert into event values(:eventid, :venueid::smallint, :catid, :dateid, :eventname, :starttime)" 
--parameters "[{\"name\": \"eventid\", \"value\": \"1\"}, {\"name\": \"venueid\", \"value\": \"1\"}, 
               {\"name\": \"catid\", \"value\": \"1\"}, 
               {\"name\": \"dateid\", \"value\": \"1\"}, 
               {\"name\": \"eventname\", \"value\": \"event 1\"}, 
               {\"name\": \"starttime\", \"value\": \"2022-02-22\"}]"
```

Mit dem folgenden Befehl wird eine zweite Zeile in der `EVENT`-Tabelle eingefügt. In diesem Beispiel werden die folgenden Aufgaben durchgeführt: 
+ Der Parameter namens `id` wird viermal im SQL-Text verwendet.
+ Implizite Typumwandlung wird automatisch angewendet, wenn der Parameter eingefügt wird `starttime`.
+ Für die Spalte `venueid` wird die Typumwandlung in den SMALLINT-Datentyp durchgeführt.
+ Zeichenfolgen, die den Datentyp DATE darstellen, werden implizit in den Datentyp TIMESTAMP konvertiert.
+ Kommentare können in SQL-Text verwendet werden.

```
aws redshift-data execute-statement 
--database dev
--cluster-id mycluster-test
--db-user awsuser 
--sql "insert into event values(:id, :id::smallint, :id, :id, :eventname, :starttime) /*this is comment, and it won't apply parameterization for :id, :eventname or :starttime here*/" 
--parameters "[{\"name\": \"eventname\", \"value\": \"event 2\"}, 
               {\"name\": \"starttime\", \"value\": \"2022-02-22\"}, 
               {\"name\": \"id\", \"value\": \"2\"}]"
```

Hier sehen Sie die beiden eingefügten Zeilen:

```
 eventid | venueid | catid | dateid | eventname |      starttime
---------+---------+-------+--------+-----------+---------------------
       1 |       1 |     1 |      1 | event 1   | 2022-02-22 00:00:00
       2 |       2 |     2 |      2 | event 2   | 2022-02-22 00:00:00
```

Der folgende Befehl verwendet einen benannten Parameter in einer WHERE-Klausel, um die Zeile abzurufen, in der `eventid` `1` ist. 

```
aws redshift-data execute-statement 
--database dev
--cluster-id mycluster-test
--db-user awsuser 
--sql "select * from event where eventid=:id"
--parameters "[{\"name\": \"id\", \"value\": \"1\"}]"
```

Führen Sie den folgenden Befehl aus, um die SQL-Ergebnisse der vorherigen SQL-Anweisung abzurufen:

```
aws redshift-data get-statement-result --id 7529ad05-b905-4d71-9ec6-8b333836eb5a        
```

Bietet folgende Ergebnisse:

```
{
    "Records": [
        [
            {
                "longValue": 1
            },
            {
                "longValue": 1
            },
            {
                "longValue": 1
            },
            {
                "longValue": 1
            },
            {
                "stringValue": "event 1"
            },
            {
                "stringValue": "2022-02-22 00:00:00.0"
            }
        ]
    ],
    "ColumnMetadata": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "eventid",
            "length": 0,
            "name": "eventid",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "venueid",
            "length": 0,
            "name": "venueid",
            "nullable": 0,
            "precision": 5,
            "scale": 0,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "int2"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "catid",
            "length": 0,
            "name": "catid",
            "nullable": 0,
            "precision": 5,
            "scale": 0,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "int2"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "dateid",
            "length": 0,
            "name": "dateid",
            "nullable": 0,
            "precision": 5,
            "scale": 0,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "int2"
        },
        {
            "isCaseSensitive": true,
            "isCurrency": false,
            "isSigned": false,
            "label": "eventname",
            "length": 0,
            "name": "eventname",
            "nullable": 1,
            "precision": 200,
            "scale": 0,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "varchar"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "label": "starttime",
            "length": 0,
            "name": "starttime",
            "nullable": 1,
            "precision": 29,
            "scale": 6,
            "schemaName": "public",
            "tableName": "event",
            "typeName": "timestamp"
        }
    ],
    "TotalNumRows": 1
}
```

## Ausführen mehrerer SQL-Anweisungen
<a name="data-api-calling-cli-batch-execute-statement"></a>

Um mehrere SQL-Anweisungen mit einem Befehl auszuführen, verwenden Sie den `aws redshift-data batch-execute-statement` AWS CLI Befehl.

Der folgende AWS CLI Befehl führt drei SQL-Anweisungen für einen Cluster aus und gibt einen Bezeichner zum Abrufen der Ergebnisse zurück. In diesem Beispiel wird die Authentifizierungsmethode mit temporären Anmeldeinformationen verwendet.

```
aws redshift-data batch-execute-statement 
    --db-user myuser 
    --cluster-identifier mycluster-test 
    --database dev 
    --sqls "set timezone to BST" "select * from mytable" "select * from another_table"
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598306924.632,
    "Database": "dev",
    "DbUser": "myuser",
    "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766"
}
```

# Auflisten von Metadaten über SQL-Anweisungen
<a name="data-api-calling-cli-list-statements"></a>

Verwenden Sie den `aws redshift-data list-statements` AWS CLI Befehl, um Metadaten zu SQL-Anweisungen aufzulisten. Die Autorisierung zum Ausführen dieses Befehls basiert auf den IAM-Berechtigungen des Aufrufers.

Der folgende AWS CLI Befehl listet die ausgeführten SQL-Anweisungen auf.

```
aws redshift-data list-statements 
    --status ALL
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "Statements": [
        {
            "CreatedAt": 1598306924.632,
            "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766",
            "QueryString": "select * from stl_query limit 1",
            "Status": "FINISHED",
            "UpdatedAt": 1598306926.667
        },
        {
            "CreatedAt": 1598311717.437,
            "Id": "e0ebd578-58b3-46cc-8e52-8163fd7e01aa",
            "QueryString": "select * from stl_query limit 1",
            "Status": "FAILED",
            "UpdatedAt": 1598311719.008
        },
        {
            "CreatedAt": 1598313683.65,
            "Id": "c361d4f7-8c53-4343-8c45-6b2b1166330c",
            "QueryString": "select * from stl_query limit 1",
            "Status": "ABORTED",
            "UpdatedAt": 1598313685.495
        },
        {
            "CreatedAt": 1598306653.333,
            "Id": "a512b7bd-98c7-45d5-985b-a715f3cfde7f",
            "QueryString": "select 1",
            "Status": "FINISHED",
            "UpdatedAt": 1598306653.992
        }
    ]
}
```

# Beschreiben von Metadaten über eine SQL-Anweisung
<a name="data-api-calling-cli-describe-statement"></a>

Verwenden Sie den Befehl, um Beschreibungen der Metadaten für eine SQL-Anweisung `aws redshift-data describe-statement` AWS CLI abzurufen. Die Autorisierung zum Ausführen dieses Befehls basiert auf den IAM-Berechtigungen des Aufrufers. 

Der folgende AWS CLI Befehl beschreibt eine SQL-Anweisung. 

```
aws redshift-data describe-statement 
    --id d9b6c0c9-0747-4bf4-b142-e8883122f766
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": 1598306924.632,
    "Duration": 1095981511,
    "Id": "d9b6c0c9-0747-4bf4-b142-e8883122f766",
    "QueryString": "select * from stl_query limit 1",
    "RedshiftPid": 20859,
    "RedshiftQueryId": 48879,
    "ResultRows": 1,
    "ResultSize": 4489,
    "Status": "FINISHED",
    "UpdatedAt": 1598306926.667
}
```

Es folgt ein Beispiel für eine `describe-statement`-Antwort nach dem Ausführen eines `batch-execute-statement`-Befehls mit mehreren SQL-Anweisungen.

```
{
    "ClusterIdentifier": "mayo",
    "CreatedAt": 1623979777.126,
    "Duration": 6591877,
    "HasResultSet": true,
    "Id": "b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652",
    "RedshiftPid": 31459,
    "RedshiftQueryId": 0,
    "ResultRows": 2,
    "ResultSize": 22,
    "Status": "FINISHED",
    "SubStatements": [
        {
            "CreatedAt": 1623979777.274,
            "Duration": 3396637,
            "HasResultSet": true,
            "Id": "b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:1",
            "QueryString": "select 1;",
            "RedshiftQueryId": -1,
            "ResultRows": 1,
            "ResultSize": 11,
            "Status": "FINISHED",
            "UpdatedAt": 1623979777.903
        },
        {
            "CreatedAt": 1623979777.274,
            "Duration": 3195240,
            "HasResultSet": true,
            "Id": "b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:2",
            "QueryString": "select 2;",
            "RedshiftQueryId": -1,
            "ResultRows": 1,
            "ResultSize": 11,
            "Status": "FINISHED",
            "UpdatedAt": 1623979778.076
        }
    ],
    "UpdatedAt": 1623979778.183
}
```

# Abrufen der Ergebnisse einer SQL-Anweisung
<a name="data-api-calling-cli-get-statement-result"></a>

Verwenden Sie den `redshift-data get-statement-result-v2` AWS CLI Befehl `redshift-data get-statement-result` or, um das Ergebnis einer ausgeführten SQL-Anweisung abzurufen. Die Ergebnisse von `get-statement-result` liegen im JSON-Format vor. Die Ergebnisse von `get-statement-result-v2` liegen im CSV-Format vor. Sie können eine `Id` angeben, die Sie als Antwort auf `execute-statement` oder `batch-execute-statement` erhalten. Der `Id`-Wert für eine SQL-Anweisung, die von `batch-execute-statement` ausgeführt wurde, kann im Ergebnis von `describe-statement` abgerufen werden und erhält einen Doppelpunkt und eine Sequenznummer wie `b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:2` als Suffix. Wenn Sie mehrere SQL-Anweisungen mit `batch-execute-statement` ausführen, hat jede SQL-Anweisung einen `Id`-Wert wie in `describe-statement` gezeigt. Die Autorisierung zum Ausführen dieses Befehls basiert auf den IAM-Berechtigungen des Aufrufers. 

Die folgende Anweisung gibt das Ergebnis einer SQL-Anweisung zurück, die von `execute-statement` ausgeführt wurde und bei der `ResultFormat` standardmäßig auf `JSON` gesetzt wurde. Rufen Sie die Operation `get-statement-result` auf, um die Ergebnisse abzurufen.

```
aws redshift-data get-statement-result 
    --id d9b6c0c9-0747-4bf4-b142-e8883122f766
```

Die folgende Anweisung gibt das Ergebnis einer zweiten SQL-Anweisung zurück, die von ausgeführt wurde `batch-execute-statement`.

```
aws redshift-data get-statement-result 
    --id b2906c76-fa6e-4cdf-8c5f-4de1ff9b7652:2
```

Im Folgenden sehen Sie ein Beispiel für die Antwort auf einen Aufruf an `get-statement-result`. Das SQL-Ergebnis wird hier im JSON-Format im `Records`-Schlüssel der Antwort zurückgegeben.

```
{
    "ColumnMetadata": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "userid",
            "length": 0,
            "name": "userid",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "query",
            "length": 0,
            "name": "query",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": true,
            "isCurrency": false,
            "isSigned": false,
            "label": "label",
            "length": 0,
            "name": "label",
            "nullable": 0,
            "precision": 320,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "bpchar"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "xid",
            "length": 0,
            "name": "xid",
            "nullable": 0,
            "precision": 19,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int8"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "pid",
            "length": 0,
            "name": "pid",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": true,
            "isCurrency": false,
            "isSigned": false,
            "label": "database",
            "length": 0,
            "name": "database",
            "nullable": 0,
            "precision": 32,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "bpchar"
        },
        {
            "isCaseSensitive": true,
            "isCurrency": false,
            "isSigned": false,
            "label": "querytxt",
            "length": 0,
            "name": "querytxt",
            "nullable": 0,
            "precision": 4000,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "bpchar"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "label": "starttime",
            "length": 0,
            "name": "starttime",
            "nullable": 0,
            "precision": 29,
            "scale": 6,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "timestamp"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "label": "endtime",
            "length": 0,
            "name": "endtime",
            "nullable": 0,
            "precision": 29,
            "scale": 6,
            "schemaName": "",
            "tableName": "stll_query",
            "type": 93,
            "typeName": "timestamp"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "aborted",
            "length": 0,
            "name": "aborted",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "insert_pristine",
            "length": 0,
            "name": "insert_pristine",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "concurrency_scaling_status",
            "length": 0,
            "name": "concurrency_scaling_status",
            "nullable": 0,
            "precision": 10,
            "scale": 0,
            "schemaName": "",
            "tableName": "stll_query",
            "typeName": "int4"
        }
    ],
    "Records": [
        [
            {
                "longValue": 1
            },
            {
                "longValue": 3
            },
            {
                "stringValue": "health"
            },
            {
                "longValue": 1023
            },
            {
                "longValue": 15279
            },
            {
                "stringValue": "dev"
            },
            {
                "stringValue": "select system_status from stv_gui_status;"
            },
            {
                "stringValue": "2020-08-21 17:33:51.88712"
            },
            {
                "stringValue": "2020-08-21 17:33:52.974306"
            },
            {
                "longValue": 0
            },
            {
                "longValue": 0
            },
            {
                "longValue": 6
            }
        ]
    ],
    "TotalNumRows": 1
}
```

Das folgende Beispiel zeigt eine SQL-Anweisung, die von `execute-statement` ausgeführt wird, um Ergebnisse im JSON-Format zurückzugeben. Die Tabelle `testingtable` enthält drei Ganzzahlspalten (col1, col2, col3) und es gibt drei Zeilen mit Werten (1, 2, 3), (4, 5, 6) und (7, 8, 9).

```
aws redshift-data execute-statement 
    --database dev 
    --sql "SELECT col1, col2, col3 FROM testingtable" 
    --cluster-id mycluster-test 
    --result-format JSON
```

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": "2024-04-02T16:45:25.144000+00:00",
    "Database": "dev",
    "DbUser": "IAMR:Administrator",
    "Id": "d468d942-6df9-4f85-8ae3-bac01a61aec3"
}
```

Im Folgenden sehen Sie ein Beispiel für die Antwort auf einen Aufruf an `get-statement-result`. Das SQL-Ergebnis wird hier im JSON-Format im `Records`-Schlüssel der Antwort zurückgegeben.

```
aws redshift-data get-statement-result
    --id d468d942-6df9-4f85-8ae3-bac01a61aec3
```

```
{
    "Records": [
        [
            {
                "longValue": 1
            },
            {
                "longValue": 2
            },
            {
                "longValue": 3
            }
        ],
        [
            {
                "longValue": 4
            },
            {
                "longValue": 5
            },
            {
                "longValue": 6
            }
        ],
        [
            {
                "longValue": 7
            },
            {
                "longValue": 8
            },
            {
                "longValue": 9
            }
        ]
    ],
    "ColumnMetadata": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col1",
            "name": "col1",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col2",
            "name": "col2",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col3",
            "name": "col3",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        }
    ],
    "TotalNumRows": 3
}
```

Das folgende Beispiel zeigt eine SQL-Anweisung, die von `execute-statement` ausgeführt wird, um Ergebnisse im CSV-Format zurückzugeben. Die Tabelle `testingtable` enthält drei Ganzzahlspalten (col1, col2, col3) und es gibt drei Zeilen mit Werten (1, 2, 3), (4, 5, 6) und (7, 8, 9).

```
aws redshift-data execute-statement 
    --database dev 
    --sql "SELECT col1, col2, col3 FROM testingtable" 
    --cluster-id mycluster-test 
    --result-format CSV
```

```
{
    "ClusterIdentifier": "mycluster-test",
    "CreatedAt": "2024-04-02T16:45:25.144000+00:00",
    "Database": "dev",
    "DbUser": "IAMR:Administrator",
    "Id": "d468d942-6df9-4f85-8ae3-bac01a61aec3"
}
```

Im Folgenden sehen Sie ein Beispiel für die Antwort auf einen Aufruf an `get-statement-result-v2`. Das SQL-Ergebnis wird hier im CSV-Format im `Records`-Schlüssel der Antwort zurückgegeben. Zeilen werden durch Wagenrücklauf und Zeilenvorschub (\$1r\$1n) getrennt. Die erste Zeile, die in `Records` zurückgegeben wird, sind die Spaltenüberschriften. Die Ergebnisse im CSV-Format werden in 1-MB-Blöcken zurückgegeben, wobei in jedem Block eine beliebige Anzahl von Zeilen bis zu 1 MB gespeichert werden kann. 

```
aws redshift-data get-statement-result-v2
    --id d468d942-6df9-4f85-8ae3-bac01a61aec3
```

```
{
    "Records": [
        {
            "CSVRecords": "col1,col2,col3\r\n1,2,3\r\n4,5,6\r\n7,8,9\r\n"
        }
    ],
    "ColumnMetadata": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col1",
            "name": "col1",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col2",
            "name": "col2",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": true,
            "label": "col3",
            "name": "col3",
            "nullable": 1,
            "precision": 10,
            "scale": 0,
            "schemaName": "public",
            "tableName": "testingtable",
            "typeName": "int4",
            "length": 0
        }
    ],
    "TotalNumRows": 3,
    "ResultFormat": "csv"
}
```

# Beschreiben einer Tabelle
<a name="data-api-calling-cli-describe-table"></a>

Verwenden Sie den `aws redshift-data describe-table` AWS CLI Befehl, um Metadaten abzurufen, die eine Tabelle beschreiben.

Der folgende AWS CLI Befehl führt eine SQL-Anweisung für einen Cluster aus und gibt Metadaten zurück, die eine Tabelle beschreiben. In diesem Beispiel wird die AWS Secrets Manager Authentifizierungsmethode verwendet.

```
aws redshift-data describe-table  
    --cluster-identifier mycluster-test 
    --database dev 
    --schema information_schema 
    --table sql_features 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "ColumnList": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "feature_id",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "feature_name",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        }     
    ]
}
```

Mit dem folgenden AWS CLI Befehl wird eine SQL-Anweisung für einen Cluster ausgeführt, der eine Tabelle beschreibt. In diesem Beispiel wird die Authentifizierungsmethode mit temporären Anmeldeinformationen verwendet.

```
aws redshift-data describe-table 
    --db-user myuser 
    --cluster-identifier mycluster-test 
    --database dev 
    --schema information_schema 
    --table sql_features
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "ColumnList": [
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "feature_id",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "feature_name",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "sub_feature_id",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "sub_feature_name",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "is_supported",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "is_verified_by",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        },
        {
            "isCaseSensitive": false,
            "isCurrency": false,
            "isSigned": false,
            "length": 2147483647,
            "name": "comments",
            "nullable": 1,
            "precision": 2147483647,
            "scale": 0,
            "schemaName": "information_schema",
            "tableName": "sql_features",
            "typeName": "character_data"
        }
    ]
}
```

# Auflisten von Datenbanken in einem Cluster
<a name="data-api-calling-cli-list-databases"></a>

Verwenden Sie den `aws redshift-data list-databases` AWS CLI Befehl, um die Datenbanken in einem Cluster aufzulisten.

Mit dem folgenden AWS CLI Befehl wird eine SQL-Anweisung für einen Cluster ausgeführt, um Datenbanken aufzulisten. In diesem Beispiel wird die AWS Secrets Manager Authentifizierungsmethode verwendet.

```
aws redshift-data list-databases  

    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --database dev
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "Databases": [
        "dev"
    ]
}
```

Mit dem folgenden AWS CLI Befehl wird eine SQL-Anweisung für einen Cluster ausgeführt, um Datenbanken aufzulisten. In diesem Beispiel wird die Authentifizierungsmethode mit temporären Anmeldeinformationen verwendet.

```
aws redshift-data list-databases  
    --db-user myuser 
    --cluster-identifier mycluster-test 
    --database dev
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "Databases": [
        "dev"
    ]
}
```

# Auflisten von Schemata in einer Datenbank
<a name="data-api-calling-cli-list-schemas"></a>

Verwenden Sie den `aws redshift-data list-schemas` AWS CLI Befehl, um die Schemas in einer Datenbank aufzulisten.

Mit dem folgenden AWS CLI Befehl wird eine SQL-Anweisung für einen Cluster ausgeführt, um Schemas in einer Datenbank aufzulisten. In diesem Beispiel wird die AWS Secrets Manager Authentifizierungsmethode verwendet.

```
aws redshift-data list-schemas 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --database dev
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "Schemas": [
        "information_schema",
        "pg_catalog",
        "pg_internal",
        "public"
    ]
}
```

Mit dem folgenden AWS CLI Befehl wird eine SQL-Anweisung für einen Cluster ausgeführt, um Schemas in einer Datenbank aufzulisten. In diesem Beispiel wird die Authentifizierungsmethode mit temporären Anmeldeinformationen verwendet.

```
aws redshift-data list-schemas 
    --db-user mysuser 
    --cluster-identifier mycluster-test 
    --database dev
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "Schemas": [
        "information_schema",
        "pg_catalog",
        "pg_internal",
        "public"
    ]
}
```

# Auflisten von Tabellen in einer Datenbank
<a name="data-api-calling-cli-list-tables"></a>

Verwenden Sie den `aws redshift-data list-tables` AWS CLI Befehl, um die Tabellen in einer Datenbank aufzulisten.

Mit dem folgenden AWS CLI Befehl wird eine SQL-Anweisung für einen Cluster ausgeführt, um Tabellen in einer Datenbank aufzulisten. In diesem Beispiel wird die AWS Secrets Manager Authentifizierungsmethode verwendet.

```
aws redshift-data list-tables 
    --secret-arn arn:aws:secretsmanager:us-west-2:123456789012:secret:myuser-secret-hKgPWn 
    --cluster-identifier mycluster-test 
    --database dev 
    --schema information_schema
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "Tables": [
        {
            "name": "sql_features",
            "schema": "information_schema",
            "type": "SYSTEM TABLE"
        },
        {
            "name": "sql_implementation_info",
            "schema": "information_schema",
            "type": "SYSTEM TABLE"
        }
}
```

Mit dem folgenden AWS CLI Befehl wird eine SQL-Anweisung für einen Cluster ausgeführt, um Tabellen in einer Datenbank aufzulisten. In diesem Beispiel wird die Authentifizierungsmethode mit temporären Anmeldeinformationen verwendet.

```
aws redshift-data list-tables  

     --db-user myuser 
     --cluster-identifier mycluster-test 
     --database dev 
     --schema information_schema
```

Im Folgenden sehen Sie ein Beispiel für die Antwort.

```
{
    "Tables": [
        {
            "name": "sql_features",
            "schema": "information_schema",
            "type": "SYSTEM TABLE"
        },
        {
            "name": "sql_implementation_info",
            "schema": "information_schema",
            "type": "SYSTEM TABLE"
        }
    ]
}
```

# Beheben von Problemen mit der Amazon Redshift Data API
<a name="data-api-troubleshooting"></a>

Verwenden Sie die folgenden Abschnitte mit dem Titel "Allgemeine Fehlermeldungen", um Probleme zu beheben, die Sie mit der Data-API haben. 

**Topics**
+ [Packet for Query Is Too Large (Paket für Abfrage zu groß)](#data-api-troubleshooting-packet-too-large)
+ [Database Response Exceeded Size Limit Datenbankantwort überschreitet Größenlimit)](#data-api-troubleshooting-response-size-too-large)

## Packet for Query Is Too Large (Paket für Abfrage zu groß)
<a name="data-api-troubleshooting-packet-too-large"></a>

Wenn ein Fehler angezeigt wird, der angibt, dass das Paket für eine Abfrage zu groß ist, ist meist die Ergebnismenge, die für eine Zeile zurückgegeben wurde, zu groß. Die Größenbegrenzung der Data-API beträgt 64 KB pro Zeile in der von der Datenbank zurückgegebenen Ergebnismenge.

Um dieses Problem zu beheben, stellen Sie sicher, dass jede Zeile in einem Ergebnissatz höchstens 64 KB groß ist.

## Database Response Exceeded Size Limit Datenbankantwort überschreitet Größenlimit)
<a name="data-api-troubleshooting-response-size-too-large"></a>

Wenn Sie einen Fehler sehen, der darauf hinweist, dass die Datenbankantwort die Größenbeschränkung überschritten hat, war meist die von der Datenbank zurückgegebene Ergebnismenge zu groß. Das Daten-API-Limit in der von der Datenbank zurückgegebenen Ergebnismenge beträgt 500 MB.

Um dieses Problem zu lösen, stellen Sie sicher, dass Aufrufe der Daten-API 500 MB Daten oder weniger zurückgeben. Wenn Sie mehr als 500 MB zurückgeben müssen, können Sie mehrere Anweisungsaufrufe mit der `LIMIT` Klausel in Ihrer Abfrage ausführen.

# 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 bei der Erstellung 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 
            } 
        } 
    ] 
}
```

# Überwachen der Data API
<a name="data-api-monitoring"></a>

Die Überwachung ist ein wichtiger Bestandteil der Aufrechterhaltung der Zuverlässigkeit, Verfügbarkeit und Leistung der Daten-API und Ihrer anderen AWS Lösungen. AWS bietet die folgenden Überwachungstools, um die Daten-API zu überwachen, zu melden, wenn etwas nicht stimmt, und gegebenenfalls automatische Maßnahmen zu ergreifen: 
+ Amazon EventBridge kann verwendet werden, um Ihre AWS Services zu automatisieren und automatisch auf Systemereignisse wie Probleme mit der Anwendungsverfügbarkeit oder Ressourcenänderungen zu reagieren. Ereignisse im Rahmen von AWS Services werden nahezu EventBridge in Echtzeit zugestellt. Sie können einfache Regeln schreiben, um anzugeben, welche Ereignisse für Sie interessant sind und welche automatisierten Aktionen ausgeführt werden sollen, wenn ein Ereignis mit einer Regel übereinstimmt. Weitere Informationen finden Sie im [ EventBridge Amazon-Benutzerhandbuch](https://docs.aws.amazon.com/eventbridge/latest/userguide/). 
+ AWS CloudTrail erfasst API-Aufrufe und zugehörige Ereignisse, die von oder im Namen Ihres AWS Kontos getätigt wurden, und übermittelt die Protokolldateien an einen von Ihnen angegebenen Amazon S3 S3-Bucket. Sie können feststellen, welche Benutzer und Konten angerufen wurden AWS, von welcher Quell-IP-Adresse aus die Anrufe getätigt wurden und wann die Aufrufe erfolgten. Weitere Informationen zur Integration von Amazon Redshift finden Sie unter [Logging with CloudTrail](https://docs.aws.amazon.com/redshift/latest/mgmt/logging-with-cloudtrail.html). AWS CloudTrail Weitere Informationen zu CloudTrail finden Sie im [AWS CloudTrail Benutzerhandbuch](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/). 

**Topics**
+ [Überwachung von Ereignissen für die Amazon Redshift Data API in Amazon EventBridge](data-api-monitoring-events.md)

# Überwachung von Ereignissen für die Amazon Redshift Data API in Amazon EventBridge
<a name="data-api-monitoring-events"></a>

Sie können Daten-API-Ereignisse überwachen EventBridge, wodurch ein Stream von Echtzeitdaten aus Ihren eigenen Anwendungen, software-as-a-service (SaaS-) Anwendungen und AWS Diensten bereitgestellt wird. EventBridge leitet diese Daten an Ziele wie AWS Lambda Amazon SNS weiter. Bei diesen Ereignissen handelt es sich um dieselben Ereignisse, die unter CloudWatch Ereignisse angezeigt werden. Dadurch wird ein Stream von Systemereignissen nahezu in Echtzeit bereitgestellt, die Änderungen an Ressourcen beschreiben. AWS Ereignisse werden an das Konto gesendet, das die Amazon-Redshift-Datenbank enthält. Wenn Sie beispielsweise eine Rolle in einem anderen Konto übernehmen, werden Ereignisse an dieses Konto gesendet. Weitere Informationen finden Sie unter [ EventBridge Amazon-Veranstaltungen](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html) im * EventBridge Amazon-Benutzerhandbuch.* . 

Data-API-Ereignisse werden gesendet, wenn der API-Vorgang `ExecuteStatement` oder `BatchExecuteStatement` die Option `WithEvent` auf `true` festlegt. Das `state`-Feld des Ereignisses enthält einen der folgenden Werte: 
+ ABBORTED – Die Abfrage wurde vom Benutzer gestoppt. 
+ FAILED – Die Ausführung der Abfrage ist fehlgeschlagen. 
+ FINISHED – Die Ausführung der Abfrage ist abgeschlossen. 

Ereignisse werden garantiert geliefert. Weitere Informationen finden Sie unter [Events from AWS services](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html) im * EventBridge Amazon-Benutzerhandbuch*. 

## Beispiel für abgeschlossenes Data-API-Ereignis
<a name="data-api-monitoring-events-finished"></a>

Das folgende Beispiel zeigt ein Ereignis für die Data API, wenn der API-Vorgang `ExecuteStatement` abgeschlossen ist. Im folgenden Beispiel hat eine Anweisung namens `test.testtable` die Ausführung abgeschlossen.

```
{
    "version": "0",
    "id": "18e7079c-dd4b-dd64-caf9-e2a31640dab0",
    "detail-type": "Redshift Data Statement Status Change",
    "source": "aws.redshift-data",
    "account": "123456789012",
    "time": "2020-10-01T21:14:26Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:redshift:us-east-1:123456789012:cluster:redshift-cluster-1"
    ],
    "detail": {
        "principal": "arn:aws:iam::123456789012:user/myuser",
        "statementName": "test.testtable",
        "statementId": "dd2e1ec9-2ee3-49a0-819f-905fa7d75a4a",
        "redshiftQueryId": -1,
        "state": "FINISHED",
        "rows": 1,
        "expireAt": 1601673265
    }
}
```

# Verwendung AWS KMS mit der Amazon Redshift Data API
<a name="data-api-kms"></a>

Wenn Sie Ihren Amazon Redshift-Cluster oder Ihre Redshift Serverless-Arbeitsgruppe mit einem vom Kunden verwalteten Schlüssel verschlüsseln, verwendet die Amazon Redshift Data API denselben kundenverwalteten Schlüssel, um Ihre Abfragen und Ergebnisse zu speichern und zu verschlüsseln.

Die Daten-API verschlüsselt Ihre Daten standardmäßig, um vertrauliche Informationen wie Abfragetext und Abfrageergebnisse zu schützen. AWS Für diesen Schutz werden AWS KMS Verschlüsselungsschlüssel verwendet, die Eigentum von sind.

Die Standardverschlüsselung für ruhende Daten reduziert den betrieblichen Aufwand und die Komplexität beim Schutz sensibler Daten. Dieser Ansatz hilft Ihnen dabei, sichere Anwendungen zu entwickeln, die strenge Verschlüsselungsvorschriften und regulatorische Anforderungen erfüllen.

## Verwendung von Zuschüssen in AWS KMS
<a name="data-api-kms-grants"></a>

Für die Daten-API ist eine Genehmigung erforderlich, um Ihren vom Kunden verwalteten Schlüssel verwenden zu können.

Wenn Sie einen Cluster anrufen `ExecuteStatement` oder `BatchExecuteStatement` gegen einen Cluster anrufen, der mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, erstellt Amazon Redshift in Ihrem Namen einen Zuschuss, indem es eine [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)Anfrage an AWS KMS sendet. AWS KMS verwendet Zuschüsse, um der Daten-API Zugriff auf einen KMS-Schlüssel in Ihrem Konto zu gewähren.

Für die Daten-API ist die Genehmigung erforderlich, um Ihren vom Kunden verwalteten Schlüssel für die folgenden Vorgänge zu verwenden:
+ Senden Sie [https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)Anfragen AWS KMS zur Verschlüsselung von Abfrage-Metadaten mit Ihrem vom Kunden verwalteten Schlüssel an.
+ Senden Sie [https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)Anfragen AWS KMS zur Generierung von Datenschlüsseln, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt sind.
+ Senden Sie [https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)Anfragen AWS KMS zur Entschlüsselung der verschlüsselten Datenschlüssel, damit diese Ihre Daten verschlüsseln können.

Sie können den Zugriff auf die Gewährung jederzeit widerrufen oder Amazon Redshift Redshift-Zugriff auf Ihren vom Kunden verwalteten Schlüssel entfernen. Wenn Sie dies tun, kann die Daten-API nicht mehr auf Daten zugreifen, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt wurden, was sich auf Vorgänge auswirkt, die von diesen Daten abhängen. Wenn Sie beispielsweise versuchen, Abfrageergebnisse abzurufen oder den Abfragestatus zu verfolgen, nachdem Sie den Zuschuss widerrufen haben, gibt die Daten-API eine `AccessDeniedException` zurück.

## Wichtige Richtlinien für Ihren vom Kunden verwalteten Schlüssel
<a name="data-api-kms-policy"></a>

Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Wenn Sie Ihren kundenseitig verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie unter [Kundenverwaltete Schlüssel](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-mgn-key) im *AWS Key Management Service Entwicklerhandbuch*.

Um Ihre vom Kunden verwalteten Schlüssel mit der Daten-API zu verwenden, müssen Sie zunächst den Zugriff auf Amazon Redshift zulassen. Die folgenden API-Operationen müssen in der Schlüsselrichtlinie zulässig sein:
+ `kms:CreateGrant`: Fügt einem kundenverwalteten Schlüssel eine Erteilung hinzu. Gewährt Kontrollzugriff auf einen bestimmten AWS KMS Schlüssel, der Zugriff auf Grant-Operationen ermöglicht, die Amazon Redshift benötigt. Weitere Informationen finden Sie unter [Verwenden von Zuschüssen in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations).

Im Folgenden finden Sie ein Beispiel für eine wichtige Richtlinie:

```
"Statement":[
   {
      "Sid":"Allow access to principals authorized to use Amazon Redshift",
      "Effect":"Allow",
      "Principal":{
         "AWS":"*"
      },
      "Action":[
         "kms:DescribeKey",
         "kms:CreateGrant"
      ],
      "Resource":"*",
      "Condition":{
         "StringEquals":{
            "kms:ViaService":"redshift.amazonaws.com",
            "kms:CallerAccount":"111122223333"
         }
      }
   },
   {
      "Sid":"AllowKeyAdministratorsAccess",
      "Effect":"Allow",
      "Principal":{
         "AWS":"arn:aws:iam::111122223333:role/ExampleAdminRole"
      },
      "Action":"kms:*",
      "Resource":"*"
   },
   {
      "Sid":"AllowKeyUseForExampleRole",
      "Effect":"Allow",
      "Principal":{
         "AWS":"arn:aws:iam::111122223333:role/ExampleUserRole"
      },
      "Action":[
         "kms:Encrypt",
         "kms:Decrypt",
         "kms:ReEncrypt*",
         "kms:GenerateDataKey*",
         "kms:DescribeKey"
      ],
      "Resource":"*"
   }
]
```

## Kontext der Daten-API-Verschlüsselung
<a name="data-api-kms-encryption"></a>

Ein Verschlüsselungskontext ist ein optionaler Satz von Schlüssel-Wert-Paaren, der zusätzliche kontextbezogene Informationen zu den Daten enthält. AWS KMS verwendet den Verschlüsselungskontext als zusätzliche authentifizierte Daten, um die authentifizierte Verschlüsselung zu unterstützen. Wenn Sie einen Verschlüsselungskontext in eine Anforderung zum Verschlüsseln von Daten einbeziehen, wird der Verschlüsselungskontext AWS KMS an die verschlüsselten Daten gebunden. Um die Daten zu entschlüsseln, müssen Sie denselben Verschlüsselungskontext in die Anforderung aufnehmen. 

Die Daten-API verwendet bei allen AWS KMS kryptografischen Vorgängen für bereitgestellte Cluster dieselben drei Schlüssel-Wert-Paare für den Verschlüsselungskontext:
+ `aws:redshift:arn`— Der Amazon-Ressourcenname (ARN) des Clusters
+ `aws:redshift:createtime`— Der Zeitstempel, als Sie die Cluster-Erstellung angefordert haben
+ `serviceName` – `RedshiftDataAPI`

```
"EncryptionContextSubset": {
    "aws:redshift:arn": "arn:aws:redshift:us-east-1:123456789012:cluster:redshift-cluster",
    "aws:redshift:createtime": "20250815T0000Z",
    "serviceName": "RedshiftDataAPI",
}
```

Die Daten-API verwendet bei allen AWS KMS kryptografischen Vorgängen für serverlose Arbeitsgruppen zwei Schlüssel-Wert-Paare aus dem Verschlüsselungskontext:
+ `aws:redshift-serverless:arn`— Der Amazon-Ressourcenname (ARN) des Namespaces
+ `serviceName`— API RedshiftData

```
"EncryptionContextSubset": {
    "aws:redshift-serverless:arn": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace:12345678-1234-1234-1234-123456789012",
    "serviceName": "RedshiftDataAPI"
}
```

Weitere Informationen zur Verschlüsselung finden Sie unter [Einführung in die kryptografischen Details von AWS KMS](https://docs.aws.amazon.com/kms/latest/cryptographic-details/intro.html). Weitere Informationen zu Amazon Redshift und dessen AWS KMS Integration finden Sie unter [Verwendung von Amazon Redshift](https://docs.aws.amazon.com/kms/latest/developerguide/services-redshift.html). AWS KMS

# Verwenden von Amazon Sagemaker Unified Studio zur Abfrage Ihrer Datenbanken in Amazon Redshift und The Lakehouse SageMaker
<a name="sagemaker-unified-studio"></a>

Amazon SageMaker Unified Studio bietet eine Entwicklungsumgebung außerhalb der Konsole und unterstützt SQL-Analysen für Daten in The SageMaker Lakehouse, Amazon Redshift und Amazon Athena für SQL-Analysen. Navigieren Sie mit der URL Ihres Administrators zu Amazon SageMaker Unified Studio und melden Sie sich mit Ihrem SSO oder Ihren AWS Anmeldeinformationen an. Weitere Informationen zur Einrichtung Ihres ersten Projekts finden Sie unter [Erste Schritte](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/getting-started.html) im *Amazon SageMaker Unified Studio-Benutzerhandbuch*.

In Amazon SageMaker Unified Studio können Sie [SQL-Analysen](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/sql-query.html) durchführen, indem Sie Amazon Redshift und Amazon Athena mit dem [Abfrage-Editor](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/query-editor-navigate.html) ausführen. Der Query Editor dient hauptsächlich dazu, Abfragen zu schreiben und auszuführen, Ergebnisse anzuzeigen und Ihre Arbeit mit Ihrem Team zu teilen. Führen Sie Abfragen für Ihre Redshift-Data Warehouses in Ihrem AWS-Konten (innerhalb desselben Kontos und zwischen Ihren anderen AWS-Konten) aus, erstellen Sie SQL-Abfragen für Redshift und Athena mit derselben Schnittstelle und planen Sie die SQL-Abfragen mit Amazon Managed Workflows for Apache Airflow. Sie können auch generatives SQL von Amazon Q verwenden, um SQL aus natürlicher Sprache zu generieren.