

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Começando com a Amazon DataZone
<a name="getting-started"></a>

As informações nesta seção ajudam você a começar a usar a Amazon DataZone. Se você é novo na Amazon DataZone, comece se familiarizando com os conceitos e a terminologia apresentados em[DataZone Terminologia e conceitos da Amazon](datazone-concepts.md).

Antes de iniciar as etapas em qualquer um desses fluxos de trabalho de início rápido, você deve concluir os procedimentos descritos na seção [Configuração](setting-up.md) deste guia. Se você estiver usando uma AWS conta totalmente nova, deverá [configurar as permissões necessárias para usar o console DataZone de gerenciamento da Amazon](create-iam-roles.md). Se você estiver usando uma AWS conta que tenha objetos existentes do AWS Glue Data Catalog, você também deve [configurar as permissões do Lake Formation para a Amazon DataZone](lake-formation-permissions-for-datazone.md). 

Esta seção de introdução mostra os seguintes fluxos de trabalho de DataZone início rápido da Amazon:

**Topics**
+ [DataZone Início rápido da Amazon com dados AWS Glue](quickstart-glue.md)
+ [Amazon DataZone quickstart com dados do Amazon Redshift](quickstart-rs.md)
+ [DataZone Início rápido da Amazon com exemplos de scripts](quickstart-apis.md)

# DataZone Início rápido da Amazon com dados AWS Glue
<a name="quickstart-glue"></a>

Conclua as etapas de início rápido a seguir para analisar os fluxos de trabalho completos do produtor e do consumidor de dados na Amazon DataZone com exemplos de dados do AWS Glue. 

**Topics**
+ [Etapa 1 - Crie o DataZone domínio e o portal de dados da Amazon](#create-domain-gs-glue)
+ [Etapa 2: criar o projeto de publicação](#create-publishing-project-gs-glue)
+ [Etapa 3: criar o ambiente](#create-environment-gs-glue)
+ [Etapa 4: produzir dados para publicação](#produce-data-for-publishing-gs-glue)
+ [Etapa 5 - Colete metadados do Glue AWS](#gather-metadata-from-glue-gs-glue)
+ [Etapa 6: organizar e publicar o ativo de dados](#curate-data-asset-gs-glue)
+ [Etapa 7: criar o projeto para análise de dados](#create-project-for-data-analysis-gs-glue)
+ [Etapa 8: criar um ambiente para análise de dados](#create-environment-gs2-glue)
+ [Etapa 9: pesquisar o catálogo de dados e assinar os dados](#search-catalog-subscribe-gs-glue)
+ [Etapa 10: aprovar solicitação de assinatura](#approve-subscription-request-gs-glue)
+ [Etapa 11: criar uma consulta e analise de dados no Amazon Athena](#analyze-data-gs-glue)

## Etapa 1 - Crie o DataZone domínio e o portal de dados da Amazon
<a name="create-domain-gs-glue"></a>

Esta seção descreve as etapas da criação de um DataZone domínio e portal de dados da Amazon para esse fluxo de trabalho.

Conclua o procedimento a seguir para criar um DataZone domínio da Amazon. Para obter mais informações sobre os DataZone domínios da Amazon, consulte[DataZone Terminologia e conceitos da Amazon](datazone-concepts.md). 

1. **Navegue até o DataZone console da Amazon em [https://console.aws.amazon.com/datazone](https://console.aws.amazon.com/datazone), faça login e escolha Criar domínio.** 
**nota**  
Se você quiser usar um DataZone domínio existente da Amazon para esse fluxo de trabalho, escolha **Exibir domínios**, escolha o domínio que deseja usar e prossiga para a Etapa 2 da criação de um projeto de publicação.

1. Na página **Criar domínio**, forneça valores para os seguintes campos: 
   + **Nome**: especifique um nome para seu domínio. Para fins desse fluxo de trabalho, você pode chamar esse domínio de **Marketing**.
   + **Descrição**: especifique uma descrição de domínio opcional.
   + **Criptografia** de dados - seus dados são criptografados por padrão com uma chave que AWS possui e gerencia para você. Para esse caso de uso, você pode deixar as configurações padrão de criptografia de dados.

     Para obter mais informações sobre chaves gerenciadas pelo cliente, consulte [Criptografia de dados em repouso para a Amazon DataZone](encryption-rest-datazone.md). Se você usa sua própria chave do KMS para criptografia de dados, deverá incluir a declaração a seguir no [AmazonDataZoneDomainExecutionRole](AmazonDataZoneDomainExecutionRole.md) padrão.

------
#### [ 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"
                 ]
             }
         ]
     }
     ```

------
   + **Acesso ao serviço**: deixe a opção **Usar um perfil padrão**, selecionada por padrão, inalterada.
**nota**  
Se você estiver usando um DataZone domínio existente da Amazon para esse fluxo de trabalho, poderá escolher a opção **Usar uma função de serviço existente** e, em seguida, escolher uma função existente no menu suspenso.
   + Em **Configuração rápida**, escolha **Configurar esta conta para consumo e publicação de dados**. Essa opção habilita os DataZone blueprints integrados da Amazon de **Data Lake** e **Data Warehouse** e configura as permissões, os recursos, um projeto padrão e os perfis padrão de ambiente de data lake e data warehouse para essa conta. Para obter mais informações sobre os DataZone projetos da Amazon, consulte[DataZone Terminologia e conceitos da Amazon](datazone-concepts.md).
   + Mantenha inalterados os campos restantes em **Detalhes de permissões**. 
**nota**  
**Se você já tiver um DataZone domínio da Amazon, poderá escolher a opção **Usar uma função de serviço existente e, em seguida, escolher uma função** existente no menu suspenso para a função **Glue Manage Access, a função Redshift Manage Access** **e a função Provisioning**.** 
   + Mantenha os campos inalterados em **Tags**.
   + Escolha **Criar domínio**.

1. Depois que o domínio for criado com sucesso, escolha esse domínio e, na página de resumo do domínio, anote o **URL do portal de dados** desse domínio. Você pode usar essa URL para acessar seu portal de DataZone dados da Amazon para concluir o restante das etapas desse fluxo de trabalho. Você também pode navegar até o portal de dados escolhendo **Abrir portal de dados**.

**nota**  
Na versão atual da Amazon DataZone, depois que o domínio é criado, a URL gerada para o portal de dados não pode ser modificada.

A criação do domínio pode levar alguns minutos para ser concluída. Aguarde até que o domínio tenha um status **Disponível** antes de prosseguir para a próxima etapa.

## Etapa 2: criar o projeto de publicação
<a name="create-publishing-project-gs-glue"></a>

Esta seção descreve as etapas necessárias para criar o projeto de publicação para esse fluxo de trabalho.

1. Depois de concluir a Etapa 1 acima e criar um domínio, você verá a mensagem **Bem-vindo à Amazon DataZone\$1** janela. Nessa janela, escolha **Criar projeto**.

1. Especifique o nome do projeto, por exemplo, para esse fluxo de trabalho **SalesDataPublishingProject**, você pode nomeá-lo, deixar os demais campos inalterados e escolher **Criar**.

## Etapa 3: criar o ambiente
<a name="create-environment-gs-glue"></a>

Esta seção descreve as etapas necessárias para criar um ambiente para esse fluxo de trabalho.

1. Depois de concluir a Etapa 2 acima e criar seu projeto, você verá a janela **Seu projeto está pronto para uso**. Nessa janela, escolha **Criar ambiente**.

1. Na página **Criar ambiente**, especifique os itens a seguir e escolha **Criar ambiente**.

1. Especifique valores para os seguintes campos:
   + **Nome**: especifique o nome do ambiente. Esta apresentação você pode chamar de `Default data lake environment`.
   + **Descrição**: especifique uma descrição para o ambiente.
   + **Perfil do ambiente** - escolha o perfil do **DataLakeProfile**ambiente. Isso permite que você use a Amazon DataZone nesse fluxo de trabalho para trabalhar com dados no Amazon S3, no AWS Glue Catalog e no Amazon Athena.
   + Para esta apresentação, mantenha os demais campos inalterados.

1. Selecione **Criar ambiente**.

## Etapa 4: produzir dados para publicação
<a name="produce-data-for-publishing-gs-glue"></a>

Esta seção descreve as etapas necessárias para produzir dados para publicação neste fluxo de trabalho.

1. Depois de concluir a etapa 3 acima, em seu projeto `SalesDataPublishingProject`, no painel direito, em **Ferramentas de analytics**, escolha **Amazon Athena**. Será aberto o editor de consultas do Athena usando as credenciais do seu projeto para autenticação. Certifique-se de que seu ambiente de publicação esteja selecionado na lista suspensa do ** DataZone ambiente da Amazon** e que o `<environment_name>%_pub_db` banco de dados esteja selecionado como no editor de consultas.

1. Para este passo a passo, você está usando o script de consulta **Create Table as Select** (CTAS) para criar uma nova tabela que você deseja publicar na Amazon. DataZone No seu editor de consultas, execute esse script CTAS para criar uma tabela `mkt_sls_table` que você possa publicar e disponibilizar para pesquisa e assinatura. 

   ```
   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
   ```

   Certifique-se de que a tabela **mkt\$1sls\$1table** tenha sido criada com sucesso na seção **Tabelas e visualizações** no lado esquerdo. Agora você tem um ativo de dados que pode ser publicado no DataZone catálogo da Amazon.

## Etapa 5 - Colete metadados do Glue AWS
<a name="gather-metadata-from-glue-gs-glue"></a>

Esta seção descreve a etapa de coleta de metadados do AWS Glue para esse fluxo de trabalho.

1. Depois de concluir a etapa 4 acima, no portal de DataZone dados da Amazon, escolha o `SalesDataPublishingProject` projeto, escolha a guia **Dados** e, em seguida, escolha **Fontes de dados** no painel esquerdo.

1. Escolha a fonte que foi criada como parte do processo de criação do ambiente. 

1. Escolha **Executar** ao lado do menu suspenso **Ação** e, em seguida, escolha o botão Atualizar. Quando a execução da fonte de dados é concluída, os ativos são adicionados ao DataZone inventário da Amazon.

## Etapa 6: organizar e publicar o ativo de dados
<a name="curate-data-asset-gs-glue"></a>

Esta seção descreve as etapas de curadoria e publicação do ativo de dados nesse fluxo de trabalho.

1. Depois de concluir a etapa 5 acima, no portal de DataZone dados da Amazon, escolha o `SalesDataPublishingProject` projeto que você criou na etapa anterior, escolha a guia **Dados**, escolha **Dados de inventário** no painel esquerdo e localize a `mkt_sls_table` tabela.

1. Abra a página de detalhes do ativo `mkt_sls_table` para ver os nomes comerciais gerados automaticamente. Escolha o ícone **Metadados gerados automaticamente** para visualizar os nomes gerados automaticamente para ativos e colunas. Você pode aceitar ou rejeitar cada nome individualmente ou escolher **Aceitar tudo** para aplicar os nomes gerados. Opcionalmente, você também pode adicionar o formulário de metadados disponível ao seu ativo e selecionar termos do glossário para classificar seus dados.

1. Escolha **Publicar ativo** para publicar o ativo `mkt_sls_table`.

## Etapa 7: criar o projeto para análise de dados
<a name="create-project-for-data-analysis-gs-glue"></a>

Esta seção descreve as etapas da criação do projeto para análise de dados. Esse é o início das etapas do consumidor de dados desse fluxo de trabalho.

1. Depois de concluir a etapa 6 acima, no portal de DataZone dados da Amazon, escolha **Criar projeto** no menu suspenso **Projeto**.

1. Na página **Criar projeto**, especifique o nome do projeto, por exemplo, para esse fluxo de trabalho, você pode nomeá-lo **MarketingDataAnalysisProject**, deixar o resto dos campos inalterados e escolher **Criar**.

## Etapa 8: criar um ambiente para análise de dados
<a name="create-environment-gs2-glue"></a>

Esta seção descreve as etapas da criação de um ambiente para análise de dados.

1. Depois de concluir a etapa 7 acima, no portal de DataZone dados da Amazon, escolha o `MarketingDataAnalysisProject` projeto, escolha a guia **Ambientes** e escolha **Criar ambiente**.

1. Na página **Criar ambiente**, especifique os itens a seguir e escolha **Criar ambiente**.
   + **Nome**: especifique o nome do ambiente. Esta apresentação você pode chamar de `Default data lake environment`.
   + **Descrição**: especifique uma descrição para o ambiente.
   + **Perfil do ambiente** - escolha o perfil do **DataLakeProfile**ambiente incorporado.
   + Para esta apresentação, mantenha os demais campos inalterados.

## Etapa 9: pesquisar o catálogo de dados e assinar os dados
<a name="search-catalog-subscribe-gs-glue"></a>

Esta seção descreve as etapas de pesquisa no catálogo de dados e assinatura de dados.

1. Depois de concluir a etapa 8 acima, no portal de DataZone dados da Amazon, escolha o DataZone ícone da Amazon e, no campo Amazon DataZone **Search**, pesquise ativos de dados usando palavras-chave (por exemplo, 'catálogo' ou 'vendas') na barra de **pesquisa** do portal de dados. 

   Se necessário, aplique filtros ou classificação e, depois de localizar o ativo de **Dados de vendas do produto**, você poderá escolhê-lo para abrir a página de detalhes do ativo.

1. Na página de detalhes do ativo **Dados de Vendas do Catálogo**, escolha **Inscrever-se**.

1. **Na caixa de diálogo **Inscrever-se**, escolha seu projeto de **MarketingDataAnalysisProject**consumidor no menu suspenso, especifique o motivo da solicitação de assinatura e escolha Inscrever-se.**

## Etapa 10: aprovar solicitação de assinatura
<a name="approve-subscription-request-gs-glue"></a>

Esta seção descreve as etapas de aprovação da solicitação de assinatura.

1. Depois de concluir a etapa 9 acima, no portal de DataZone dados da Amazon, escolha o **SalesDataPublishingProject**projeto com o qual você publicou seu ativo.

1. Escolha a guia **Dados**, depois **Dados publicados** e escolha **Solicitações recebidas**.

1. Agora você pode ver a linha da nova solicitação que precisa de aprovação. Selecione **Visualizar solicitação**. Forneça um motivo para aprovação e escolha **Aprovar**.

## Etapa 11: criar uma consulta e analise de dados no Amazon Athena
<a name="analyze-data-gs-glue"></a>

Agora que você publicou com sucesso um ativo no DataZone catálogo da Amazon e se inscreveu nele, você pode analisá-lo.

1. No portal de DataZone dados da Amazon, escolha seu projeto de **MarketingDataAnalysisProject**consumidor e, no painel direito, em **Ferramentas de análise**, escolha o link de **dados do Query** com o Amazon Athena. Será aberto o editor de consultas do Amazon Athena usando as credenciais do seu projeto para autenticação. Escolha o ambiente do **MarketingDataAnalysisProject**consumidor na lista suspensa **Amazon DataZone Environment** no editor de consultas e, em seguida, escolha o do seu projeto na lista suspensa `<environment_name>%sub_db` do banco de dados.

1. Agora você pode executar consultas na tabela inscrita. Você pode escolher a tabela em **Tabelas e Visualizações** e, em seguida, escolher **Visualizar** para que a instrução de seleção apareça na tela do editor. Execute a consulta ver os resultados. 

# Amazon DataZone quickstart com dados do Amazon Redshift
<a name="quickstart-rs"></a>

Conclua as seguintes etapas de início rápido para executar os fluxos de trabalho completos do produtor e do consumidor de dados na Amazon DataZone com exemplos de dados do Amazon Redshift. 

**Topics**
+ [Etapa 1 - Crie o DataZone domínio e o portal de dados da Amazon](#create-domain-gs-rs)
+ [Etapa 2: criar o projeto de publicação](#create-publishing-project-gs-rs)
+ [Etapa 3: criar o ambiente](#create-environment-gs-rs)
+ [Etapa 4: produzir dados para publicação](#produce-data-for-publishing-gs-rs)
+ [Etapa 5: coletar metadados do Amazon Redshift](#gather-metadata-from-glue-gs-rs)
+ [Etapa 6: organizar e publicar o ativo de dados](#curate-data-asset-gs-rs)
+ [Etapa 7: criar o projeto para análise de dados](#create-project-for-data-analysis-gs-rs)
+ [Etapa 8: criar um ambiente para análise de dados](#create-environment-gs2-rs)
+ [Etapa 9: pesquisar o catálogo de dados e assinar os dados](#search-catalog-subscribe-gs-rs)
+ [Etapa 10: aprovar solicitação de assinatura](#approve-subscription-request-gs-rs)
+ [Etapa 11: criar uma consulta e analisar os dados no Amazon Redshift](#analyze-data-gs-rs)

## Etapa 1 - Crie o DataZone domínio e o portal de dados da Amazon
<a name="create-domain-gs-rs"></a>

Conclua o procedimento a seguir para criar um DataZone domínio da Amazon. Para obter mais informações sobre os DataZone domínios da Amazon, consulte[DataZone Terminologia e conceitos da Amazon](datazone-concepts.md). 

1. **Navegue até o DataZone console da Amazon em [https://console.aws.amazon.com/datazone](https://console.aws.amazon.com/datazone), faça login e escolha Criar domínio.**
**nota**  
Se você quiser usar um DataZone domínio existente da Amazon para esse fluxo de trabalho, escolha Exibir domínios, escolha o domínio que deseja usar e prossiga para a Etapa 2 da criação de um projeto de publicação.

1. Na página **Criar domínio**, forneça valores para os seguintes campos: 
   + **Nome**: especifique um nome para seu domínio. Para fins desse fluxo de trabalho, você pode chamar esse domínio de `Marketing`.
   + **Descrição**: especifique uma descrição de domínio opcional.
   + **Criptografia** de dados - seus dados são criptografados por padrão com uma chave que AWS possui e gerencia para você. Para este passo a passo, você pode deixar as configurações padrão de criptografia de dados.

     Para obter mais informações sobre chaves gerenciadas pelo cliente, consulte [Criptografia de dados em repouso para a Amazon DataZone](encryption-rest-datazone.md). Se você usa sua própria chave do KMS para criptografia de dados, deverá incluir a declaração a seguir no [AmazonDataZoneDomainExecutionRole](AmazonDataZoneDomainExecutionRole.md) padrão.

------
#### [ 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"
                 ]
             }
         ]
     }
     ```

------
   + **Acesso ao serviço** - escolha a opção **Usar uma função de serviço personalizada** e, em seguida, escolha a no **AmazonDataZoneDomainExecutionRole**menu suspenso.
   + Em **Configuração rápida**, escolha **Configurar esta conta para consumo e publicação de dados**. Essa opção habilita os DataZone blueprints integrados do **Data Lake e do Data** **Warehouse** da Amazon e configura as permissões e os recursos necessários para concluir o restante das etapas desse fluxo de trabalho. Para obter mais informações sobre os DataZone projetos da Amazon, consulte[DataZone Terminologia e conceitos da Amazon](datazone-concepts.md).
   + Mantenha os campos restantes em **Detalhes de permissões** e **Tags** inalterados e escolha **Criar domínio**.

1. Depois que o domínio for criado com sucesso, escolha esse domínio e, na página de resumo do domínio, anote o **URL do portal de dados** desse domínio. Você pode usar essa URL para acessar seu portal de DataZone dados da Amazon para concluir o restante das etapas desse fluxo de trabalho.

**nota**  
Na versão atual da Amazon DataZone, depois que o domínio é criado, a URL gerada para o portal de dados não pode ser modificada.

A criação do domínio pode levar alguns minutos para ser concluída. Aguarde até que o domínio tenha um status **Disponível** antes de prosseguir para a próxima etapa.

## Etapa 2: criar o projeto de publicação
<a name="create-publishing-project-gs-rs"></a>

A seção a seguir descreve as etapas da criação do projeto de publicação nesse fluxo de trabalho.

1. Depois de concluir a Etapa 1, navegue até o portal de DataZone dados da Amazon usando a URL do portal de dados e faça login usando suas credenciais de login único (SSO) ou AWS IAM. 

1. Escolha **Criar projeto**, especifique o nome do projeto, por exemplo, para esse fluxo de trabalho **SalesDataPublishingProject**, você pode nomeá-lo, deixar o resto dos campos inalterados e escolher **Criar**.

## Etapa 3: criar o ambiente
<a name="create-environment-gs-rs"></a>

A seção a seguir descreve as etapas da criação de um ambiente nesse fluxo de trabalho.

1. Depois de concluir a Etapa 2, no portal de DataZone dados da Amazon, escolha o `SalesDataPublishingProject` projeto que você criou na etapa anterior, escolha a guia **Ambientes** e escolha **Criar ambiente**.

1. Na página **Criar ambiente**, especifique os itens a seguir e escolha **Criar ambiente**.
   + **Nome**: especifique o nome do ambiente. Esta apresentação você pode chamar de `Default data warehouse environment`.
   + **Descrição**: especifique uma descrição para o ambiente.
   + **Perfil do ambiente** - escolha o perfil do **DataWarehouseProfile**ambiente.
   + Forneça o nome do seu cluster do Amazon Redshift, o nome do banco de dados e o ARN secreto para o cluster do Amazon Redshift em que seus dados estão armazenados. 
**nota**  
Certifique-se de que seu segredo no AWS Secrets Manager inclua as seguintes tags (chave/valor):  
Para o cluster do Amazon Redshift - datazone.rs.cluster: <cluster\$1name:database name>  
Para o grupo de trabalho Amazon Redshift sem servidor - datazone.rs.workgroup: <workgroup\$1name:database\$1name>
AmazonDataZoneProject: <projectID> 
AmazonDataZoneDomain: <domainID>
Para obter mais informações, consulte [Armazenando credenciais do banco de dados no AWS Secrets Manager](https://docs.aws.amazon.com//redshift/latest/mgmt/data-api-access.html#data-api-secrets).  
O usuário do banco de dados que você fornece no AWS Secrets Manager deve ter permissões de superusuário.

## Etapa 4: produzir dados para publicação
<a name="produce-data-for-publishing-gs-rs"></a>

A seção a seguir descreve as etapas da produção de dados para publicação nesse fluxo de trabalho.

1. Depois de concluir a Etapa 3, no portal de DataZone dados da Amazon, escolha o `SalesDataPublishingProject` projeto e, no painel direito, em **Ferramentas de análise**, escolha **Amazon Redshift**. Isso abre o Editor de Consultas do Amazon Redshift usando as credenciais do seu projeto para autenticação.

1. Para este passo a passo, você está usando o script de consulta **Create Table as Select** (CTAS) para criar uma nova tabela que você deseja publicar na Amazon. DataZone No seu editor de consultas, execute esse script CTAS para criar uma tabela `mkt_sls_table` que você possa publicar e disponibilizar para pesquisa e assinatura. 

   ```
   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
   ```

   Certifique-se de que a tabela **mkt\$1sls\$1table** tenha sido criada com sucesso. Agora você tem um ativo de dados que pode ser publicado no DataZone catálogo da Amazon.

## Etapa 5: coletar metadados do Amazon Redshift
<a name="gather-metadata-from-glue-gs-rs"></a>

A seção a seguir descreve as etapas da coleta de metadados do Amazon Redshift.

1. Depois de concluir a Etapa 4, no portal de DataZone dados da Amazon, escolha o `SalesDataPublishingProject` projeto, escolha a guia **Dados** e, em seguida, escolha **Fontes de dados**.

1. Escolha a fonte que foi criada como parte do processo de criação do ambiente. 

1. Escolha **Executar** ao lado do menu suspenso **Ação** e, em seguida, escolha o botão Atualizar. Quando a execução da fonte de dados é concluída, os ativos são adicionados ao DataZone inventário da Amazon.

## Etapa 6: organizar e publicar o ativo de dados
<a name="curate-data-asset-gs-rs"></a>

A seção a seguir descreve as etapas da curadoria e publicação do ativo de dados nesse fluxo de trabalho.

1. Depois de concluir a etapa 5, no portal de DataZone dados da Amazon, escolha o `SalesDataPublishingProject` projeto, escolha a guia **Dados**, escolha **Dados de inventário** e localize a `mkt_sls_table` tabela.

1. Abra a página de detalhes do ativo `mkt_sls_table` para ver os nomes comerciais gerados automaticamente. Escolha o ícone **Metadados gerados automaticamente** para visualizar os nomes gerados automaticamente para ativos e colunas. Você pode aceitar ou rejeitar cada nome individualmente ou escolher **Aceitar tudo** para aplicar os nomes gerados. Opcionalmente, você também pode adicionar o formulário de metadados disponível ao seu ativo e selecionar termos do glossário para classificar seus dados.

1. Choose **Publicar** para publicar o ativo `mkt_sls_table`.

## Etapa 7: criar o projeto para análise de dados
<a name="create-project-for-data-analysis-gs-rs"></a>

A seção a seguir descreve as etapas da criação do projeto para análise de dados nesse fluxo de trabalho.

1. Depois de concluir a Etapa 6, no portal de DataZone dados da Amazon, escolha **Criar projeto**.

1. Na página **Criar projeto**, especifique o nome do projeto, por exemplo, para esse fluxo de trabalho, você pode nomeá-lo **MarketingDataAnalysisProject**, deixar o resto dos campos inalterados e escolher **Criar**.

## Etapa 8: criar um ambiente para análise de dados
<a name="create-environment-gs2-rs"></a>

A seção a seguir descreve as etapas da criação de um ambiente para análise de dados nesse fluxo de trabalho.

1. Depois de concluir a Etapa 7, no portal de DataZone dados da Amazon, escolha o `MarketingDataAnalysisProject` projeto que você criou na etapa anterior, escolha a guia **Ambientes** e escolha **Adicionar ambiente**.

1. Na página **Criar ambiente**, especifique os itens a seguir e escolha **Criar ambiente**.
   + **Nome**: especifique o nome do ambiente. Esta apresentação você pode chamar de `Default data warehouse environment`.
   + **Descrição**: especifique uma descrição para o ambiente.
   + **Perfil do ambiente** - escolha o perfil do **DataWarehouseProfile**ambiente.
   + Forneça o nome do seu cluster do Amazon Redshift, o nome do banco de dados e o ARN secreto para o cluster do Amazon Redshift em que seus dados estão armazenados. 
**nota**  
Certifique-se de que seu segredo no AWS Secrets Manager inclua as seguintes tags (chave/valor):  
Para o cluster do Amazon Redshift - datazone.rs.cluster: <cluster\$1name:database name>  
Para o grupo de trabalho Amazon Redshift sem servidor - datazone.rs.workgroup: <workgroup\$1name:database\$1name>
AmazonDataZoneProject: <projectID> 
AmazonDataZoneDomain: <domainID>
Para obter mais informações, consulte [Armazenando credenciais do banco de dados no AWS Secrets Manager](https://docs.aws.amazon.com//redshift/latest/mgmt/data-api-access.html#data-api-secrets).  
O usuário do banco de dados que você fornece no AWS Secrets Manager deve ter permissões de superusuário.
   + Para esta apresentação, mantenha os demais campos inalterados.

## Etapa 9: pesquisar o catálogo de dados e assinar os dados
<a name="search-catalog-subscribe-gs-rs"></a>

A seção a seguir descreve as etapas da pesquisa no catálogo de dados e na assinatura dos dados.

1. Depois de concluir a Etapa 8, no portal de DataZone dados da Amazon, pesquise ativos de dados usando palavras-chave (por exemplo, 'catálogo' ou 'vendas') na barra de **pesquisa** do portal de dados. 

   Se necessário, aplique filtros ou classificação e, depois de localizar o ativo de dados de vendas do produto, você poderá escolhê-lo para abrir a página de detalhes do ativo.

1. Na página de detalhes do ativo de Dados de vendas de produtos, escolha **Inscrever-se**.

1. Na caixa de diálogo, escolha seu projeto de consumidor no menu suspenso, forneça o motivo da solicitação de acesso e escolha **Inscrever-se**.

## Etapa 10: aprovar solicitação de assinatura
<a name="approve-subscription-request-gs-rs"></a>

A seção a seguir descreve as etapas para aprovar a solicitação de assinatura nesse fluxo de trabalho.

1. Depois de concluir a Etapa 9, no portal de DataZone dados da Amazon, escolha o **SalesDataPublishingProject**projeto com o qual você publicou seu ativo.

1. Escolha a guia **Dados**, depois **Dados publicados** e, em seguida, **Solicitações recebidas**.

1. Escolha o link de exibição da solicitação e, em seguida, escolha **Aprovar**. 

## Etapa 11: criar uma consulta e analisar os dados no Amazon Redshift
<a name="analyze-data-gs-rs"></a>

Agora que você publicou com sucesso um ativo no DataZone catálogo da Amazon e se inscreveu nele, você pode analisá-lo.

1. No portal de DataZone dados da Amazon, no painel direito, clique no link Amazon Redshift. Será aberto o editor de consultas do Amazon Redshift usando a credencial do projeto para autenticação.

1. Agora você pode executar uma consulta (instrução de seleção) na tabela assinada. Você pode clicar na tabela (three-vertical-dots opção) e escolher a visualização para que a instrução de seleção apareça na tela do editor. Execute a consulta para ver os resultados. 

# DataZone Início rápido da Amazon com exemplos de scripts
<a name="quickstart-apis"></a>

Você pode acessar a Amazon DataZone por meio do portal de gerenciamento ou do portal de DataZone dados da Amazon, ou programaticamente usando a API Amazon DataZone HTTPS, que permite emitir solicitações HTTPS diretamente para o serviço. Esta seção contém exemplos de scripts que invocam a Amazon e DataZone APIs que você pode usar para concluir as seguintes tarefas comuns:

**Topics**
+ [Crie um DataZone domínio e um portal de dados da Amazon](#create-domain-gs-glue-api)
+ [Criar um projeto de publicação](#create-publishing-project-gs-glue-api)
+ [Criar um perfil de ambiente](#create-environment-profile-gs-glue-api)
+ [Criar um ambiente](#create-environment-gs-glue-api)
+ [Colete metadados do AWS Glue](#gather-metadata-from-glue-gs-glue-api)
+ [Organizar e publicar um ativo de dados](#curate-data-asset-gs-glue-api)
+ [Pesquisar o catálogo de dados e assinar os dados](#search-catalog-subscribe-gs-glue-api)
+ [Pesquisar ativos no catálogo de dados](#search-catalog-subscribe-gs-glue-api)
+ [Outros scripts de amostra úteis](#other-useful-scripts-api)

## Crie um DataZone domínio e um portal de dados da Amazon
<a name="create-domain-gs-glue-api"></a>

Você pode usar o seguinte exemplo de script para criar um DataZone domínio da Amazon. Para obter mais informações sobre os DataZone domínios da Amazon, consulte[DataZone Terminologia e conceitos da 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",
    )
```

## Criar um projeto de publicação
<a name="create-publishing-project-gs-glue-api"></a>

Você pode usar o seguinte exemplo de script para criar um projeto de publicação na Amazon DataZone.

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

## Criar um perfil de ambiente
<a name="create-environment-profile-gs-glue-api"></a>

Você pode usar os seguintes exemplos de scripts para criar um perfil de ambiente na Amazon DataZone.

Este exemplo de carga útil é usado quando a API `CreateEnvironmentProfile` é invocada:

```
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"]
            }
        ]
    }
}
```

Esse exemplo de script invoca a 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
```

Este é o exemplo de carga útil de saída quando a API `CreateEnvironmentProfile` é invocada:

```
{
    "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": ""
                    }
                ] 
            }
        ]
    }
}
```

## Criar um ambiente
<a name="create-environment-gs-glue-api"></a>

Você pode usar o seguinte exemplo de script para criar um ambiente na 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
```

## Colete metadados do AWS Glue
<a name="gather-metadata-from-glue-gs-glue-api"></a>

Você pode usar esse script de amostra para coletar metadados do AWS Glue. Esse script é executado em uma programação padrão. Você pode recuperar os parâmetros do script de amostra e torná-los globais. Obtenha o ID do projeto, do ambiente e do domínio usando perfis padrão. A fonte de dados do AWS Glue é criada e executada em um horário padrão, que pode ser atualizado na seção cron do 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"
    }
}
```

## Organizar e publicar um ativo de dados
<a name="curate-data-asset-gs-glue-api"></a>

Você pode usar os seguintes exemplos de scripts para organizar e publicar ativos de dados na Amazon DataZone.

Você pode usar o seguinte script para criar tipos de formulários personalizados:

```
 
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"
    )
```

Você pode usar o seguinte script de amostra para criar tipos de ativos personalizados:

```
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,
    )
```

Você pode usar o seguinte script de amostra para criar ativos personalizados:

```
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\"}"
            }
        ]
    )
```

Você pode usar o seguinte script de amostra para criar um glossário:

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

Você pode usar o seguinte script de amostra para criar um termo do glossário:

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

Você pode usar o seguinte script de amostra para criar um ativo usando um tipo de ativo definido pelo 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\"}"
            }
        ]
    )
```

Você pode usar o seguinte script de amostra para criar uma revisão do ativo e anexar um termo do glossário:

```
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:>"]
    )
```

Você pode usar seguinte script de amostra para publicar um ativo:

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

## Pesquisar o catálogo de dados e assinar os dados
<a name="search-catalog-subscribe-gs-glue-api"></a>

Você pode usar os seguintes scripts de amostra para pesquisar o catálogo de dados e assinar os dados:

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

Você pode usar o seguinte script de amostra para obter o ID do anúncio do ativo:

```
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']
```

Você pode usar os seguintes scripts de amostra para criar uma solicitação de assinatura usando o ID do anúncio:

```
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 o exemplo `create_subscription_response` acima, obtenha o e` subscription_request_id`, em seguida, accept/approve a assinatura usando o seguinte exemplo de script: 

```
subscription_request_id = create_subscription_response["id"]

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

## Pesquisar ativos no catálogo de dados
<a name="search-catalog-subscribe-gs-glue-api"></a>

Você pode usar os seguintes exemplos de scripts que utilizam a pesquisa de texto livre para pesquisar seus ativos de dados publicados (listagens) no DataZone catálogo da Amazon.
+ O exemplo a seguir faz uma pesquisa por palavra-chave de texto livre no domínio e retorna todas as listagens que correspondem à palavra-chave fornecida 'crédito':

  ```
  aws datazone search-listings \
    --domain-identifier dzd_c1s7uxe71prrtz \
    --search-text "credit"
  ```
+ Você também pode combinar várias palavras-chave para restringir ainda mais o escopo da pesquisa. Por exemplo, se você estiver procurando por todos os ativos de dados publicados (listagens) que tenham dados relacionados a vendas no México, você pode formular sua consulta com duas palavras-chave “México” e “vendas’. 

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

Você também pode pesquisar por anúncios usando filtros. O `filters` parâmetro na SearchListings API permite que você recupere resultados filtrados do domínio. A API oferece suporte a vários filtros padrão e você também pode combinar dois ou mais filtros e realizar a operação E/OU neles. A cláusula de filtro usa dois parâmetros: atributo e valor. Os atributos de filtro padrão compatíveis são `typeName`, `owningProjectId` e `glossaryTerms`. 
+ O exemplo a seguir realiza uma pesquisa em todas as listagens em um determinado domínio usando o filtro `assetType` no qual a listagem é um tipo de tabela do Redshift.

  ```
              aws datazone search-listings \
  --domain-identifier dzd_c1s7uxe71prrtz \
  --filters '{"or":[{"filter":{"attribute":"typeName","value":"RedshiftTableAssetType"}} ]}'
  ```
+ Você também pode combinar vários filtros usando AND/OR operações. No exemplo a seguir, você combina os filtros `typeName` e `project`.

  ```
              aws datazone search-listings \
  --domain-identifier dzd_c1s7uxe71prrtz \
  --filters '{"or":[{"filter":{"attribute":"typeName","value":"RedshiftTableAssetType"}},  {"filter":{"attribute":"owningProjectId","value":"cwrrjch7f5kppj"}} ]}'
  ```
+ Você pode até mesmo combinar a pesquisa de texto livre com filtros para encontrar resultados exatos e classificá-los ainda mais pela hora creation/last atualizada da listagem, conforme mostrado no exemplo a seguir:

  ```
              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"}'
  ```

## Outros scripts de amostra úteis
<a name="other-useful-scripts-api"></a>

Você pode usar os seguintes exemplos de scripts para concluir várias tarefas enquanto trabalha com seus dados na Amazon DataZone.

Use o seguinte exemplo de script para listar os DataZone domínios existentes da Amazon:

```
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
```

Use o seguinte exemplo de script para listar DataZone projetos existentes da Amazon:

```
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
```

Use o seguinte exemplo de script para listar os formulários de DataZone metadados existentes da Amazon:

```
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
```