Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
Verbinden mit einem Cluster mit Amazon-Redshift-RSQL
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
-
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.
-
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 Endpoint (Endpunkt), den Sie im vorherigen Schritt notiert haben. -
<username>ist der Name eines Benutzers mit Berechtigungen für die Verbindung mit dem Cluster. -
<databasename>ist der Database Name (Datenbankname), den Sie im vorherigen Schritt notiert haben. -
<port>ist der Port, den Sie im vorherigen Schritt notiert haben.<port>ist ein optionaler Parameter.
Ein Beispiel folgt.
rsql -h testcluster.example.amazonaws.com -U user1 -d dev -p 5439 -
-
Wenn Sie aufgefordert werden, das Passwort einzugeben, geben Sie das Passwort für den Benutzer
<username>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
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
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
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
Sie können sich über Ihr konfiguriertes IAM-Profil mit Amazon Redshift verbinden. Das IAM-Profil muss über Berechtigungen zum Aufrufen von verfügen GetClusterCredentials. 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 wä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
Sie können über Ihr Amazon-EC2-Instance-Profil eine Verbindung zu Amazon Redshift herstellen. Das Instance-Profil muss über Berechtigungen zum Aufrufen von verfügen GetClusterCredentials. 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
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 Reihenfolge zu erwerben, die unter Arbeiten mit AWS-Anmeldedaten im AWS-SDK für Java angegeben ist. 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