Creazione di unità di condivisione dati - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python a UDFs partire dal 1° novembre 2025. Se vuoi usare Python UDFs, crea la UDFs data precedente a quella data. Python esistente UDFs continuerà a funzionare normalmente. 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à.

Creazione di unità di condivisione dati

Con Amazon Redshift, puoi condividere dati in tempo reale tra cluster o account Amazon Redshift utilizzando le condivisioni AWS di dati. Un datashare è un oggetto consumer-produttore che ti consente di condividere dati in tempo reale dal tuo cluster Amazon Redshift con altri cluster o account. AWS La creazione di condivisioni di dati consente la condivisione sicura dei dati, mantenendo al contempo il controllo sull'accesso e garantendo la conservazione dei dati. up-to-date Nelle sezioni seguenti vengono forniti i dettagli della creazione di unità di condivisione dati e dell’aggiunta di oggetti di database come schemi, tabelle e viste per condividere i dati attivi in modo sicuro.

Creare un’unità di condivisione dati

L'unità di condivisione dati è un container logico di oggetti, autorizzazioni e consumer del database. I consumer sono cluster con provisioning Amazon Redshift o namespace Amazon Redshift serverless presenti nell’account e in altri Account AWS. Ogni unità di condivisione dati è associata al database in cui è stata creata ed è possibile aggiungere solo gli oggetti di quel database. In qualità di amministratore producer puoi creare unità di condivisione dati sulla console e con SQL seguendo una delle procedure descritte.

Console

Sulla console puoi creare unità di condivisione dati dalle schede Unità di condivisione dati nella pagina dei dettagli del cluster o del namespace. Dopo avere creato l’unità di condivisione dati, puoi creare database dall’unità di condivisione dati per un consumer in qualità di amministratore consumer.

  1. Accedi a Console di gestione AWS e apri la console Amazon Redshift all'indirizzo. https://console.aws.amazon.com/redshiftv2/

  2. Dal menu di navigazione, scegliere Clusters (Cluster), quindi scegliere il cluster. Viene visualizzata la pagina dei dettagli del cluster.

  3. Nella pagine dei dettagli del cluster o del namespace, nella scheda Unità di condivisione dati, nella sezione Unità di condivisione dati, connettiti a un database se non disponi di una connessione al database. Nella sezione Unità di condivisione dati create nel mio account scegli Crea unità di condivisione dati. Viene visualizzata la pagina Crea unità di condivisione dati.

  4. Quindi scegliere Crea unità di condivisione dati. È possibile creare una unità di condivisione dati solo da un database locale. Se è la prima volta che si esegue la connessione al database, viene visualizzata la pagina Connetti al database. Seguire la procedura riportata in Connessione a un database per connettersi a un database. Se esiste una connessione recente, viene visualizzata la pagina Crea unità di condivisione dati.

  5. Nella sezione Informazioni su unità di condivisione dati, selezionare una delle seguenti opzioni:

    • Scegli Datashare per creare condivisioni di dati per condividere dati a fini di lettura o scrittura tra diversi data warehouse Amazon Redshift (cluster con provisioning o endpoint Serverless) o nello stesso o in modo diverso. Account AWS Account AWS

    • Scegli AWS Data Exchange datashare per creare datashare tramite cui concedere in licenza i tuoi dati. AWS Data Exchange

  6. Specificare i valori per Nome unità di condivisione dati, Nome del database e Accessibile al pubblico. Quando si modifica il nome del database, è necessario stabilire una nuova connessione al database.

  7. Aggiungi oggetti all’unità di condivisione dati utilizzando le sezioni Autorizzazioni con ambito o Autorizzazioni dirette. Per aggiungere oggetti a un’unità di condivisione dati, consulta Creazione di un’unità di condivisione dati in Amazon Redshift.

  8. Nella sezione Consumatori di dati, puoi scegliere di pubblicare su Amazon Redshift o pubblicare suAWS Glue Data Catalog, che avvia il processo di condivisione dei dati con Lake Formation. Se pubblichi l’unità di condivisione dati in Amazon Redshift, condividi i dati con un altro namespace o un account Amazon Redshift che funge da consumer.

    Nota

    Una volta creata l'unità di condivisione dati, non puoi modificare la configurazione per eseguire la pubblicazione utilizzando l'altra opzione.

  9. Quindi scegliere Crea unità di condivisione dati.

SQL

Il seguente comando crea un'unità di condivisione dati:

CREATE DATASHARE salesshare;

Al momento della creazione dell’unità di condivisione dati, ogni unità di condivisione dati è associata a un database. Solo gli oggetti di quel database possono essere condivisi in quella unità di condivisione dati. Sullo stesso database possono essere create più unità di condivisione dati con la stessa granularità di oggetti o con una granularità differente. Non vi è alcun limite sul numero di unità di condivisione dati che un cluster può creare. Per creare le unità di condivisione dati è possibile utilizzare anche la console Amazon Redshift. Per ulteriori informazioni, consulta CREARE DATASHARE.

Inoltre puoi controllare le limitazioni di sicurezza dell’unità di condivisione dati durante la creazione. L’esempio seguente mostra che il consumer con un accesso IP pubblico è autorizzato a leggere l’unità di condivisione dati.

CREATE DATASHARE my_datashare [PUBLICACCESSIBLE = TRUE];

L'impostazione PUBLICACCESSIBLE = TRUE consente ai consumer di eseguire query sull'unità di condivisione dati da cluster accessibili pubblicamente e gruppi di lavoro con provisioning. Disattivala o impostala esplicitamente su false se non vuoi consentirla.

Puoi modificare le proprietà relative al tipo di consumer dopo la creazione di un’unità di condivisione dati. Ad esempio, è possibile definire che i cluster che desiderano utilizzare dati da una determinata unità di condivisione dati non possano essere accessibili pubblicamente. Le query provenienti da cluster di consumer che non soddisfano le limitazioni di sicurezza specificate nell'unità di condivisione dati vengono rifiutate al momento dell'esecuzione della query. Per ulteriori informazioni, consulta ALTER DATASHARE.

Aggiungere oggetti dell’unità di condivisione dati alle unità di condivisione dati

Puoi aggiungere oggetti del database di vario tipo sulla console e con SQL seguendo una delle procedure descritte.

Console

Puoi aggiungere oggetti all’unità di condivisione dati utilizzando le sezioni Autorizzazioni con ambito o Autorizzazioni dirette. Seleziona Concedi autorizzazioni con ambito o Concedi autorizzazioni dirette per aggiungere oggetti. Seleziona il pulsante Aggiungi per aggiungere gli oggetti. Viene visualizzata una finestra di dialogo. Esegui queste fasi:

  1. Se selezioni Concedi autorizzazioni con ambito, viene visualizzata la pagina Concedi autorizzazioni con ambito dove puoi concedere autorizzazioni con ambito a livello di database o schema. Le unità di condivisione dati con autorizzazioni con ambito dispongono delle autorizzazioni specificate per tutti gli oggetti correnti e futuri del database o dello schema. Per maggiori dettagli, consulta,Autorizzazioni con ambito.

    1. Quindi seleziona Autorizzazioni con ambito per i database per concedere le autorizzazioni con ambito a livello di database. Quando concedi le autorizzazioni con ambito, queste si applicano al database corrente durante la creazione dell’unità di condivisione dati. Queste autorizzazioni non possono essere concesse a singoli oggetti e sono applicabili sia agli oggetti esistenti che a quelli nuovi (schemi, tabelle, viste, UDFs).

    2. Seleziona le autorizzazioni con ambito per gli schemi, le tabelle o le viste oppure le funzioni definite dall’utente. Ciò significa che tutti gli oggetti del database dispongono delle autorizzazioni selezionate concesse ai consumer. Seleziona Concedi per completare la concessione delle autorizzazioni con ambito per i database.

    3. Quindi seleziona Autorizzazioni con ambito per gli schemi per concedere le autorizzazioni con ambito a livello di schema. Quando concedi le autorizzazioni con ambito per gli schemi, tutti gli oggetti aggiunti allo schema dispongono delle autorizzazioni per le unità di condivisione dati specificate.

    4. Seleziona lo schema da aggiungere all’unità di condivisione dati dal menu a discesa. Puoi selezionare un solo schema alla volta. Quindi seleziona le autorizzazioni dirette che desideri concedere allo schema selezionato.

    5. Seleziona le autorizzazioni con ambito per gli oggetti dello schema come le tabelle, le viste e le funzioni definite dall’utente. Le autorizzazioni vengono concesse per tutti gli oggetti corrispondenti nello schema. Questi possono essere gli oggetti esistenti o quelli aggiunti in futuro. Quando un’autorizzazione viene applicata, non puoi rimuoverla da un oggetto senza revocare le autorizzazioni con ambito.

    6. Seleziona Concedi per completare la concessione delle autorizzazioni con ambito per gli schemi.

  2. Se selezioni Concedi autorizzazioni dirette, viene visualizzata la pagina Concedi autorizzazioni dirette dove puoi concedere le autorizzazioni dirette a ogni livello di oggetto, ad esempio schema, tabella, vista o funzione definita dall’utente. Per concedere le autorizzazioni dirette, devi prima aggiungere gli schemi pertinenti all’unità di condivisione dati.

    1. Quindi seleziona Concedi autorizzazioni dirette agli schemi per applicare le autorizzazioni dirette a uno schema specifico. A questo punto seleziona le autorizzazioni dello schema per gli oggetti dello schema come tabelle, viste e funzioni definite dall’utente e seleziona lo schema che desideri aggiungere all’unità di condivisione dati. Seleziona Concedi per completare l’aggiunta dello schema all’unità di condivisione dati.

    2. Dopo avere aggiunto uno schema all’unità di condivisione dati, puoi procedere con l’aggiunta di autorizzazioni dirette per gli oggetti dello schema. Seleziona nuovamente Concedi autorizzazioni dirette. Viene visualizzata la pagina Concedi autorizzazioni dirette. Quindi seleziona le schede delle autorizzazioni dirette per gli oggetti dello schema.

    3. Seleziona Concedi autorizzazioni dirette a tabelle e viste per concedere le autorizzazioni dirette a livello di oggetto per questi oggetti. Seleziona le autorizzazioni dirette e gli oggetti necessari dall’elenco. Utilizza il campo di ricerca per trovare gli oggetti dell’unità di condivisione dati. Seleziona Concedi per completare l’aggiunta di tabelle e viste all’unità di condivisione dati.

    4. Seleziona Concedi autorizzazioni dirette alle funzioni definite dall’utente per concedere le autorizzazioni dirette a livello di oggetto per le funzioni definite dall’utente. Seleziona le autorizzazioni dirette e gli oggetti necessari dall’elenco. Utilizza il campo di ricerca per trovare gli oggetti dell’unità di condivisione dati. Seleziona Concedi per completare l’aggiunta di funzioni definite dall’utente all’unità di condivisione dati.

  3. Puoi anche scegliere di aggiungere oggetti futuri. Quando scegli di includere gli oggetti dell'unità di condivisione dati aggiunti allo schema significa che gli oggetti aggiunti allo schema vengono aggiunti automaticamente all'unità di condivisione dati.

  4. Scegli Aggiungi per completare la sezione e aggiungere gli oggetti. Sono elencati in Oggetti della condivisione di dati.

  5. Dopo averli aggiunti, puoi selezionare singoli oggetti e modificarne le autorizzazioni. Se selezioni uno schema, viene visualizzata una finestra di dialogo che ti chiede se desideri aggiungere le autorizzazioni con ambito. In tal modo ogni oggetto esistente o aggiunto allo schema dispone di un set di autorizzazioni preselezionato e appropriato per il tipo di oggetto. Ad esempio, l'amministratore può impostare che tutte le tabelle aggiunte abbiano le autorizzazioni SELECT e UPDATE.

  6. Tutti gli oggetti dell’unità di condivisione dati sono elencati nelle sezioni Autorizzazioni con ambito o Autorizzazioni dirette.

  7. Nella sezione Consumatori di dati, puoi aggiungere namespace o aggiungere AWS account come consumatori del datashare.

  8. Per salvare le modifiche seleziona Crea unità di condivisione dati.

Una volta creata, l'unità di condivisione dati viene visualizzata nell'elenco in Unità di condivisione dati create nel mio spazio dei nomi. Se scegli un'unità di condivisione dati dall'elenco, puoi visualizzarne i consumer, gli oggetti e altre proprietà.

SQL

Con SQL, il proprietario dell’unità di condivisione dati deve concedere l’autorizzazione USAGE per gli schemi che desidera aggiungere all’unità di condivisione dati. L’autorizzazione GRANT viene utilizzata per assegnare varie azioni per lo schema, tra cui CREATE e USAGE. Gli schemi contengono oggetti condivisi:

CREATE SCHEMA myshared_schema1; CREATE SCHEMA myshared_schema2; GRANT USAGE ON SCHEMA myshared_schema1 TO DATASHARE my_datashare; GRANT CREATE, USAGE ON SCHEMA myshared_schema2 TO DATASHARE my_datashare;

In alternativa, l'amministratore può continuare a eseguire i comandi ALTER per aggiungere uno schema all'unità di condivisione dati. Quando uno schema viene aggiunto in questo modo, vengono assegnate solo le autorizzazioni USAGE.

ALTER DATASHARE my_datashare ADD SCHEMA myshared_schema1;

Dopo aver aggiunto gli schemi, l'amministratore può assegnare le autorizzazioni dell'unità di condivisione dati per gli oggetti dello schema, che possono essere autorizzazioni in lettura e scrittura. L'esempio GRANT ALL mostra come assegnare tutte le autorizzazioni.

GRANT SELECT, INSERT ON TABLE myshared_schema1.table1, myshared_schema1.table2, myshared_schema2.table1 TO DATASHARE my_datashare; GRANT ALL ON TABLE myshared_schema1.table4 TO DATASHARE my_datashare;

È possibile continuare a eseguire comandi come ALTER DATASHARE per aggiungere le tabelle. In tal caso, vengono assegnate solo le autorizzazioni SELECT per gli oggetti aggiunti.

ALTER DATASHARE my_datashare ADD TABLE myshared_schema1.table1, myshared_schema1.table2, myshared_schema2.table1;

Puoi concedere le autorizzazioni con ambito a un’unità di condivisione dati per tutti gli oggetti di un tipo all’interno di un database o uno schema. Le unità di condivisione dati con autorizzazioni con ambito dispongono delle autorizzazioni specificate per tutti gli oggetti correnti e futuri del database o dello schema.

Puoi visualizzare l’ambito delle autorizzazioni con ambito a livello di database in SVV_DATABASE_PRIVILEGES. Puoi visualizzare l’ambito delle autorizzazioni con ambito a livello di schema in SVV_SCHEMA_PRIVILEGES.

Di seguito è riportata la sintassi per concedere alle unità di condivisione dati le autorizzazioni con ambito. Per ulteriori informazioni sulle autorizzazioni con ambito, consulta Autorizzazioni con ambito.

GRANT { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }FOR SCHEMAS IN DATABASE db_name TO DATASHARE { datashare_name} GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [PRIVILEGES] } }FOR TABLES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO DATASHARE { datashare_name} GRANT { EXECUTE | ALL [ PRIVILEGES ] }FOR FUNCTIONS IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO DATASHARE { datashare_name}

Aggiungere consumer di dati alle unità di condivisione dati

È possibile aggiungere uno o più consumer di dati alle unità di condivisione dati. I consumatori di dati possono essere namespace che identificano in modo univoco i cluster Amazon Redshift o. Account AWS

È necessario scegliere esplicitamente di disabilitare o abilitare l'unità di condivisione dati con cluster con accesso pubblico.

  • Scegli Aggiungi gli spazi dei nomi all’unità di condivisione dati. Gli spazi dei nomi sono identificatori univoci globali (GUID) per il cluster Amazon Redshift.

  • Scegliere Aggiungi Account AWS all'unità di condivisione dati. L'utente specificato Account AWS deve disporre delle autorizzazioni di accesso al datashare.