

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 ad Amazon DataZone
<a name="getting-started"></a>

Le informazioni contenute in questa sezione ti aiutano a iniziare a usare Amazon DataZone. Se non conosci Amazon DataZone, inizia acquisendo familiarità con i concetti e la terminologia presentati in[DataZone Terminologia e concetti di Amazon](datazone-concepts.md).

Prima di iniziare i passaggi di uno di questi flussi di lavoro di avvio rapido, devi completare le procedure descritte nella sezione [Configurazione](setting-up.md) di questa guida. Se utilizzi un AWS account nuovo di zecca, devi [configurare le autorizzazioni necessarie per utilizzare la console di DataZone gestione Amazon](create-iam-roles.md). Se utilizzi un AWS account con oggetti AWS Glue Data Catalog esistenti, devi anche [configurare le autorizzazioni Lake Formation per Amazon DataZone](lake-formation-permissions-for-datazone.md). 

Questa sezione introduttiva illustra i seguenti flussi di lavoro Amazon DataZone quickstart:

**Topics**
+ [Amazon DataZone quickstart con i dati di AWS Glue](quickstart-glue.md)
+ [Amazon DataZone quickstart con i dati di Amazon Redshift](quickstart-rs.md)
+ [Amazon DataZone quickstart con script di esempio](quickstart-apis.md)

# Amazon DataZone quickstart con i dati di AWS Glue
<a name="quickstart-glue"></a>

Completa i seguenti passaggi di avvio rapido per eseguire i flussi di lavoro completi di produttori di dati e consumatori di dati in Amazon DataZone con dati di esempio di AWS Glue. 

**Topics**
+ [Fase 1: creare il DataZone dominio Amazon e il portale dati](#create-domain-gs-glue)
+ [Fase 2 - Creare il progetto di pubblicazione](#create-publishing-project-gs-glue)
+ [Fase 3 - Creare l'ambiente](#create-environment-gs-glue)
+ [Fase 4 - Produrre dati per la pubblicazione](#produce-data-for-publishing-gs-glue)
+ [Passaggio 5: raccogliere i metadati da AWS Glue](#gather-metadata-from-glue-gs-glue)
+ [Passaggio 6: cura e pubblica la risorsa di dati](#curate-data-asset-gs-glue)
+ [Fase 7 - Creazione del progetto per l'analisi dei dati](#create-project-for-data-analysis-gs-glue)
+ [Fase 8 - Creare un ambiente per l'analisi dei dati](#create-environment-gs2-glue)
+ [Passaggio 9: cerca nel catalogo dati e iscriviti ai dati](#search-catalog-subscribe-gs-glue)
+ [Passaggio 10: approva la richiesta di abbonamento](#approve-subscription-request-gs-glue)
+ [Passaggio 11: creare una query e analizzare i dati in Amazon Athena](#analyze-data-gs-glue)

## Fase 1: creare il DataZone dominio Amazon e il portale dati
<a name="create-domain-gs-glue"></a>

Questa sezione descrive i passaggi per creare un DataZone dominio Amazon e un portale dati per questo flusso di lavoro.

Completa la seguente procedura per creare un DataZone dominio Amazon. Per ulteriori informazioni sui DataZone domini Amazon, consulta[DataZone Terminologia e concetti di Amazon](datazone-concepts.md). 

1. **Accedi alla DataZone console Amazon all'indirizzo [https://console.aws.amazon.com/datazone](https://console.aws.amazon.com/datazone), accedi e scegli Crea dominio.** 
**Nota**  
Se desideri utilizzare un DataZone dominio Amazon esistente per questo flusso di lavoro, scegli **Visualizza domini**, quindi scegli il dominio che desideri utilizzare e quindi procedi alla Fase 2 della creazione di un progetto di pubblicazione.

1. Nella pagina **Crea dominio**, fornisci i valori per i seguenti campi: 
   + **Nome**: specifica un nome per il tuo dominio. Ai fini di questo flusso di lavoro, puoi chiamare questo dominio **Marketing**.
   + **Descrizione**: specifica una descrizione del dominio opzionale.
   + **Crittografia** dei dati: per impostazione predefinita, i dati vengono crittografati con una chiave che AWS possiede e gestisce per te. In questo caso d'uso, puoi lasciare le impostazioni di crittografia dei dati predefinite.

     Per ulteriori informazioni sull'utilizzo delle chiavi gestite dai clienti, consulta[Crittografia dei dati a riposo per Amazon DataZone](encryption-rest-datazone.md). Se utilizzi la tua chiave KMS per la crittografia dei dati, devi includere la seguente dichiarazione come predefinita[AmazonDataZoneDomainExecutionRole](AmazonDataZoneDomainExecutionRole.md).

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "Statement1",
                 "Effect": "Allow",
                 "Action": [
                     "kms:Decrypt",
                     "kms:DescribeKey",
                     "kms:GenerateDataKey"
                 ],
                 "Resource": [
                     "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
                 ]
             }
         ]
     }
     ```

------
   + **Accesso al servizio**: lascia invariata l'opzione **Usa un ruolo predefinito** selezionata per impostazione predefinita.
**Nota**  
Se utilizzi un DataZone dominio Amazon esistente per questo flusso di lavoro, puoi scegliere **l'opzione Usa un ruolo di servizio esistente** e quindi scegliere un ruolo esistente dal menu a discesa.
   + In **Configurazione rapida**, scegli **Configura questo account per il consumo e la pubblicazione dei dati**. Questa opzione abilita i DataZone blueprint Amazon integrati di **Data lake** e **Data warehouse** e configura le autorizzazioni, le risorse, un progetto predefinito e i profili di ambiente data lake e data warehouse predefiniti per questo account. Per ulteriori informazioni sui DataZone blueprint di Amazon, consulta[DataZone Terminologia e concetti di Amazon](datazone-concepts.md).
   + Mantieni invariati i campi rimanenti sotto i **dettagli delle autorizzazioni**. 
**Nota**  
**Se disponi di un DataZone dominio Amazon esistente, puoi scegliere l'opzione **Usa un ruolo di servizio esistente e quindi scegliere un ruolo** esistente dal menu a discesa per il ruolo **Glue Manage Access, il ruolo Redshift Manage Access** **e il ruolo Provisioning**.** 
   + **Mantieni invariati i campi sotto i tag.**
   + Scegli **Crea dominio**.

1. Una volta creato correttamente il dominio, scegli questo dominio e nella pagina di riepilogo del dominio, annota l'**URL del portale dati** per questo dominio. Puoi utilizzare questo URL per accedere al tuo portale DataZone dati Amazon e completare il resto dei passaggi di questo flusso di lavoro. Puoi anche accedere al portale dati scegliendo **Open data portal**.

**Nota**  
Nell'attuale versione di Amazon DataZone, una volta creato il dominio, l'URL generato per il portale dati non può essere modificato.

Il completamento della creazione del dominio può richiedere diversi minuti. Attendi che lo stato del dominio sia **Disponibile** prima di procedere al passaggio successivo.

## Fase 2 - Creare il progetto di pubblicazione
<a name="create-publishing-project-gs-glue"></a>

Questa sezione descrive i passaggi necessari per creare il progetto di pubblicazione per questo flusso di lavoro.

1. Dopo aver completato il passaggio 1 precedente e aver creato un dominio, vedrai il messaggio **Benvenuto su Amazon DataZone\$1** finestra. In questa finestra, scegli **Crea progetto**.

1. Specificate il nome del progetto, ad esempio, per questo flusso di lavoro, potete assegnargli un nome **SalesDataPublishingProject**, quindi lasciare invariati gli altri campi e quindi scegliere **Crea**.

## Fase 3 - Creare l'ambiente
<a name="create-environment-gs-glue"></a>

Questa sezione descrive i passaggi necessari per creare un ambiente per questo flusso di lavoro.

1. Una volta completato il passaggio 2 precedente e aver creato il progetto, verrà visualizzata **la finestra Il progetto è pronto per l'uso**. In questa finestra, scegli **Crea ambiente**.

1. Nella pagina **Crea ambiente**, specifica quanto segue e quindi scegli **Crea ambiente**.

1. Specificate i valori per quanto segue:
   + **Nome**: specifica il nome dell'ambiente. Per questa procedura dettagliata, puoi chiamarla. `Default data lake environment`
   + **Descrizione**: specifica una descrizione per l'ambiente.
   + **Profilo ambientale**: scegli il profilo **DataLakeProfile**dell'ambiente. Ciò ti consente di utilizzare Amazon DataZone in questo flusso di lavoro per lavorare con i dati in Amazon S3, AWS Glue Catalog e Amazon Athena.
   + Per questa procedura dettagliata, mantieni invariati gli altri campi.

1. Seleziona **Create environment (Crea ambiente)**.

## Fase 4 - Produrre dati per la pubblicazione
<a name="produce-data-for-publishing-gs-glue"></a>

Questa sezione descrive i passaggi necessari per produrre dati da pubblicare in questo flusso di lavoro.

1. Una volta completato il passaggio 3 precedente, nel `SalesDataPublishingProject` progetto, nel pannello di destra, in **Strumenti di analisi**, scegli **Amazon Athena**. Questo apre l'editor di query Athena utilizzando le credenziali del progetto per l'autenticazione. Assicurati che il tuo ambiente di pubblicazione sia selezionato nel menu a discesa ** DataZone dell'ambiente Amazon** e che il `<environment_name>%_pub_db` database sia selezionato come nell'editor di query.

1. Per questa procedura dettagliata, stai utilizzando lo script di query **Create Table as Select** (CTAS) per creare una nuova tabella da pubblicare su Amazon. DataZone Nel tuo editor di query, esegui questo script CTAS per creare una `mkt_sls_table` tabella da pubblicare e rendere disponibile per la ricerca e l'abbonamento. 

   ```
   CREATE TABLE mkt_sls_table AS
   SELECT 146776932 AS ord_num, 23 AS sales_qty_sld, 23.4 AS wholesale_cost, 45.0 as lst_pr, 43.0 as sell_pr, 2.0 as disnt, 12 as ship_mode,13 as warehouse_id, 23 as item_id, 34 as ctlg_page, 232 as ship_cust_id, 4556 as bill_cust_id
   UNION ALL SELECT 46776931, 24, 24.4, 46, 44, 1, 14, 15, 24, 35, 222, 4551
   UNION ALL SELECT 46777394, 42, 43.4, 60, 50, 10, 30, 20, 27, 43, 241, 4565
   UNION ALL SELECT 46777831, 33, 40.4, 51, 46, 15, 16, 26, 33, 40, 234, 4563
   UNION ALL SELECT 46779160, 29, 26.4, 50, 61, 8, 31, 15, 36, 40, 242, 4562
   UNION ALL SELECT 46778595, 43, 28.4, 49, 47, 7, 28, 22, 27, 43, 224, 4555
   UNION ALL SELECT 46779482, 34, 33.4, 64, 44, 10, 17, 27, 43, 52, 222, 4556
   UNION ALL SELECT 46779650, 39, 37.4, 51, 62, 13, 31, 25, 31, 52, 224, 4551
   UNION ALL SELECT 46780524, 33, 40.4, 60, 53, 18, 32, 31, 31, 39, 232, 4563
   UNION ALL SELECT 46780634, 39, 35.4, 46, 44, 16, 33, 19, 31, 52, 242, 4557
   UNION ALL SELECT 46781887, 24, 30.4, 54, 62, 13, 18, 29, 24, 52, 223, 4561
   ```

   Assicurati che la tabella **mkt\$1sls\$1table** sia stata creata correttamente nella sezione **Tabelle e viste sul lato sinistro**. Ora hai una risorsa di dati che può essere pubblicata nel DataZone catalogo Amazon.

## Passaggio 5: raccogliere i metadati da AWS Glue
<a name="gather-metadata-from-glue-gs-glue"></a>

Questa sezione descrive la fase di raccolta dei metadati da AWS Glue per questo flusso di lavoro.

1. Una volta completato il passaggio 4 precedente, nel portale DataZone dati Amazon, scegli il `SalesDataPublishingProject` progetto, quindi scegli la scheda **Dati** e quindi scegli **Origini dati** nel pannello a sinistra.

1. Scegli la fonte che è stata creata come parte del processo di creazione dell'ambiente. 

1. Scegli **Esegui** accanto al menu a discesa **Azione**, quindi scegli il pulsante Aggiorna. Una volta completata l'esecuzione dell'origine dati, le risorse vengono aggiunte all' DataZone inventario Amazon.

## Passaggio 6: cura e pubblica la risorsa di dati
<a name="curate-data-asset-gs-glue"></a>

Questa sezione descrive le fasi di cura e pubblicazione della risorsa di dati in questo flusso di lavoro.

1. Una volta completato il passaggio 5 precedente, nel portale DataZone dati di Amazon, scegli il `SalesDataPublishingProject` progetto che hai creato nel passaggio precedente, scegli la scheda **Dati**, scegli **Dati di inventario** nel pannello a sinistra e individua la `mkt_sls_table` tabella.

1. Apri la pagina dei dettagli dell'`mkt_sls_table`asset per visualizzare i nomi aziendali generati automaticamente. Scegliete l'icona **Metadati generati automaticamente** per visualizzare i nomi generati automaticamente per le risorse e le colonne. Puoi accettare o rifiutare ogni nome singolarmente o scegliere **Accetta tutto** per applicare i nomi generati. Facoltativamente, puoi anche aggiungere il modulo di metadati disponibile alla tua risorsa e selezionare i termini del glossario per classificare i dati.

1. Scegliete **Pubblica risorsa per pubblicare la risorsa**. `mkt_sls_table`

## Fase 7 - Creazione del progetto per l'analisi dei dati
<a name="create-project-for-data-analysis-gs-glue"></a>

Questa sezione descrive le fasi di creazione del progetto per l'analisi dei dati. Questo è l'inizio delle fasi relative al consumo di dati di questo flusso di lavoro.

1. Una volta completato il passaggio 6 precedente, nel portale DataZone dati Amazon, scegli **Crea progetto** dal menu a discesa **Progetto**.

1. **Nella pagina **Crea progetto**, specifica il nome del progetto, ad esempio, per questo flusso di lavoro, puoi assegnargli un nome **MarketingDataAnalysisProject**, quindi lascia invariati gli altri campi e quindi scegli Crea.**

## Fase 8 - Creare un ambiente per l'analisi dei dati
<a name="create-environment-gs2-glue"></a>

Questa sezione descrive le fasi di creazione di un ambiente per l'analisi dei dati.

1. Una volta completato il passaggio 7 precedente, nel portale DataZone dati Amazon, scegli il `MarketingDataAnalysisProject` progetto, quindi scegli la scheda **Ambienti** e quindi scegli **Crea ambiente**.

1. Nella pagina **Crea ambiente**, specifica quanto segue e quindi scegli **Crea ambiente**.
   + **Nome**: specifica il nome dell'ambiente. Per questa procedura dettagliata, puoi chiamarla. `Default data lake environment`
   + **Descrizione**: specifica una descrizione per l'ambiente.
   + **Profilo ambientale**: scegli il profilo **DataLakeProfile**ambientale integrato.
   + Per questa procedura dettagliata, mantieni invariato il resto dei campi.

## Passaggio 9: cerca nel catalogo dati e iscriviti ai dati
<a name="search-catalog-subscribe-gs-glue"></a>

Questa sezione descrive i passaggi per la ricerca nel catalogo dati e la sottoscrizione ai dati.

1. Una volta completato il passaggio 8 precedente, nel portale DataZone dati di Amazon, scegli l' DataZoneicona Amazon e, nel campo Amazon DataZone **Search**, cerca gli asset di dati utilizzando parole chiave (ad esempio, «catalogo» o «vendite») nella barra di **ricerca** del portale dati. 

   Se necessario, applica filtri o ordinamenti e, una volta individuato l'asset **Product Sales Data**, puoi sceglierlo per aprire la pagina dei dettagli della risorsa.

1. Nella pagina dei dettagli della risorsa **Catalog Sales Data**, scegliete **Iscriviti**.

1. Nella finestra di dialogo **Iscriviti**, scegli il tuo progetto **MarketingDataAnalysisProject**consumer dal menu a discesa, quindi specifica il motivo della richiesta di abbonamento e quindi scegli **Iscriviti**.

## Passaggio 10: approva la richiesta di abbonamento
<a name="approve-subscription-request-gs-glue"></a>

Questa sezione descrive i passaggi per l'approvazione della richiesta di abbonamento.

1. Una volta completato il passaggio 9 precedente, nel portale DataZone dati di Amazon, scegli il **SalesDataPublishingProject**progetto con cui hai pubblicato la tua risorsa.

1. Scegli la scheda **Dati**, quindi **Dati pubblicati**, quindi scegli **Richieste in arrivo**.

1. Ora puoi vedere la riga relativa alla nuova richiesta che richiede un'approvazione. Scegli **Visualizza richiesta**. Fornisci un motivo per l'approvazione e **scegli Approva.**

## Passaggio 11: creare una query e analizzare i dati in Amazon Athena
<a name="analyze-data-gs-glue"></a>

Ora che hai pubblicato con successo una risorsa nel DataZone catalogo Amazon e ti sei abbonato, puoi analizzarla.

1. Nel portale DataZone dati di Amazon, scegli il tuo progetto **MarketingDataAnalysisProject**consumer e poi, dal pannello di destra, in **Strumenti di analisi**, scegli il link **Query data** with Amazon Athena. Questo apre l'editor di query di Amazon Athena utilizzando le credenziali del progetto per l'autenticazione. Scegli l'ambiente **MarketingDataAnalysisProject**consumer dal menu a discesa **Amazon DataZone Environment** nell'editor di query, quindi scegli il tuo progetto `<environment_name>%sub_db` dal menu a discesa del database.

1. Ora puoi eseguire query sulla tabella degli abbonati. È possibile scegliere la tabella tra **Tabelle e viste**, quindi scegliere **Anteprima per visualizzare** l'istruzione select nella schermata dell'editor. Esegui la query per vedere i risultati. 

# Amazon DataZone quickstart con i dati di Amazon Redshift
<a name="quickstart-rs"></a>

Completa i seguenti passaggi di avvio rapido per eseguire i flussi di lavoro completi di produttori di dati e consumatori di dati in Amazon DataZone con dati di esempio di Amazon Redshift. 

**Topics**
+ [Fase 1: creare il DataZone dominio Amazon e il portale dati](#create-domain-gs-rs)
+ [Fase 2 - Creare il progetto di pubblicazione](#create-publishing-project-gs-rs)
+ [Fase 3 - Creare l'ambiente](#create-environment-gs-rs)
+ [Fase 4 - Produrre dati per la pubblicazione](#produce-data-for-publishing-gs-rs)
+ [Fase 5 - Raccolta di metadati da Amazon Redshift](#gather-metadata-from-glue-gs-rs)
+ [Passaggio 6: cura e pubblica la risorsa di dati](#curate-data-asset-gs-rs)
+ [Fase 7 - Creazione del progetto per l'analisi dei dati](#create-project-for-data-analysis-gs-rs)
+ [Fase 8 - Creare un ambiente per l'analisi dei dati](#create-environment-gs2-rs)
+ [Passaggio 9: cerca nel catalogo dati e iscriviti ai dati](#search-catalog-subscribe-gs-rs)
+ [Passaggio 10: approva la richiesta di abbonamento](#approve-subscription-request-gs-rs)
+ [Fase 11: creare una query e analizzare i dati in Amazon Redshift](#analyze-data-gs-rs)

## Fase 1: creare il DataZone dominio Amazon e il portale dati
<a name="create-domain-gs-rs"></a>

Completa la seguente procedura per creare un DataZone dominio Amazon. Per ulteriori informazioni sui DataZone domini Amazon, consulta[DataZone Terminologia e concetti di Amazon](datazone-concepts.md). 

1. **Accedi alla DataZone console Amazon all'indirizzo [https://console.aws.amazon.com/datazone](https://console.aws.amazon.com/datazone), accedi e scegli Crea dominio.**
**Nota**  
Se desideri utilizzare un DataZone dominio Amazon esistente per questo flusso di lavoro, scegli Visualizza domini, quindi scegli il dominio che desideri utilizzare e quindi procedi alla Fase 2 della creazione di un progetto di pubblicazione.

1. Nella pagina **Crea dominio**, fornisci i valori per i seguenti campi: 
   + **Nome**: specifica un nome per il tuo dominio. Ai fini di questo flusso di lavoro, puoi chiamare questo dominio`Marketing`.
   + **Descrizione**: specifica una descrizione del dominio opzionale.
   + **Crittografia** dei dati: per impostazione predefinita, i dati vengono crittografati con una chiave che AWS possiede e gestisce per te. Per questa procedura dettagliata, puoi lasciare le impostazioni di crittografia dei dati predefinite.

     Per ulteriori informazioni sull'utilizzo delle chiavi gestite dai clienti, consulta. [Crittografia dei dati a riposo per Amazon DataZone](encryption-rest-datazone.md) Se utilizzi la tua chiave KMS per la crittografia dei dati, devi includere la seguente dichiarazione come predefinita[AmazonDataZoneDomainExecutionRole](AmazonDataZoneDomainExecutionRole.md).

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "Statement1",
                 "Effect": "Allow",
                 "Action": [
                     "kms:Decrypt",
                     "kms:DescribeKey",
                     "kms:GenerateDataKey"
                 ],
                 "Resource": [
                     "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
                 ]
             }
         ]
     }
     ```

------
   + **Accesso al servizio**: scegli l'opzione **Usa un ruolo di servizio personalizzato**, quindi scegli l'opzione **AmazonDataZoneDomainExecutionRole**dal menu a discesa.
   + In **Configurazione rapida**, scegli **Configura questo account per il consumo e la pubblicazione dei dati**. Questa opzione abilita i DataZone blueprint Amazon integrati di **Data lake** e **Data warehouse** e configura le autorizzazioni e le risorse necessarie per completare il resto dei passaggi di questo flusso di lavoro. Per ulteriori informazioni sui DataZone blueprint di Amazon, consulta[DataZone Terminologia e concetti di Amazon](datazone-concepts.md).
   + **Mantieni invariati i campi rimanenti in **Informazioni sulle autorizzazioni** e **Tag**, quindi scegli Crea dominio.**

1. Una volta creato correttamente il dominio, scegli questo dominio e, nella pagina di riepilogo del dominio, annota l'**URL del portale dati** relativo a questo dominio. Puoi utilizzare questo URL per accedere al tuo portale DataZone dati Amazon e completare il resto dei passaggi di questo flusso di lavoro.

**Nota**  
Nell'attuale versione di Amazon DataZone, una volta creato il dominio, l'URL generato per il portale dati non può essere modificato.

Il completamento della creazione del dominio può richiedere diversi minuti. Attendi che lo stato del dominio sia **Disponibile** prima di procedere al passaggio successivo.

## Fase 2 - Creare il progetto di pubblicazione
<a name="create-publishing-project-gs-rs"></a>

La sezione seguente descrive le fasi di creazione del progetto di pubblicazione in questo flusso di lavoro.

1. Una volta completato il passaggio 1, accedi al portale DataZone dati Amazon utilizzando l'URL del portale dati e accedi utilizzando le tue credenziali Single Sign-On (SSO) o AWS IAM. 

1. **Scegli **Crea progetto**, specifica il nome del progetto, ad esempio, per questo flusso di lavoro, puoi assegnargli un nome **SalesDataPublishingProject**, quindi lascia invariati gli altri campi e quindi scegli Crea.**

## Fase 3 - Creare l'ambiente
<a name="create-environment-gs-rs"></a>

La sezione seguente descrive i passaggi per creare un ambiente in questo flusso di lavoro.

1. Una volta completato il passaggio 2, nel portale DataZone dati Amazon, scegli il `SalesDataPublishingProject` progetto creato nel passaggio precedente, quindi scegli la scheda **Ambienti** e quindi scegli **Crea ambiente**.

1. Nella pagina **Crea ambiente**, specifica quanto segue e poi scegli **Crea ambiente**.
   + **Nome**: specifica il nome dell'ambiente. Per questa procedura dettagliata, puoi chiamarla. `Default data warehouse environment`
   + **Descrizione**: specifica una descrizione per l'ambiente.
   + **Profilo ambientale**: scegli il profilo **DataWarehouseProfile**dell'ambiente.
   + Fornisci il nome del cluster Amazon Redshift, il nome del database e l'ARN segreto per il cluster Amazon Redshift in cui sono archiviati i dati. 
**Nota**  
Assicurati che il tuo segreto in AWS Secrets Manager includa i seguenti tag (chiave/valore):  
Per il cluster Amazon Redshift - datazone.rs.cluster: <cluster\$1name:database name>  
Per il gruppo di lavoro Serverless Amazon Redshift - datazone.rs.workgroup: <workgroup\$1name:database\$1name>
AmazonDataZoneProject: <projectID> 
AmazonDataZoneDomain: <domainID>
Per ulteriori informazioni, vedere [Memorizzazione delle credenziali del database in AWS Secrets Manager](https://docs.aws.amazon.com//redshift/latest/mgmt/data-api-access.html#data-api-secrets).  
L'utente del database fornito in AWS Secrets Manager deve disporre delle autorizzazioni di super utente.

## Fase 4 - Produrre dati per la pubblicazione
<a name="produce-data-for-publishing-gs-rs"></a>

La sezione seguente descrive le fasi di produzione dei dati da pubblicare in questo flusso di lavoro.

1. Una volta completato il passaggio 3, nel portale DataZone dati di Amazon, scegli il `SalesDataPublishingProject` progetto, quindi, nel pannello di destra, in **Strumenti di analisi**, scegli **Amazon Redshift**. Questo apre l'editor di query di Amazon Redshift utilizzando le credenziali del progetto per l'autenticazione.

1. Per questa procedura dettagliata, stai utilizzando lo script di query **Create Table as Select** (CTAS) per creare una nuova tabella da pubblicare su Amazon. DataZone Nel tuo editor di query, esegui questo script CTAS per creare una `mkt_sls_table` tabella da pubblicare e rendere disponibile per la ricerca e l'abbonamento. 

   ```
   CREATE TABLE mkt_sls_table AS
   SELECT 146776932 AS ord_num, 23 AS sales_qty_sld, 23.4 AS wholesale_cost, 45.0 as lst_pr, 43.0 as sell_pr, 2.0 as disnt, 12 as ship_mode,13 as warehouse_id, 23 as item_id, 34 as ctlg_page, 232 as ship_cust_id, 4556 as bill_cust_id
   UNION ALL SELECT 46776931, 24, 24.4, 46, 44, 1, 14, 15, 24, 35, 222, 4551
   UNION ALL SELECT 46777394, 42, 43.4, 60, 50, 10, 30, 20, 27, 43, 241, 4565
   UNION ALL SELECT 46777831, 33, 40.4, 51, 46, 15, 16, 26, 33, 40, 234, 4563
   UNION ALL SELECT 46779160, 29, 26.4, 50, 61, 8, 31, 15, 36, 40, 242, 4562
   UNION ALL SELECT 46778595, 43, 28.4, 49, 47, 7, 28, 22, 27, 43, 224, 4555
   UNION ALL SELECT 46779482, 34, 33.4, 64, 44, 10, 17, 27, 43, 52, 222, 4556
   UNION ALL SELECT 46779650, 39, 37.4, 51, 62, 13, 31, 25, 31, 52, 224, 4551
   UNION ALL SELECT 46780524, 33, 40.4, 60, 53, 18, 32, 31, 31, 39, 232, 4563
   UNION ALL SELECT 46780634, 39, 35.4, 46, 44, 16, 33, 19, 31, 52, 242, 4557
   UNION ALL SELECT 46781887, 24, 30.4, 54, 62, 13, 18, 29, 24, 52, 223, 4561
   ```

   Assicurati che la tabella **mkt\$1sls\$1table** sia stata creata correttamente. Ora hai una risorsa di dati che può essere pubblicata nel DataZone catalogo Amazon.

## Fase 5 - Raccolta di metadati da Amazon Redshift
<a name="gather-metadata-from-glue-gs-rs"></a>

La sezione seguente descrive le fasi di raccolta dei metadati da Amazon Redshift.

1. Una volta completato il passaggio 4, nel portale DataZone dati Amazon, scegli il `SalesDataPublishingProject` progetto, quindi scegli la scheda **Dati** e quindi scegli **Origini dati**.

1. Scegli la fonte che è stata creata come parte del processo di creazione dell'ambiente. 

1. Scegli **Esegui** accanto al menu a discesa **Azione**, quindi scegli il pulsante Aggiorna. Una volta completata l'esecuzione dell'origine dati, le risorse vengono aggiunte all' DataZone inventario Amazon.

## Passaggio 6: cura e pubblica la risorsa di dati
<a name="curate-data-asset-gs-rs"></a>

La sezione seguente descrive le fasi di cura e pubblicazione della risorsa di dati in questo flusso di lavoro.

1. Una volta completato il passaggio 5, nel portale DataZone dati di Amazon, scegli il `SalesDataPublishingProject` progetto, quindi scegli la scheda **Dati**, scegli **Dati di inventario** e individua la `mkt_sls_table` tabella.

1. Apri la pagina dei dettagli dell'`mkt_sls_table`asset per visualizzare i nomi aziendali generati automaticamente. Scegliete l'icona **Metadati generati automaticamente** per visualizzare i nomi generati automaticamente per le risorse e le colonne. Puoi accettare o rifiutare ogni nome singolarmente o scegliere **Accetta tutto** per applicare i nomi generati. Facoltativamente, puoi anche aggiungere il modulo di metadati disponibile alla tua risorsa e selezionare i termini del glossario per classificare i dati.

1. Scegliete **Pubblica per pubblicare** la risorsa. `mkt_sls_table`

## Fase 7 - Creazione del progetto per l'analisi dei dati
<a name="create-project-for-data-analysis-gs-rs"></a>

La sezione seguente descrive le fasi di creazione del progetto per l'analisi dei dati in questo flusso di lavoro.

1. Una volta completato il passaggio 6, nel portale DataZone dati Amazon, scegli **Crea progetto**.

1. Nella pagina **Crea progetto**, specifica il nome del progetto, ad esempio, per questo flusso di lavoro, puoi assegnargli un nome **MarketingDataAnalysisProject**, quindi lasciare invariato il resto dei campi e quindi scegli **Crea**.

## Fase 8 - Creare un ambiente per l'analisi dei dati
<a name="create-environment-gs2-rs"></a>

La sezione seguente descrive le fasi di creazione di un ambiente per l'analisi dei dati in questo flusso di lavoro.

1. Una volta completato il passaggio 7, nel portale DataZone dati Amazon, scegli il `MarketingDataAnalysisProject` progetto creato nel passaggio precedente, quindi scegli la scheda **Ambienti** e quindi scegli **Aggiungi ambiente**.

1. Nella pagina **Crea ambiente**, specifica quanto segue e poi scegli **Crea ambiente**.
   + **Nome**: specifica il nome dell'ambiente. Per questa procedura dettagliata, puoi chiamarla. `Default data warehouse environment`
   + **Descrizione**: specifica una descrizione per l'ambiente.
   + **Profilo ambientale**: scegli il profilo **DataWarehouseProfile**dell'ambiente.
   + Fornisci il nome del cluster Amazon Redshift, il nome del database e l'ARN segreto per il cluster Amazon Redshift in cui sono archiviati i dati. 
**Nota**  
Assicurati che il tuo segreto in AWS Secrets Manager includa i seguenti tag (chiave/valore):  
Per il cluster Amazon Redshift - datazone.rs.cluster: <cluster\$1name:database name>  
Per il gruppo di lavoro Serverless Amazon Redshift - datazone.rs.workgroup: <workgroup\$1name:database\$1name>
AmazonDataZoneProject: <projectID> 
AmazonDataZoneDomain: <domainID>
Per ulteriori informazioni, vedere [Memorizzazione delle credenziali del database in AWS Secrets Manager](https://docs.aws.amazon.com//redshift/latest/mgmt/data-api-access.html#data-api-secrets).  
L'utente del database fornito in AWS Secrets Manager deve disporre delle autorizzazioni di super utente.
   + Per questa procedura dettagliata, mantieni invariati gli altri campi.

## Passaggio 9: cerca nel catalogo dati e iscriviti ai dati
<a name="search-catalog-subscribe-gs-rs"></a>

La sezione seguente descrive i passaggi per la ricerca nel catalogo dati e la sottoscrizione ai dati.

1. Una volta completato il passaggio 8, nel portale DataZone dati di Amazon, cerca gli asset di dati utilizzando parole chiave (ad esempio, «catalogo» o «vendite») nella barra di **ricerca** del portale dati. 

   Se necessario, applica filtri o ordinamenti e, una volta individuato l'asset Product Sales Data, puoi sceglierlo per aprire la pagina dei dettagli della risorsa.

1. Nella pagina dei dettagli della risorsa Product Sales Data, scegli **Iscriviti**.

1. Nella finestra di dialogo, scegli il tuo progetto consumer dal menu a discesa, fornisci il motivo della richiesta di accesso, quindi scegli **Abbonati**.

## Passaggio 10: approva la richiesta di abbonamento
<a name="approve-subscription-request-gs-rs"></a>

La sezione seguente descrive i passaggi di approvazione della richiesta di abbonamento in questo flusso di lavoro.

1. Una volta completato il passaggio 9, nel portale DataZone dati di Amazon, scegli il **SalesDataPublishingProject**progetto con cui hai pubblicato la tua risorsa.

1. Scegli la scheda **Dati**, quindi **Dati pubblicati** e infine **Richieste in arrivo**.

1. Scegli il link di richiesta di visualizzazione, quindi scegli **Approva**. 

## Fase 11: creare una query e analizzare i dati in Amazon Redshift
<a name="analyze-data-gs-rs"></a>

Ora che hai pubblicato con successo una risorsa nel DataZone catalogo Amazon e ti sei abbonato, puoi analizzarla.

1. Nel portale DataZone dati di Amazon, nel pannello di destra, fai clic sul link Amazon Redshift. Questo apre l'editor di query di Amazon Redshift utilizzando le credenziali del progetto per l'autenticazione.

1. Ora puoi eseguire una query (select statement) sulla tabella sottoscritta. È possibile fare clic sulla tabella (three-vertical-dots opzione) e scegliere l'anteprima per visualizzare l'istruzione select nella schermata dell'editor. Esegui la query per vedere i risultati. 

# Amazon DataZone quickstart con script di esempio
<a name="quickstart-apis"></a>

Puoi accedere ad Amazon DataZone tramite il portale di gestione o il portale DataZone dati Amazon oppure a livello di codice utilizzando l'API Amazon DataZone HTTPS, che ti consente di inviare richieste HTTPS direttamente al servizio. Questa sezione contiene script di esempio che richiamano Amazon DataZone APIs che puoi utilizzare per completare le seguenti attività comuni:

**Topics**
+ [Crea un DataZone dominio Amazon e un portale dati](#create-domain-gs-glue-api)
+ [Crea un progetto di pubblicazione](#create-publishing-project-gs-glue-api)
+ [Crea un profilo ambientale](#create-environment-profile-gs-glue-api)
+ [Creazione di un ambiente](#create-environment-gs-glue-api)
+ [Raccogli metadati da AWS Glue](#gather-metadata-from-glue-gs-glue-api)
+ [Cura e pubblica una risorsa di dati](#curate-data-asset-gs-glue-api)
+ [Cerca nel catalogo dati e sottoscrivi i dati](#search-catalog-subscribe-gs-glue-api)
+ [Cerca le risorse nel catalogo dati](#search-catalog-subscribe-gs-glue-api)
+ [Altri utili script di esempio](#other-useful-scripts-api)

## Crea un DataZone dominio Amazon e un portale dati
<a name="create-domain-gs-glue-api"></a>

Puoi utilizzare il seguente script di esempio per creare un DataZone dominio Amazon. Per ulteriori informazioni sui DataZone domini Amazon, consulta[DataZone Terminologia e concetti di Amazon](datazone-concepts.md). 

```
import sys
import boto3

// Initialize datazone client
region = 'us-east-1'
dzclient = boto3.client(service_name='datazone', region_name='us-east-1')

// Create DataZone domain
def create_domain(name):
    return dzclient.create_domain(
        name = name,
        description = "this is a description",
        domainExecutionRole = "arn:aws:iam::<account>:role/AmazonDataZoneDomainExecutionRole",
    )
```

## Crea un progetto di pubblicazione
<a name="create-publishing-project-gs-glue-api"></a>

Puoi utilizzare il seguente script di esempio per creare un progetto di pubblicazione in Amazon DataZone.

```
// Create Project
def create_project(domainId):
    return dzclient.create_project(
        domainIdentifier = domainId,
        name = "sample-project"
    )
```

## Crea un profilo ambientale
<a name="create-environment-profile-gs-glue-api"></a>

Puoi utilizzare i seguenti script di esempio per creare un profilo di ambiente in Amazon DataZone.

Questo payload di esempio viene utilizzato quando viene richiamata l'`CreateEnvironmentProfile`API:

```
Sample Payload
{
    "Content":{
        "project_name": "Admin_project",
        "domain_name": "Drug-Research-and-Development",
        "blueprint_account_region": [
            {
                "blueprint_name": "DefaultDataLake",
                "account_id": ["066535990535",
                "413878397724",
                "676266385322", 
                "747721550195", 
                "755347404384"
                ],
                "region": ["us-west-2", "us-east-1"]
            },
            {
                "blueprint_name": "DefaultDataWarehouse",
                "account_id": ["066535990535",
                "413878397724",
                "676266385322", 
                "747721550195", 
                "755347404384"
                ],
                "region":["us-west-2", "us-east-1"]
            }
        ]
    }
}
```

Questo script di esempio richiama l'API: `CreateEnvironmentProfile`

```
def create_environment_profile(domain_id, project_id, env_blueprints)    
        try:
            response = dz.list_environment_blueprints(
                domainIdentifier=domain_id,
                managed=True
            )
            env_blueprints = response.get("items")
            env_blueprints_map = {}
            for i in env_blueprints:
                env_blueprints_map[i["name"]] = i['id']
            
            print("Environment Blueprint map", env_blueprints_map)
            for i in blueprint_account_region:
                print(i)
                for j in i["account_id"]:
                    for k in i["region"]:
                        print("The env blueprint name is", i['blueprint_name'])
                        dz.create_environment_profile(
                            description='This is a test environment profile created via lambda function',
                            domainIdentifier=domain_id,
                            awsAccountId=j,
                            awsAccountRegion=k,
                            environmentBlueprintIdentifier=env_blueprints_map.get(i["blueprint_name"]),
                            name=i["blueprint_name"] + j + k + "_profile",
                            projectIdentifier=project_id
                        )
        except Exception as e:
            print("Failed to created Environment Profile")
            raise e
```

Questo è il payload di output di esempio una volta richiamata l'`CreateEnvironmentProfile`API:

```
{
    "Content":{
        "project_name": "Admin_project",
        "domain_name": "Drug-Research-and-Development",
        "blueprint_account_region": [
            {
                "blueprint_name": "DefaultDataWarehouse",
                "account_id": ["111111111111"],
                "region":["us-west-2"],
                "user_parameters":[
                    {
                        "name": "dataAccessSecretsArn",
                        "value": ""
                    }
                ] 
            }
        ]
    }
}
```

## Creazione di un ambiente
<a name="create-environment-gs-glue-api"></a>

Puoi utilizzare il seguente script di esempio per creare un ambiente in Amazon DataZone.

```
def create_environment(domain_id, project_id,blueprint_account_region ):
         try:
            #refer to get_domain_id and get_project_id for fetching ids using names.
            sts_client = boto3.client("sts")
            # Get the current account ID
            account_id = sts_client.get_caller_identity()["Account"]
            print("Fetching environment profile ids")
            env_profile_map = get_env_profile_map(domain_id, project_id)

            for i in blueprint_account_region:
                for j in i["account_id"]:
                    for k in i["region"]:
                        print(" env blueprint name", i['blueprint_name'])
                        profile_name = i["blueprint_name"] + j + k + "_profile"
                        env_name = i["blueprint_name"] + j + k + "_env"
                        description = f'This is environment is created for {profile_name}, Account {account_id} and region {i["region"]}'
                        try:
                            dz.create_environment(
                                description=description,
                                domainIdentifier=domain_id,
                                environmentProfileIdentifier=env_profile_map.get(profile_name),
                                name=env_name,
                                projectIdentifier=project_id
                            )
                            print(f"Environment created - {env_name}")
                        except:
                            dz.create_environment(
                                description=description,
                                domainIdentifier=domain_id,
                                environmentProfileIdentifier=env_profile_map.get(profile_name),
                                name=env_name,
                                projectIdentifier=project_id,
                                userParameters= i["user_parameters"] 
                            )
                            print(f"Environment created - {env_name}")
        except Exception as e:
            print("Failed to created Environment")
            raise e
```

## Raccogli metadati da AWS Glue
<a name="gather-metadata-from-glue-gs-glue-api"></a>

Puoi usare questo script di esempio per raccogliere metadati da AWS Glue. Questo script viene eseguito secondo una pianificazione standard. È possibile recuperare i parametri dallo script di esempio e renderli globali. Recupera il progetto, l'ambiente e l'ID del dominio utilizzando funzioni standard. L'origine dati AWS Glue viene creata ed eseguita a un'ora standard che può essere aggiornata nella sezione cron dello script. 

```
def crcreate_data_source(domain_id, project_id,data_source_name)
        print("Creating Data Source")
        data_source_creation = dz.create_data_source(
            # Define data source : Customize the data source to which you'd like to connect
            # define the name of the Data source to create, example: name ='TestGlueDataSource'
            name=data_source_name,
            # give a description for the datasource (optional), example: description='This is a dorra test for creation on DZ datasources'
            description=data_source_description,
            # insert the domain identifier corresponding to the domain to which the datasource will belong, example: domainIdentifier= 'dzd_6f3gst5jjmrrmv'
            domainIdentifier=domain_id,
            # give environment identifier , example: environmentIdentifier= '3weyt6hhn8qcvb'
            environmentIdentifier=environment_id,
            # give corresponding project identifier, example: projectIdentifier= '6tl4csoyrg16ef',
            projectIdentifier=project_id,
            enableSetting="ENABLED",
            # publishOnImport used to select whether assets are added to the inventory and/or discovery catalog .
            # publishOnImport = True : Assets will be added to project's inventory as well as published to the discovery catalog
            # publishOnImport = False : Assets will only be added to project's inventory.
            # You can later curate the metadata of the assets and choose subscription terms to publish them from the inventory to the discovery catalog.
            publishOnImport=False,
            # Automated business name generation : Use AI to automatically generate metadata for assets as they are published or updated by this data source run.
            # Automatically generated metadata can be be approved, rejected, or edited by data publishers.
            # Automatically generated metadata is badged with a small icon next to the corresponding metadata field.
            recommendation={"enableBusinessNameGeneration": True},
            type="GLUE",
            configuration={
                "glueRunConfiguration": {
                    "dataAccessRole": "arn:aws:iam::"
                    + account_id
                    + ":role/service-role/AmazonDataZoneGlueAccess-"
                    + current_region
                    + "-"
                    + domain_id
                    + "",
                    "relationalFilterConfigurations": [
                        {
                            #
                            "databaseName": glue_database_name,
                            "filterExpressions": [
                                {"expression": "*", "type": "INCLUDE"},
                            ],
                            #    "schemaName": "TestSchemaName",
                        },
                    ],
                },
            },
            # Add metadata forms to the data source (OPTIONAL).
            # Metadata forms will be automatically applied to any assets that are created by the data source.
            # assetFormsInput=[
            #     {
            #         "content": "string",
            #         "formName": "string",
            #         "typeIdentifier": "string",
            #         "typeRevision": "string",
            #     },
            # ],
            schedule={
                "schedule": "cron(5 20 * * ? *)",
                "timezone": "UTC",
            },
        )
        # This is a suggested syntax to return values
        #        return_values["data_source_creation"] = data_source_creation["items"]
        print("Data Source Created")


//This is the sample response payload after the CreateDataSource API is invoked:

{
    "Content":{
        "project_name": "Admin",
        "domain_name": "Drug-Research-and-Development",
        "env_name": "GlueEnvironment",
        "glue_database_name": "test",
        "data_source_name" : "test",
        "data_source_description" : "This is a test data source"
    }
}
```

## Cura e pubblica una risorsa di dati
<a name="curate-data-asset-gs-glue-api"></a>

Puoi utilizzare i seguenti script di esempio per curare e pubblicare asset di dati in Amazon. DataZone

Puoi utilizzare il seguente script per creare tipi di modulo personalizzati:

```
 
def create_form_type(domainId, projectId):
    return dzclient.create_form_type(
        domainIdentifier = domainId,
        name = "customForm",
        model = {
            "smithy": "structure customForm { simple: String }"
        },
        owningProjectIdentifier = projectId,
        status = "ENABLED"
    )
```

È possibile utilizzare il seguente script di esempio per creare tipi di risorse personalizzati:

```
def create_custom_asset_type(domainId, projectId):
    return dzclient.create_asset_type(
        domainIdentifier = domainId,
        name = "userCustomAssetType",
        formsInput = {
            "Model": {
                "typeIdentifier": "customForm",
                "typeRevision": "1",
                "required": False
            }
        },
        owningProjectIdentifier = projectId,
    )
```

È possibile utilizzare il seguente script di esempio per creare risorse personalizzate:

```
def create_custom_asset(domainId, projectId):
    return dzclient.create_asset(
        domainIdentifier = domainId,
        name = 'custom asset',
        description = "custom asset",
        owningProjectIdentifier = projectId,
        typeIdentifier = "userCustomAssetType",
        formsInput = [
            {
                "formName": "UserCustomForm",
                "typeIdentifier": "customForm",
                "content": "{\"simple\":\"sample-catalogId\"}"
            }
        ]
    )
```

È possibile utilizzare il seguente script di esempio per creare un glossario:

```
def create_glossary(domainId, projectId):
    return dzclient.create_glossary(
        domainIdentifier = domainId,
        name = "test7",
        description = "this is a test glossary",
        owningProjectIdentifier = projectId
    )
```

È possibile utilizzare il seguente script di esempio per creare un termine di glossario:

```
def create_glossary_term(domainId, glossaryId):
    return dzclient.create_glossary_term(
        domainIdentifier = domainId,
        name = "soccer",
        shortDescription = "this is a test glossary",
        glossaryIdentifier = glossaryId,
    )
```

È possibile utilizzare il seguente script di esempio per creare una risorsa utilizzando un tipo di risorsa definito dal sistema:

```
def create_asset(domainId, projectId):
    return dzclient.create_asset(
        domainIdentifier = domainId,
        name = 'sample asset name',
        description = "this is a glue table asset",
        owningProjectIdentifier = projectId,
        typeIdentifier = "amazon.datazone.GlueTableAssetType",
        formsInput = [
            {
                "formName": "GlueTableForm",
                "content": "{\"catalogId\":\"sample-catalogId\",\"columns\":[{\"columnDescription\":\"sample-columnDescription\",\"columnName\":\"sample-columnName\",\"dataType\":\"sample-dataType\",\"lakeFormationTags\":{\"sample-key1\":\"sample-value1\",\"sample-key2\":\"sample-value2\"}}],\"compressionType\":\"sample-compressionType\",\"lakeFormationDetails\":{\"lakeFormationManagedTable\":false,\"lakeFormationTags\":{\"sample-key1\":\"sample-value1\",\"sample-key2\":\"sample-value2\"}},\"primaryKeys\":[\"sample-Key1\",\"sample-Key2\"],\"region\":\"us-east-1\",\"sortKeys\":[\"sample-sortKey1\"],\"sourceClassification\":\"sample-sourceClassification\",\"sourceLocation\":\"sample-sourceLocation\",\"tableArn\":\"sample-tableArn\",\"tableDescription\":\"sample-tableDescription\",\"tableName\":\"sample-tableName\"}"
            }
        ]
    )
```

È possibile utilizzare il seguente script di esempio per creare una revisione di una risorsa e allegare un termine di glossario:

```
def create_asset_revision(domainId, assetId):
    return dzclient.create_asset_revision(
        domainIdentifier = domainId,
        identifier = assetId,
        name = 'glue table asset 7',
        description = "glue table asset description update",
        formsInput = [
            {
                "formName": "GlueTableForm",
                "content": "{\"catalogId\":\"sample-catalogId\",\"columns\":[{\"columnDescription\":\"sample-columnDescription\",\"columnName\":\"sample-columnName\",\"dataType\":\"sample-dataType\",\"lakeFormationTags\":{\"sample-key1\":\"sample-value1\",\"sample-key2\":\"sample-value2\"}}],\"compressionType\":\"sample-compressionType\",\"lakeFormationDetails\":{\"lakeFormationManagedTable\":false,\"lakeFormationTags\":{\"sample-key1\":\"sample-value1\",\"sample-key2\":\"sample-value2\"}},\"primaryKeys\":[\"sample-Key1\",\"sample-Key2\"],\"region\":\"us-east-1\",\"sortKeys\":[\"sample-sortKey1\"],\"sourceClassification\":\"sample-sourceClassification\",\"sourceLocation\":\"sample-sourceLocation\",\"tableArn\":\"sample-tableArn\",\"tableDescription\":\"sample-tableDescription\",\"tableName\":\"sample-tableName\"}"
            }
        ],
        glossaryTerms = ["<glossaryTermId:>"]
    )
```

È possibile utilizzare il seguente script di esempio per pubblicare una risorsa:

```
def publish_asset(domainId, assetId):
    return dzclient.create_listing_change_set(
        domainIdentifier = domainId,
        entityIdentifier = assetId,
        entityType = "ASSET",
        action = "PUBLISH",
    )
```

## Cerca nel catalogo dati e sottoscrivi i dati
<a name="search-catalog-subscribe-gs-glue-api"></a>

È possibile utilizzare i seguenti script di esempio per effettuare ricerche nel catalogo dati e sottoscrivere i dati:

```
def search_asset(domainId, projectId, text):
    return dzclient.search(
        domainIdentifier = domainId,
        owningProjectIdentifier = projectId,
        searchScope = "ASSET",
        searchText = text,
    )
```

Puoi utilizzare il seguente script di esempio per ottenere l'ID dell'inserzione per la risorsa:

```
def search_listings(domainId, assetName, assetId):
    listings = dzclient.search_listings(
        domainIdentifier=domainId,
        searchText=assetName,
        additionalAttributes=["FORMS"]
    )
    
    assetListing = None
    for listing in listings['items']:
        if listing['assetListing']['entityId'] == assetId: 
            assetListing = listing
    
    return listing['assetListing']['listingId']
```

Puoi utilizzare i seguenti script di esempio per creare una richiesta di abbonamento utilizzando l'ID dell'inserzione:

```
create_subscription_response = def create_subscription_request(domainId, projectId, listingId):
    return dzclient.create_subscription_request(
        subscribedPrincipals=[{
            "project": {
                "identifier": projectId
            }
        }],
        subscribedListings=[{
            "identifier": listingId
        }],
        requestReason="Give request reason here."
    )
```

Usando `create_subscription_response` quanto sopra, ottieni la ` subscription_request_id` sottoscrizione e poi accept/approve la sottoscrizione usando il seguente script di esempio: 

```
subscription_request_id = create_subscription_response["id"]

def accept_subscription_request(domainId, subscriptionRequestId): 
    return dzclient.accept_subscription_request(
        domainIdentifier=domainId,
        identifier=subscriptionRequestId
    )
```

## Cerca le risorse nel catalogo dati
<a name="search-catalog-subscribe-gs-glue-api"></a>

Puoi utilizzare i seguenti script di esempio che utilizzano la ricerca a testo libero per cercare le tue risorse di dati pubblicate (inserzioni) nel catalogo Amazon DataZone .
+ L'esempio seguente esegue una ricerca per parola chiave a testo libero nel dominio e restituisce tutte le inserzioni che corrispondono alla parola chiave fornita «credit»:

  ```
  aws datazone search-listings \
    --domain-identifier dzd_c1s7uxe71prrtz \
    --search-text "credit"
  ```
+ Puoi anche combinare più parole chiave per restringere ulteriormente l'ambito di ricerca. Ad esempio, se stai cercando tutte le risorse di dati pubblicate (inserzioni) che contengono dati relativi alle vendite in Messico, puoi formulare la tua query con due parole chiave «Messico» e «vendite». 

  ```
              aws datazone search-listings \
    --domain-identifier dzd_c1s7uxe71prrtz \
    --search-text "mexico sales"
  ```

Puoi anche cercare l'inserzione utilizzando i filtri. Il `filters` parametro nell' SearchListings API consente di recuperare i risultati filtrati dal dominio. L'API supporta più filtri predefiniti e puoi anche combinare due o più filtri ed eseguire operazioni AND/OR su di essi. La clausola filter include due parametri: attributo e valore. Gli attributi di filtro predefiniti supportati sono`typeName`, e`owningProjectId`. `glossaryTerms` 
+ L'esempio seguente esegue una ricerca di tutte le inserzioni in un determinato dominio utilizzando il `assetType` filtro in cui l'elenco è un tipo di tabella Redshift.

  ```
              aws datazone search-listings \
  --domain-identifier dzd_c1s7uxe71prrtz \
  --filters '{"or":[{"filter":{"attribute":"typeName","value":"RedshiftTableAssetType"}} ]}'
  ```
+ Puoi anche combinare più filtri utilizzando AND/OR le operazioni. Nell'esempio seguente, si combinano `typeName` e si `project` filtrano.

  ```
              aws datazone search-listings \
  --domain-identifier dzd_c1s7uxe71prrtz \
  --filters '{"or":[{"filter":{"attribute":"typeName","value":"RedshiftTableAssetType"}},  {"filter":{"attribute":"owningProjectId","value":"cwrrjch7f5kppj"}} ]}'
  ```
+ Puoi anche combinare la ricerca a testo libero con i filtri per trovare risultati esatti e ordinarli ulteriormente in base all'ora di creation/last aggiornamento dell'elenco, come mostrato nell'esempio seguente:

  ```
              aws datazone search-listings \
  --domain-identifier dzd_c1s7uxe71prrtz \
  --search-text "finance sales" \
  --filters '{"or":[{"filter":{"attribute":"typeName","value":"GlueTableViewType"}} ]}' \
  --sort '{"attribute": "UPDATED_AT", "order":"ASCENDING"}'
  ```

## Altri utili script di esempio
<a name="other-useful-scripts-api"></a>

Puoi utilizzare i seguenti script di esempio per completare varie attività mentre lavori con i tuoi dati in Amazon DataZone.

Usa il seguente script di esempio per elencare i DataZone domini Amazon esistenti:

```
def list_domains():
    datazone = boto3.client('datazone')
    response = datazone.list_domains(status='AVAILABLE')
    [print("%12s | %16s | %12s | %52s" % (item['id'], item['name'], item['managedAccountId'], item['portalUrl'])) for item in response['items']]
    return
```

Usa il seguente script di esempio per elencare i DataZone progetti Amazon esistenti:

```
def list_projects(domain_id):
    datazone = boto3.client('datazone')
    response = datazone.list_projects(domainIdentifier=domain_id)
    [print("%12s | %16s " % (item['id'], item['name'])) for item in response['items']]
    return
```

Utilizza il seguente script di esempio per elencare i moduli di DataZone metadati Amazon esistenti:

```
def list_metadata_forms(domain_id):
    datazone = boto3.client('datazone')
    response = datazone.search_types(domainIdentifier=domain_id, 
        managed=False,
        searchScope='FORM_TYPE')
    [print("%16s | %16s | %3s | %8s" % (item['formTypeItem']['name'], item['formTypeItem']['owningProjectId'],item['formTypeItem']['revision'], item['formTypeItem']['status'])) for item in response['items']]
    return
```