Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
Connettiti a un cluster con Amazon Redshift RSQL
Con Amazon Redshift puoi connetterti a un cluster e interagirvi con RSQL. Si tratta di uno strumento da riga di comando che fornisce un modo sicuro per eseguire query sui dati, creare oggetti di database e gestire il cluster Amazon Redshift. Le seguenti sezioni illustrano i passaggi per stabilire una connessione al cluster utilizzando RSQL con e senza un nome origine dati (DSN).
Connessione senza DSN
-
Sulla console Amazon Redshift, scegli il cluster a cui vuoi connetterti e annota l'endpoint, il database e la porta.
-
Al prompt dei comandi, specificate le informazioni di connessione usando i parametri della linea di comando.
rsql -h<endpoint>-U<username>-d<databasename>-p<port>Qui si applicano le seguenti condizioni:
-
<endpoint>è l'Endpoint registrato nella fase precedente. -
<nomeutente>è il nome di un utente con autorizzazioni per connettersi al cluster. -
<databasename>è il Database Name (Nome del database) registrato nella fase precedente. -
<port>è la porta che hai registrato nella fase precedente.<port>è un parametro facoltativo.
Di seguito è riportato un esempio.
rsql -h testcluster.example.amazonaws.com -U user1 -d dev -p 5439 -
-
Alla richiesta della password, immettere la password per l'utente
<nomeutente>.Una risposta di connessione riuscita appare come la seguente.
% 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=#
Il comando per connettersi ha gli stessi parametri su Linux, Mac OS e Windows.
Connessione senza DSN
Puoi connettere RSQL ad Amazon Redshift utilizzando un DSN per semplificare l’organizzazione delle proprietà di connessione. In questo argomento sono incluse le istruzioni per l’installazione del driver ODBC e le descrizioni delle proprietà DSN.
Utilizzo di una connessione DSN con una password
Di seguito viene illustrato un esempio di configurazione di connessione DSN che utilizza una password. Il <path to driver> predefinito per Mac OSX è /opt/amazon/redshift/lib/libamazonredshiftodbc.dylib e per Linux è /opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so.
[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
L'output seguente deriva da una connessione riuscita.
% 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=#
Utilizzo di DSN Single Sign-On
È possibile configurare un DSN per l'autenticazione Single Sign-On. Di seguito viene illustrato un esempio di configurazione di connessione DSN che utilizza il servizio SSO di Okta.
[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>
Esempio di output da una connessione riuscita.
% 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=#
Di seguito viene illustrato un esempio di configurazione di connessione DSN che utilizza Azure Single Sign-On.
[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>
Utilizzo di una connessione DSN con un profilo IAM
Puoi connetterti ad Amazon Redshift utilizzando il profilo IAM configurato. Il profilo IAM deve avere privilegi per chiamare GetClusterCredentials. L'esempio seguente mostra le proprietà DSN da utilizzare. I parametri ClusterID e Region sono obbligatori solo se il Host non è un endpoint fornito da Amazon come examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com.
[testiam] Driver=Default Host=testcluster.example.com Database=dev DbUser=testuser ClusterID=rsqltestcluster Region=us-east-1 IAM=1 Profile=default
Il valore per la chiave Profile è il profilo nominato che scegli dalle credenziali CLI AWS. In questo esempio vengono mostrate le credenziali per il profilo nominato default.
$ cat .aws/credentials [default] aws_access_key_id = ASIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Di seguito è illustrata la risposta della connessione.
$ 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=>
Utilizzo di una connessione DSN con un profilo dell'istanza
Puoi connetterti ad Amazon Redshift utilizzando il profilo dell'istanza Amazon EC2. Il profilo dell'istanza deve avere privilegi per chiamare GetClusterCredentials. Vedere l'esempio riportato di seguito per le proprietà DSN da utilizzare. I parametri ClusterID e Region sono obbligatori solo se il Host non è un endpoint fornito da Amazon come examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com.
[testinstanceprofile] Driver=Default Host=testcluster.example.com Database=dev DbUser=testuser ClusterID=rsqltestcluster Region=us-east-1 IAM=1 Instanceprofile=1
Di seguito è illustrata la risposta della connessione.
$ 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=>
Utilizzo di una connessione DSN con la catena di provider delle credenziali di default
Per connetterti utilizzando la catena di provider di credenziali di default, specifica solo la proprietà IAM e Amazon Redshift RSQL tenterà di acquisire le credenziali nell'ordine descritto in Utilizzo di credenziali AWS nell'SDK AWS per Java Almeno uno dei fornitori della catena deve disporre di autorizzazioni GetClusterCredentials. Ciò è utile per il collegamento da container ECS, ad esempio.
[iamcredentials] Driver=Default Host=testcluster.example.com Database=dev DbUser=testuser ClusterID=rsqltestcluster Region=us-east-1 IAM=1