Creazione di un database da 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.

Creazione di un database da un’unità di condivisione dati in Amazon Redshift

Con Amazon Redshift puoi utilizzare un’unità di condivisione dati per creare un database e quindi eseguire query sui dati tra le diverse unità di condivisione dati dei cluster producer per accedere in sicurezza ai dati in tempo reale senza copiarli o trasferirli. Nella fasi seguenti vengono illustrati i dettagli della configurazione di un database nell’ambiente Amazon Redshift.

Console

Per iniziare a eseguire query sui dati nell’unità di condivisione dati, devi creare un database da un’unità di condivisione dati. È possibile creare un solo database da una unità di condivisione dati specificata.

  1. Accedere alla Console di gestione AWS e aprire 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. Scegliere Unità di condivisione dati. Viene visualizzato un elenco di unità di condivisione dati.

  4. Nella sezione Unità di condivisione dati da altri cluster, scegliere Connetti al database. Per ulteriori informazioni, consulta Connessione a un database.

  5. Scegliere una unità di condivisione dati da cui si desidera creare i database, quindi selezionare Crea database da unità di condivisione dati. Viene visualizzata la pagina Crea database da unità di condivisione dati.

  6. In Nome del database, specificare un nome per il database. Il nome del database deve contenere un numero di caratteri alfanumerici (solo minuscoli) compreso tra 1 e 64 caratteri e non può essere una parola riservata.

  7. Seleziona Create (Crea).

Dopo la creazione del database, puoi eseguire le query sui dati contenuti nel database oppure le operazioni di scrittura, se sono state assegnate, autorizzate e associate dall'amministratore del consumer.

API

Per condividere i dati a scopo di lettura in qualità di amministratore consumer, segui la procedura descritta.

  1. Elencare le unità di condivisione dati rese disponibili e visualizzare il contenuto delle unità di condivisione dati. Per ulteriori informazioni, consulta DESC DATASHARE e SHOW DATASHARES.

    Nell'esempio seguente vengono visualizzate le informazioni relative alle unità di condivisione dati in ingresso di uno spazio dei nomi producer specificato. Quando esegui DESC DATASHARE come amministratore consumer, devi specificare l’opzione NAMESPACE per visualizzare le unità di condivisione dati in entrata.

    DESC DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d'; producer_account | producer_namespace | share_type | share_name | object_type | object_name | include_new -------------------+--------------------------------------+------------+------------+-------------+---------------------------------+------------------ 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_users_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_venue_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_category_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_date_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_event_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_listing_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_sales_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | schema | public | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | view | public.sales_data_summary_view |

    Solo gli utenti con privilegi avanzati per il cluster possono completare questa opzione. È possibile utilizzare anche SVV_DATASHARES per visualizzare le unità di condivisione dati e SVV_DATASHARE_OBJECTS per visualizzare gli oggetti all'interno dell'unità di condivisione dati.

    L'esempio seguente mostra le unità di condivisione dati in uscita in un cluster producer.

    SHOW DATASHARES LIKE 'sales%'; share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account | producer_namespace ------------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+-------------------------------------- salesshare | | | | INBOUND | | t | | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
  2. In qualità di utente di database con privilegi avanzati, puoi creare database locali che fanno riferimento alle unità di condivisione dati. Per ulteriori informazioni, consulta CREATE DATABASE.

    CREATE DATABASE sales_db FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';

    Se desideri un controllo più granulare sull'accesso agli oggetti nel database locale, utilizza la clausola WITH PERMISSIONS durante la creazione del database. In tal modo puoi assegnare le autorizzazioni per gli oggetti del database nel passaggio 4.

    CREATE DATABASE sales_db WITH PERMISSIONS FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';

    È possibile vedere i database creati dall'unità di condivisione dati eseguendo una query sulla vista SVV_REDSHIFT_DATABASE. Puoi connetterti a questi database direttamente oppure puoi connetterti a un database locale nel cluster consumer ed eseguire query tra i database sui dati dei database dell’unità di condivisione dati.

    Nota

    Non è possibile creare una unità di condivisione dati sugli oggetti di database creati da una unità di condivisione dati esistente. Tuttavia, è possibile copiare i dati in una tabella separata nel cluster consumer, eseguire qualsiasi elaborazione necessaria e quindi condividere i nuovi oggetti creati.

    Per creare i database dalle unità di condivisione dati è possibile utilizzare anche la console Amazon Redshift. Per ulteriori informazioni, consulta Creazione di database da unità di condivisione dati.