Aggiunta di oggetti a un’unità di condivisione dati in Amazon Redshift - Amazon Redshift

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.

Aggiunta di oggetti a un’unità di condivisione dati in Amazon Redshift

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 ulteriori 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, UDF).

    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 spazi dei nomi o account AWS come consumer dell'unità di condivisione dati.

  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}