Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Migrazione di un cluster con provisioning ad Amazon Redshift Serverless
Puoi migrare i cluster con provisioning esistenti in Amazon Redshift serverless, abilitando il dimensionamento on demand e automatico delle risorse di calcolo. La migrazione di un cluster con provisioning in Amazon Redshift serverless consente di ottimizzare i costi pagando solo le risorse utilizzate e scalando automaticamente la capacità in base alle richieste del carico di lavoro. I casi d’uso comuni per la migrazione includono l’esecuzione di query ad hoc, processi periodici di elaborazione dei dati o la gestione di carichi di lavoro imprevedibili senza il provisioning eccessivo delle risorse. Esegui la seguente serie di attività per migrare il cluster Amazon Redshift con provisioning verso l’opzione di implementazione serverless.
Creazione di uno snapshot del cluster con provisioning
Nota
Amazon Redshift converte automaticamente le chiavi interlacciate in chiavi composte quando si ripristina uno snapshot di cluster con provisioning in uno spazio dei nomi serverless.
Per trasferire i dati dal cluster con provisioning ad Amazon Redshift Serverless, crea uno snapshot del cluster, quindi ripristina lo snapshot in Amazon Redshift Serverless.
Nota
Prima di migrare i dati verso un gruppo di lavoro serverless, assicurati che le esigenze del cluster sottoposto a provisioning siano compatibili con la quantità di RPU scelta in Amazon Redshift Serverless.
Creazione di uno snapshot del cluster con provisioning
Accedi Console di gestione AWS e apri la console Amazon Redshift all'indirizzo. https://console.aws.amazon.com/redshiftv2/
-
Dal menu di navigazione, scegli Clusters (Cluster), Snapshots (Snapshot), quindi scegli Create snapshot (Crea snapshot).
-
Inserisci le proprietà della definizione dello snapshot, quindi scegli Create snapshot (Crea snapshot). La disponibilità dello snapshot potrebbe richiedere del tempo.
Per ripristinare uno snapshot cluster con provisioning in uno spazio dei nomi serverless:
Accedi Console di gestione AWS e apri la console Amazon Redshift all'indirizzo. https://console.aws.amazon.com/redshiftv2/
-
Avvia la console del cluster con provisioning Amazon Redshift e passa alla pagina Clusters (Cluster), Snapshots (Snapshot).
-
Scegliere uno snapshot da utilizzare.
-
Sceglie Ripristina da snapshot (Restore snapshot), Restore to serverless namespace (Ripristina su spazio dei nomi serverless).
-
Scegli uno spazio dei nomi in cui ripristinare lo snapshot.
-
Conferma di voler eseguire il ripristino dallo snapshot. Questa azione sostituisce tutti i database dell'endpoint serverless con i dati del cluster sottoposto a provisioning. Scegli Restore (Ripristina).
Per ulteriori informazioni sugli snapshot del cluster con provisioning, consulta Snapshot di Amazon Redshift.
Connessione ad Amazon Redshift serverless usando un driver
Per connetterti ad Amazon Redshift serverless con il client SQL preferito, puoi utilizzare il driver JDBC versione 2.x fornito da Amazon Redshift. Consigliamo di connetterti ad Amazon Redshift utilizzando l’ultima versione del driver JDBC versione 2.x di Amazon Redshift. Il numero di porta è facoltativo. Se non lo includi, Amazon Redshift Serverless utilizzerà il numero di porta 5439. È possibile passare a un'altra porta compresa nell'intervallo 5431-5455 o 8191-8215. Per modificare la porta predefinita per un endpoint serverless, usa l'API AWS CLI e Amazon Redshift.
Per trovare l'endpoint esatto da utilizzare per il driver JDBC, ODBC o Python, consulta Configurazione del gruppo di lavoro in Amazon Redshift serverless. Puoi anche utilizzare l'operazione API Serverless di Amazon Redshift GetWorkgroup o l' AWS CLI operazione get-workgroups per restituire informazioni sul tuo gruppo di lavoro e quindi connetterti.
Connessione tramite autenticazione basata su password
Per stabilire una connessione tramite il driver JDBC versione 2.x di Amazon Redshift con l’autenticazione basata su password, utilizza la seguente sintassi:
jdbc:redshift://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439/?username=username&password=password
Per stabilire una connessione tramite il connettore Python di Amazon Redshift con l’autenticazione basata su password, utilizza la seguente sintassi:
import redshift_connector with redshift_connector.connect( host='<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com', database='<database-name>', user='username', password='password' # port value of 5439 is specified by default ) as conn: pass
Per stabilire una connessione tramite il driver ODBC versione 2.x di Amazon Redshift con l’autenticazione basata su password, utilizza la seguente sintassi:
Driver={Amazon Redshift ODBC Driver (x64)}; Server=<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com; Database=database-name; User=username; Password=password
Connessione tramite IAM
Se preferisci accedere con IAM, utilizza l’operazione dell’API GetCredentials di Amazon Redshift serverless.
Per utilizzare l’autenticazione IAM, aggiungi iam: all’URL JDBC di Amazon Redshift dopo jdbc:redshift: come mostrato nell’esempio seguente.
jdbc:redshift:iam://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439/<database-name>
Questo endpoint Amazon Redshift serverless non supporta la personalizzazione di dbUser o dbGroup oppure la creazione automatica. Per impostazione predefinita, il driver crea automaticamente gli utenti del database all’accesso. Quindi assegna gli utenti ai ruoli del database Amazon Redshift in base ai tag specificati in IAM o in base ai gruppi definiti nel gestore dell’identità digitale.
Assicurati che la tua AWS identità disponga della politica IAM corretta per l'azione. redshift-serverless:GetCredentials Di seguito è riportato un esempio di policy IAM che concede le autorizzazioni corrette a un' AWS identità per connettersi ad Amazon Redshift Serverless. Per ulteriori informazioni sulle autorizzazioni IAM, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l’utente di IAM.
Per stabilire una connessione utilizzando il connettore Python di Amazon Redshift con l’autenticazione basata su IAM, utilizza iam=true nel codice, come mostrato nella seguente sintassi:
import redshift_connector with redshift_connector.connect( iam=True, host='<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com', database='<database-name>' <IAM credentials> ) as conn: pass
Per IAM credentials puoi utilizzare qualsiasi credenziale, incluse le seguenti:
-
AWS configurazione del profilo.
-
Credenziali IAM (ID chiave di accesso, chiave di accesso segreta e, facoltativamente, token di sessione).
-
Federazione del provider di identità.
Per stabilire una connessione tramite il driver ODBC versione 2.x di Amazon Redshift con l’autenticazione basata su IAM e un profilo, utilizza la seguente sintassi:
Driver={Amazon Redshift ODBC Driver (x64)}; IAM=true; Server=<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com; Database=database-name; Profile=aws-profile-name;
Connessione tramite IAM con l' GetClusterCredentials API
Nota
Quando ti connetti ad Amazon Redshift serverless, consigliamo di utilizzare l’API GetCredentials. Questa API offre funzionalità complete per il controllo degli accessi basato sul ruolo (RBAC) e altre nuove funzionalità che non sono disponibili in GetClusterCredentials. Supportiamo l’API GetClusterCredentials per semplificare la transizione dai cluster con provisioning ai gruppi di lavoro serverless. Tuttavia consigliamo vivamente di iniziare a usare GetCredentials il prima possibile per una compatibilità ottimale.
Puoi stabilire una connessione ad Amazon Redshift serverless utilizzando l’API GetClusterCredentials. Per implementare questo metodo di autenticazione, modifica il client o l’applicazione incorporando i seguenti parametri:
iam=trueclusterid/cluster_identifier=redshift-serverless-<workgroup-name>region=<aws-region>
I seguenti esempi mostrano il plugin BrowserSAML su tutti e tre i driver. Questo rappresenta uno dei diversi approcci di autenticazione disponibili. Gli esempi possono essere modificati per utilizzare metodi o plugin di autenticazione alternativi in base ai requisiti specifici.
Autorizzazioni della policy IAM per GetClusterCredentials
Di seguito è riportato un esempio di policy IAM con le autorizzazioni necessarie per l’utilizzo di GetClusterCredentials con Amazon Redshift serverless:
Per stabilire una connessione tramite il driver JDBC versione 2.x di Amazon Redshift con GetClusterCredentials, utilizza la seguente sintassi:
jdbc:redshift:iam://redshift-serverless-<workgroup-name>:<aws-region>/<database-name>?plugin_name=com.amazon.redshift.plugin.BrowserSamlCredentialsProvider&login_url=<single sign-on URL from IdP>"
Per stabilire una connessione tramite il connettore Python di Amazon Redshift con GetClusterCredentials, utilizza la seguente sintassi:
import redshift_connector with redshift_connector.connect( iam=True, cluster_identifier='redshift-serverless-<workgroup-name>', region='<aws-region>', database='<database-name>', credentials_provider='BrowserSamlCredentialsProvider' login_url='<single sign-on URL from IdP>' # port value of 5439 is specified by default ) as conn: pass
Per stabilire una connessione tramite il driver ODBC versione 2.x di Amazon Redshift con GetClusterCredentials, utilizza la seguente sintassi:
Driver= {Amazon Redshift ODBC Driver (x64)}; IAM=true; isServerless=true; ClusterId=redshift-serverless-<workgroup-name>; region=<aws-region>; plugin_name=BrowserSAML;login_url=<single sign-on URL from IdP>
Di seguito è riportato un esempio di configurazione DSN ODBC in Windows:
Utilizzo dell'SDK di Amazon Redshift Serverless
Se l'utente ha scritto script di gestione utilizzando l'SDK di Amazon Redshift, è necessario utilizzare il nuovo SDK per gestire l'istanza e le risorse di Amazon Redshift serverless. Per ulteriori informazioni sulle operazioni API disponibili, consulta Documentazione di riferimento delle API di Amazon Redshift Serverless.