

 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](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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à.

# Guida introduttiva a -managed datashares AWS Lake Formation
<a name="lf-getting-started"></a>

Con Amazon Redshift, puoi accedere e condividere dati in tempo reale tra AWS account e cluster AWS Lake Formation Amazon Redshift tramite condivisioni di dati gestite. AWS Lake Formation le condivisioni di dati consentono ai fornitori di dati di condividere in modo sicuro i dati in tempo reale dal proprio data lake Amazon S3 con qualsiasi consumatore, inclusi altri account e cluster AWS Amazon Redshift.

# Utilizzo di unità di condivisione dati gestite da Lake Formation in qualità di producer
<a name="lake-formation-getting-started-producer"></a>

Con Amazon Redshift, puoi accedere e analizzare i dati condivisi tramite AWS Lake Formation datashare. AWS Lake Formation le condivisioni di dati consentono la condivisione sicura dei dati tra AWS account e cluster Amazon Redshift senza dover copiare o spostare i dati sottostanti.

La condivisione dei dati AWS Lake Formation consente di definire centralmente AWS Lake Formation le autorizzazioni delle condivisioni di dati Amazon Redshift e limitare l'accesso degli utenti agli oggetti all'interno di un datashare.

Con Amazon Redshift, puoi condividere in modo sicuro dati in tempo reale tra AWS account e cluster Amazon Redshift utilizzando AWS Lake Formation le condivisioni di dati gestite come produttore. Un’unità di condivisione dati gestita da Lake Formation è un oggetto che consente di condividere i dati in tempo reale dal cluster Amazon Redshift con altri servizi e account AWS .

Se sei l'amministratore di un gruppo di lavoro o un cluster producer, segui questa procedura per condividere le unità di condivisione dati con Lake Formation:

1. Crea condivisioni di dati nel tuo cluster e autorizza l'accesso alle condivisioni di dati. AWS Lake Formation 

   Le unità di condivisione dati possono essere create solo dall'utente con privilegi avanzati e dai proprietari di database del cluster. Ogni unità di condivisione dati è associata a un database durante la creazione. 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.

   ```
   CREATE DATASHARE salesshare;
   ```

1. Aggiungi oggetti alle unità di condivisione dati. L'amministratore di un gruppo di lavoro o un cluster producer continua a gestire gli oggetti delle unità di condivisione dati disponibili. Per aggiungere oggetti a una unità di condivisione dati, aggiungere lo schema prima di aggiungere gli oggetti. Quando si aggiunge uno schema, Amazon Redshift non aggiunge tutti gli oggetti. È necessario aggiungerli esplicitamente. Per ulteriori informazioni, consulta [ALTER DATASHARE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DATASHARE.html). 

   ```
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;
   ALTER DATASHARE salesshare ADD ALL TABLES IN SCHEMA PUBLIC;
   ```

   A una unità di condivisione dati è possibile aggiungere anche le viste. Sono supportate viste standard, ad associazione tardiva e materializzate.

   ```
   CREATE VIEW public.sales_data_summary_view AS SELECT * FROM public.tickit_sales_redshift;
   ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;
   ```

   Utilizza ALTER DATASHARE per condividere schemi, tabelle e viste in un determinato schema. Gli utenti con privilegi avanzati, i proprietari di unità di condivisione dati o gli utenti che dispongono dell'autorizzazione ALTER o ALL sull'unità di condivisione dati possono modificarla in modo da aggiungere o rimuovere oggetti. Gli utenti di database devono inoltre essere i proprietari degli oggetti o disporre delle autorizzazioni SELECT, USAGE o ALL sugli oggetti. 

   Utilizza la clausola INCLUDENEW per aggiungere nuove tabelle e viste create in uno scherma specificato nell'unità di condivisione dati. Solo gli utenti con privilegi avanzati possono modificare questa proprietà per ogni coppia unità di condivisione dati-schema.

   ```
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   ALTER DATASHARE salesshare SET INCLUDENEW = TRUE FOR SCHEMA PUBLIC;
   ```

1. Concedi all'unità di condivisione dati l'accesso a un account amministratore di Lake Formation.

   ```
   GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '012345678910' VIA DATA CATALOG;
   ```

   Per revocare l'autorizzazione all'utilizzo, usa il comando seguente.

   ```
   REVOKE USAGE ON DATASHARE salesshare FROM ACCOUNT '012345678910' VIA DATA CATALOG;
   ```

1. Autorizza l'accesso all'unità di condivisione dati per Lake Formation utilizzando l'operazione API `aws redshift authorize-data-share`. In questo modo si consente a Lake Formation di riconoscere l'unità di condivisione dati nell'account del servizio e di gestire l'associazione dei consumer all'unità di condivisione dati.

   ```
   aws redshift authorize-data-share 
   --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare 
   --consumer-identifier {"DataCatalog/<consumer-account-id>"}
   ```

    Per rimuovere l'autorizzazione dalle unità di condivisione dati gestite da Lake Formation, utilizza l'operazione API `aws redshift deauthorize-data-share`, In questo modo, consenti di riconoscere il AWS Lake Formation datashare nell'account del servizio e di rimuovere l'autorizzazione. 

   ```
   aws redshift deauthorize-data-share 
   --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare 
   --consumer-identifier {"DataCatalog/<consumer-account-id>"}
   ```

    Se in qualsiasi momento l'amministratore del gruppo di lavoro o del cluster producer decide che non è più necessario condividere i dati con il gruppo di lavoro o il cluster consumer, può utilizzare DROP DATASHARE per eliminare, annullare l'autorizzazione o revocare le autorizzazioni dell'unità di condivisione dati. Le autorizzazioni e gli oggetti associati in Lake Formation non vengono eliminati automaticamente. 

   ```
   DROP DATASHARE salesshare;
   ```

    Dopo aver autorizzato l'account Lake Formation a gestire il datashare, l'amministratore di Lake Formation può scoprire il datashare condiviso, associare il dateshare a un ARN del catalogo dati e creare un database nel collegamento al datashare. AWS Glue Data Catalog Per AWS CLI associare [ associate-data-share-consumer](https://docs.aws.amazon.com/cli/latest/reference/redshift/associate-data-share-consumer.html)i datashare utilizzando, utilizzare il comando. Per condividere una unità di condivisione dati tra Regioni AWS, specifica il parametro `--region` nel comando `associate-data-share-consumer` o usa la console AWS per scegliere i consumer di dati. L’esempio seguente illustra come condividere un’unità di condivisione dati gestita da Lake Formation tra le Regioni. 

   ```
   aws redshift associate-data-share-consumer --region <region-1>
   --data-share-arn 'arn:aws:redshift:us-east-1:12345678912:datashare:035c45ea-61ce-86f0-8b75-19ac6102c3b7/sample_share' 
   --consumer-arn 'arn:aws:glue:<region-1>:111912345678:catalog'
   ```

   L'amministratore di Lake Formation deve anche creare risorse locali che definiscano in che modo gli oggetti all'interno dell'unità di condivisione dati devono essere mappati agli oggetti all'interno di Lake Formation. Per ulteriori informazioni sul rilevamento delle unità di condivisione dati e sulla creazione di risorse locali, consulta [Gestione delle autorizzazioni per i dati in una unità di condivisione dati di Amazon Redshift](https://docs.aws.amazon.com/lake-formation/latest/dg/data-sharing-redshift.html). 

# Utilizzo di unità di condivisione dati gestite da Lake Formation in qualità di consumer
<a name="lake-formation-getting-started-consumer"></a>

Con Amazon Redshift puoi accedere a e analizzare i dati condivisi tramite le unità di condivisione dati AWS Lake Formation . Un’unità di condivisione dati è un prodotto di dati che contiene una raccolta di oggetti di dati, come tabelle o database, provenienti da diverse origini dati. 

 Dopo che l' AWS Lake Formation amministratore ha scoperto l'invito alla condivisione di dati e creato un database AWS Glue Data Catalog che si collega al datashare, l'amministratore del cluster di consumatori o del gruppo di lavoro può associare il cluster al datashare e al database nel database AWS Glue Data Catalog, creare un database locale al cluster di consumatori o al gruppo di lavoro e concedere l'accesso a utenti e ruoli nel cluster di consumatori o nel gruppo di lavoro di Amazon Redshift per avviare le interrogazioni. Segui la procedura riportata sotto per impostare le autorizzazioni per eseguire query. 

1. Nella console Amazon Redshift crea un gruppo di lavoro o un cluster consumer Amazon Redshift, se necessario. Per informazioni su come creare un cluster, consulta [Creazione di un cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-console.html#create-cluster).

1. Per elencare a quali database del cluster di AWS Glue Data Catalog consumatori o del gruppo di lavoro hanno accesso gli utenti, esegui il comando [SHOW DATABASES](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW_DATABASES.html).

   ```
   SHOW DATABASES FROM DATA CATALOG [ACCOUNT <account-id>,<account-id2>] [LIKE <expression>]
   ```

   In questo modo vengono elencate le risorse disponibili nel Data Catalog, ad esempio l'ARN del AWS Glue database, il nome del database e le informazioni sul datashare.

1. Utilizzando il AWS Glue database ARN di SHOW DATABASES, crea un database locale nel cluster o nel gruppo di lavoro di consumatori. Per ulteriori informazioni, consulta la pagina [CREATE DATABASE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_DATABASE.html).

   ```
   CREATE DATABASE lf_db FROM ARN <lake-formation-database-ARN> WITH [NO] DATA CATALOG SCHEMA [<schema>];
   ```

1. Fornisci ai ruoli o agli utenti nel gruppo di lavoro o nel cluster consumer l'accesso per i database e i riferimenti allo schema creati dalle unità di condivisione dati in base alle esigenze. Per ulteriori informazioni, consulta la pagina [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) o [REVOKE](https://docs.aws.amazon.com//redshift/latest/dg/r_REVOKE.html). Nota: gli utenti creati utilizzando il comando [CREATE USER](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) non possono accedere agli oggetti in unità di condivisione dati che sono state condivise con Lake Formation. Solo gli utenti con accesso sia a Redshift che a Lake Formation possono accedere alle unità di condivisione dati condivise con Lake Formation. 

   ```
   GRANT USAGE ON DATABASE sales_db TO IAM:Bob;
   ```

    In qualità di amministratore del gruppo di lavoro o del cluster consumer, puoi assegnare le autorizzazioni per l'intero database creato dall'unità di condivisione dati solo agli utenti e ai ruoli. In alcuni casi, sono necessari controlli a grana fine su un sottoinsieme di oggetti di database creati dall'unità di condivisione dati. 

    È inoltre possibile creare viste ad associazione tardiva sugli oggetti condivisi e utilizzarle per assegnare autorizzazioni granulari. Inoltre puoi stabilire che i gruppi di lavoro o i cluster producer creino ulteriori unità di condivisione dati con la granularità richiesta. È possibile creare il maggior numero di riferimenti allo schema al database creato dall'unità di condivisione dati. 

1. Gli utenti del database possono utilizzare le viste SVV\$1EXTERNAL\$1TABLES e SVV\$1EXTERNAL\$1COLUMNS per trovare tutte le tabelle o le colonne condivise all'interno del database AWS Glue .

   ```
   SELECT * from svv_external_tables WHERE redshift_database_name = 'lf_db';
                           
   SELECT * from svv_external_columns WHERE redshift_database_name = 'lf_db';
   ```

1. Eseguire una query sui dati negli oggetti condivisi nelle unità di condivisione dati.

   Gli utenti e i ruoli con autorizzazioni per i database consumer e gli schemi nei gruppi di lavoro o nei cluster consumer possono esplorare e navigare tra i metadati di qualsiasi oggetto condiviso. Possono inoltre esplorare e navigare tra oggetti locali in un gruppo di lavoro o un cluster consumer. Per procedere in tal senso possono utilizzare i driver JDBC o ODBC o le viste SVV\$1ALL o SVV\$1EXTERNAL.

   ```
   SELECT * FROM lf_db.schema.table;
   ```

   È possibile utilizzare le istruzioni SELECT solo su oggetti condivisi. Tuttavia, è possibile creare tabelle nel cluster consumer eseguendo una query sui dati degli oggetti condivisi in un database locale diverso.

   ```
   // Connect to a local cluster database
               
   // Create a view on shared objects and access it.
   
   CREATE VIEW sales_data 
   AS SELECT * 
   FROM sales_db.public.tickit_sales_redshift 
   WITH NO SCHEMA BINDING;
   
   SELECT * FROM sales_data;
   ```