Criar produtos de dados

Este documento é destinado a proprietários de produtos de dados que querem criar e configurar produtos de dados no Knowledge Catalog (antigo Dataplex Universal Catalog).

Para mais informações sobre a arquitetura e os conceitos principais dos produtos de dados, consulte Sobre produtos de dados.

Antes de começar

Antes de criar produtos de dados, atenda aos seguintes pré-requisitos.

Ativar o Gemini

Configurar o Gemini no seu recurso de dados é uma etapa opcional, mas altamente recomendada, antes de criar seu primeiro produto de dados.

Por padrão, a criação de um produto de dados exige que você insira manualmente descrições comerciais, definições técnicas e documentação de integração para seus recursos. Quando você ativa a integração do Gemini, o Knowledge Catalog usa a assistência de IA para analisar automaticamente seus esquemas e resultados da verificação de dados e gerar o seguinte:

  • Documentação comercial:gera modelos de documentação e descrições claras para seu produto de dados e os recursos de dados individuais.
  • Insights e consultas de amostra:cria consultas de amostra prontas para uso com base no layout do esquema do recurso, permitindo que os consumidores de dados comecem a consultar o produto imediatamente após a aprovação.

Se você não quiser ativar o Gemini, pule esta seção. No entanto, você precisa fornecer manualmente todos os metadados do recurso e modelos de consulta durante a criação.

Para mais informações sobre como ativar o Gemini no BigQuery, consulte Configurar o Gemini no BigQuery.

Ativar APIs

Ative as APIs Dataplex e BigQuery.

Funções necessárias para ativar APIs

Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

Ativar as APIs

Criar recursos de dados

Verifique se os recursos de dados (por exemplo, conjuntos de dados, tabelas e visualizações do BigQuery) foram criados e preenchidos.

Para mais informações sobre como criar recursos de dados, consulte os documentos a seguir:

Configurar identidades

Identifique ou crie os Grupos do Google ou as contas de serviço que você quer configurar no seu produto de dados.

Funções exigidas

Esta seção descreve os papéis mínimos do IAM necessários para as seguintes seções principais:

  • Proprietários de produtos de dados: usuários que criam, configuram e gerenciam produtos de dados e os recursos associados a eles.

  • Consumidores de produtos de dados: usuários que pesquisam, visualizam e solicitam acesso a produtos de dados publicados

Funções necessárias para proprietários de produtos de dados

Para ter as permissões necessárias para criar e gerenciar produtos de dados, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para criar e gerenciar produtos de dados. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para criar e gerenciar produtos de dados:

  • Crie um produto de dados: dataplex.dataProducts.create
  • Listar produtos de dados em um projeto: dataplex.dataProducts.list
  • Receber ou ver um produto de dados: dataplex.dataProducts.get
  • Para editar um produto de dados: dataplex.dataProducts.update
  • Excluir produto de dados: dataplex.dataProducts.delete
  • Aprovar solicitação de acesso ao produto de dados: dataplex.dataProducts.approve
  • Pesquise um produto de dados usando o Knowledge Catalog:
    • dataplex.dataProducts.get
    • dataplex.projects.search
  • Crie uma solicitação de acesso ao produto de dados: dataplex.dataProducts.get
  • Crie um recurso de dados: dataplex.dataAssets.create
  • Listar recursos de dados em um produto de dados: dataplex.dataAssets.list
  • Acessar recurso de dados: dataplex.dataAssets.get
  • Edite um recurso de dados: dataplex.dataAssets.update
  • Excluir recurso de dados: dataplex.dataAssets.delete
  • Crie uma verificação de dados: dataplex.datascans.create
  • Listar todas as verificações de dados: dataplex.datascans.list
  • Receber uma verificação de dados: dataplex.datascans.get
  • Execute uma verificação de dados: dataplex.datascans.run
  • Edite o tipo de aspecto do sistema overview: dataplex.entryGroups.useOverviewAspect
  • Edite o tipo de aspecto do sistema refresh cadence: dataplex.entryGroups.useRefreshCadenceAspect
  • Edite o tipo de aspecto do sistema queries: dataplex.entryGroups.useQueriesAspect

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Papéis necessários para consumidores de produtos de dados

Para que os consumidores de produtos de dados possam pesquisar, visualizar e solicitar acesso a produtos de dados, como proprietário de um produto de dados, você precisa garantir que ele seja detectável. Para fazer isso, conceda aos consumidores do produto de dados os seguintes papéis do IAM no produto de dados:

  • Pesquisar produtos de dados e solicitar acesso a eles: Consumidor de produtos de dados do Dataplex (dataplex.dataProductsConsumer) e Leitor do catálogo do Dataplex (roles/dataplex.catalogViewer)
  • Acesso somente leitura para visualizar definições e metadados de produtos de dados: Leitor de produtos de dados do Dataplex (dataplex.dataProductsViewer)

Criar e configurar um produto de dados

A criação de um produto de dados envolve as seguintes tarefas de alto nível:

  1. Criar um produto de dados

    Essa etapa inicial obrigatória exige a definição de detalhes principais, como um nome e uma descrição exclusivos do produto de dados, a região em que ele é criado e os detalhes de contato.

  2. Opcional: adicione recursos

    Nesta fase, você seleciona os recursos a serem incluídos no produto de dados. Uma restrição importante é que os recursos precisam estar na mesma região que o próprio produto de dados. É possível adicionar até 10 recursos por vez, com um máximo total de 50 recursos permitidos por produto de dados.

    Para conferir a lista de recursos compatíveis, consulte Recursos compatíveis.

  3. Opcional: configurar grupos de acesso e permissões de recursos

    Nesta fase opcional, você simplifica o controle de acesso criando grupos de acesso. Esses grupos de acesso funcionam como aliases fáceis de usar (por exemplo, Analyst ou Reader) para os Grupos do Google e contas de serviço subjacentes. Em seguida, atribua permissões selecionando um papel específico do IAM e mapeando-o para um grupo de acesso de um recurso específico.

  4. Opcional: adicione detalhes do contrato e do aspecto

    Nesta fase, você melhora a governança e a capacidade de descoberta de dados anexando estruturas de metadados. Você pode adicionar um contrato para comunicar formalmente a cadência de atualização dos dados, especificando parâmetros como frequência, tempo e limites de variância. Também é possível anexar aspectos personalizados para fornecer mais metadados comerciais ou técnicos ao produto de dados.

  5. Opcional: adicione mais detalhes

    Nesta fase final, você adiciona documentação de rich text, como guias de integração de usuários, definições comerciais e exemplos de consultas, para ajudar os consumidores a interagir com o produto de dados imediatamente após a aprovação.

Para criar e configurar um produto de dados, siga as etapas nas seções abaixo:

Criar um produto de dados

Console

  1. No console Google Cloud , acesse a página Produtos de dados do Knowledge Catalog.

    Acessar Produtos de dados

  2. Clique em Criar.

  3. No painel Criar produtos de dados, insira os seguintes detalhes:

    • Nome do produto de dados: insira um nome exclusivo para seu produto de dados.
    • ID do produto de dados: é um identificador exclusivo gerado automaticamente. É possível editar esse campo.
    • ID do projeto: um identificador exclusivo do projeto em que o produto de dados é criado. Procure e selecione o projeto.
    • Região: selecione a região ou multirregião em que o produto de dados foi criado.
    • Ícone do produto de dados: navegue e selecione um ícone para identificar visualmente o produto de dados. Isso é opcional.
    • Descrição: insira uma breve descrição do produto de dados.
    • Contatos: informe os dados de contato para governança e fluxos de trabalho de aprovação:

      • Endereço de e-mail do(s) proprietário(s) do produto de dados: insira o endereço de e-mail dos proprietários do produto de dados.
      • Endereço de e-mail do(s) aprovador(es) do produto de dados:insira o endereço de e-mail dos aprovadores designados responsáveis por assinar solicitações ou modificações de acesso.
    • Rótulos: adicione rótulos de chave-valor para organizar seus recursos. Isso é opcional.

  4. Clique em Criar produto de dados.

REST

Para criar um produto de dados, use o método dataProducts.create.

Por exemplo, envie a seguinte solicitação POST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"display_name": "DISPLAY_NAME", "owner_emails": ["EMAIL_IDs"], "access_approval_config": { "approver_emails": ["APPROVER_EMAIL_IDs"]} }' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts?data_product_id=DATA_PRODUCT_ID

Substitua:

  • DISPLAY_NAME: um nome fácil de usar para seu produto de dados
  • EMAIL_IDs: endereços de e-mail separados por vírgulas dos proprietários de produtos de dados
  • APPROVER_EMAIL_IDs: endereços de e-mail separados por vírgulas dos aprovadores designados responsáveis por assinar solicitações ou modificações de acesso.
  • PROJECT_ID: o ID do seu projeto Google Cloud
  • LOCATION: a região em que você quer criar o produto de dados
  • DATA_PRODUCT_ID: um ID exclusivo para seu produto de dados

Terraform

Para criar um produto de dados, use o recurso google_dataplex_data_product.

resource "google_dataplex_data_product" "example_product" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
display_name    = "DISPLAY_NAME"
description     = "DESCRIPTION"
owner_emails    = ["EMAIL_IDs"]

provider = google-beta
}

Substitua:

  • PROJECT_ID: ID do projeto Google Cloud
  • LOCATION: a região em que você quer criar o produto de dados
  • DATA_PRODUCT_ID: um ID exclusivo para seu produto de dados
  • DISPLAY_NAME: um nome fácil de usar para seu produto de dados
  • DESCRIPTION: uma breve descrição do produto de dados
  • EMAIL_IDs: endereços de e-mail separados por vírgulas dos proprietários do produto de dados, por exemplo, ["user1@example.com", "user2@example.com"]

Opcional: adicione recursos

É possível adicionar vários recursos de dados, como tabelas, visualizações, conjuntos de dados e modelos do BigQuery, ao seu produto de dados. Para conferir a lista de recursos compatíveis, consulte Recursos compatíveis.

Console

  1. No painel Adicionar recursos, clique em +Adicionar.

  2. Pesquise e selecione os recursos que você quer adicionar ao produto de dados. Os recursos selecionados precisam estar na mesma região do produto de dados.

    Se você tiver as permissões necessárias, clique no recurso para ver os metadados dele.

  3. Para refinar os resultados da pesquisa, use Filtros.

  4. Depois de selecionar os recursos, clique em Adicionar.

  5. Clique em Continuar.

REST

Para adicionar um recurso de dados ao seu produto de dados, use o método dataAssets.create.

Por exemplo, envie a seguinte solicitação POST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"resource": "RESOURCE_NAME"}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets?data_asset_id=DATA_ASSET_ID

Substitua:

  • RESOURCE_NAME: o nome completo do recurso do recurso de dados (por exemplo, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID).
  • PROJECT_ID: ID do projeto Google Cloud
  • LOCATION: a região em que o produto de dados existe
  • DATA_PRODUCT_ID: o ID do produto de dados
  • DATA_ASSET_ID: um ID exclusivo para esse recurso de dados no produto de dados.

Terraform

Para adicionar um recurso de dados ao produto de dados, use o recurso google_dataplex_data_product_data_asset.

resource "google_dataplex_data_product_data_asset" "example_asset" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id   = "DATA_ASSET_ID"
resource        = "RESOURCE_NAME"

provider = google-beta
}

Substitua:

  • PROJECT_ID: ID do projeto Google Cloud
  • LOCATION: a região em que o produto de dados existe
  • DATA_PRODUCT_ID: o ID do produto de dados
  • DATA_ASSET_ID: um ID exclusivo para esse recurso de dados no produto de dados.
  • RESOURCE_NAME: o nome completo do recurso do recurso de dados (por exemplo, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID).

Opcional: configurar grupos de acesso e permissões de recursos

No painel Configurar grupos de acesso e permissões de recursos, é possível criar grupos de acesso e atribuir permissões aos recursos.

Configurar grupos de acesso

Console

  1. Clique em Adicionar grupo de acesso.

  2. No campo Nome do grupo de acesso, digite um nome para o grupo. Por exemplo, Analyst.

  3. No campo Descrição do grupo de acesso, insira uma descrição para o grupo de acesso.

  4. No campo Identificador do grupo de acesso, insira o endereço de e-mail de um grupo do Google que você quer atribuir a esse grupo de acesso.

    Os consumidores de produtos de dados que solicitarem acesso para si mesmos serão adicionados como membros ao Grupo do Google mapeado.

    Para mais informações sobre como criar Grupos do Google, consulte Criar e gerenciar Grupos do Google no Google Cloud console.

  5. No campo Conta de serviço do grupo de acesso, insira o endereço de e-mail de uma conta de serviço que você quer atribuir a esse grupo de acesso.

    Os consumidores de produtos de dados que solicitam acesso para as contas de serviço recebem o papel do IAM de criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator) para representar a conta de serviço do produtor de dados mapeada para o grupo de acesso.

    Para mais informações sobre como criar contas de serviço, consulte Criar contas de serviço.

  6. Clique em Concluído.

  7. Para adicionar outro grupo de acesso, clique em Adicionar grupo de acesso e repita as etapas.

    É possível adicionar até três grupos de acesso por produto de dados.

  8. Clique em Salvar.

REST

Para configurar um grupo de acesso ao produto de dados, use o método dataProducts.patch.

Por exemplo, envie a seguinte solicitação PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_groups": ACCESS_GROUPS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID?update_mask="access_groups"

Substitua:

  • ACCESS_GROUPS_MAP: um objeto JSON que representa um mapa em que cada chave é um ID de grupo de acesso e o valor é um objeto AccessGroup. Exemplo:

    {
    "analyst": {
      "id": "analyst",
      "display_name": "Analyst access group",
      "description": "Access group for analysts",
      "principal":
        {
          "google_group": "analyst-team@example.com",
          "service_account": "analyst-svc@gserviceaccount.com"
        }
    }
    
  • PROJECT_ID: o ID do seu projeto Google Cloud

  • LOCATION: a região em que o produto de dados existe

  • DATA_PRODUCT_ID: o ID do seu produto de dados

Terraform

Para definir grupos de acesso ao produto de dados, use o bloco aninhado access_groups no recurso google_dataplex_data_product.

Por exemplo, use a seguinte configuração:

resource "google_dataplex_data_product" "example_data_product" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
display_name    = "DISPLAY_NAME"
owner_emails    = ["EMAIL_IDs"]

access_groups {
  id           = "analyst" # Internal identifier for configuration
  group_id     = "analyst" # Unique identifier of the access group, should be same as the 'id'
  display_name = "Business Analyst"
  description  = "Access group for regional analysts"
  principal {
    google_group = "analyst-team@example.com"
  }

provider = google-beta
}

Substitua:

  • PROJECT_ID: ID do projeto Google Cloud
  • LOCATION: a região em que o produto de dados está localizado
  • DATA_PRODUCT_ID: um ID exclusivo para o produto de dados.
  • DISPLAY_NAME: um nome fácil de usar para seu produto de dados
  • EMAIL_IDs: endereços de e-mail separados por vírgulas dos proprietários do produto de dados, por exemplo, ["user1@example.com", "user2@example.com"]

Configurar permissões de recursos

Depois de configurar os grupos de acesso, você pode configurar as permissões para os recursos no produto de dados.

Console

  1. Na seção Permissões de recursos, selecione o recurso para o qual você quer configurar permissões. É possível selecionar e configurar permissões para até 10 recursos por vez.

  2. Clique em Configurar permissões.

  3. No campo Selecionar grupo de acesso, escolha um grupo.

  4. No campo Atribuir papel do IAM, selecione um papel do IAM que você quer atribuir ao grupo de acesso.

    Por exemplo, se o recurso for uma tabela do BigQuery chamada Sales, e se você tiver selecionado o grupo de acesso Analyst e atribuído a função BigQuery Metadata Viewer a esse grupo, os consumidores de produtos de dados que fazem parte do grupo de acesso Analyst terão permissão BigQuery Metadata Viewer na tabela Sales.

    É possível adicionar várias funções a um recurso.

  5. Clique em Configurar. O recurso agora mostra as permissões atribuídas.

  6. Para configurar permissões para outros recursos, repita as etapas.

  7. Clique em Continuar.

REST

Para configurar permissões para os recursos no produto de dados, use o método dataAssets.patch.

Por exemplo, envie a seguinte solicitação PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"access_group_configs": ACCESS_GROUP_CONFIGS_MAP}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets/DATA_ASSET_ID?update_mask="access_group_configs"

Substitua:

  • ACCESS_GROUP_CONFIGS_MAP: um objeto JSON que representa um mapa em que cada chave é um ID de grupo de acesso e o valor é um objeto AccessGroupConfig. Exemplo:

    {
    "analyst": {
      iam_roles: ["roles/bigquery.dataViewer"]
      }
    }
    
  • PROJECT_ID: o ID do seu projeto Google Cloud

  • LOCATION: a região em que o produto de dados existe

  • DATA_PRODUCT_ID: o ID do seu produto de dados

  • DATA_ASSET_ID: o ID do recurso para o qual você quer configurar permissões

Terraform

Atribua papéis do IAM aos seus grupos de acesso para recursos específicos usando o bloco access_group_configs no recurso google_dataplex_data_product_data_asset.

Por exemplo, use a seguinte configuração:

resource "google_dataplex_data_product_data_asset" "example_data_asset" {
project         = "PROJECT_ID"
location        = "LOCATION"
data_product_id = "DATA_PRODUCT_ID"
data_asset_id   = "DATA_ASSET_ID"
resource        = "RESOURCE_NAME"

access_group_configs {
  access_group = "analyst" # Must match the 'id' defined in google_dataplex_data_product
  iam_roles    = ["roles/bigquery.dataViewer"]
}

provider = google-beta
}

Substitua:

  • PROJECT_ID: ID do projeto Google Cloud
  • LOCATION: a região em que o produto de dados existe
  • DATA_PRODUCT_ID: o ID do produto de dados
  • DATA_ASSET_ID: um ID exclusivo para esse recurso de dados no produto de dados.
  • RESOURCE_NAME: o nome completo do recurso do recurso de dados (por exemplo, //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID).

Opcional: adicione detalhes do contrato e do aspecto

É possível adicionar contratos e aspectos a um produto de dados.

Adicionar um contrato

Para estabelecer uma base de confiança entre produtores e consumidores de dados, você pode anexar um contrato ao seu produto de dados. Ao especificar parâmetros como tempo de atualização e limites, você fornece aos consumidores o contexto necessário para entender quando os dados são atualizados e se atendem aos requisitos comerciais específicos.

Console

  1. No painel Adicionar detalhes do contrato e do aspecto, clique em Adicionar contrato.

  2. No campo Selecionar contrato, escolha Refresh cadence.

  3. No campo Frequência, selecione uma programação acordada para a frequência com que os dados são atualizados ou entregues, garantindo um fluxo previsível do produtor ao consumidor de dados. Por exemplo, Weekly.

  4. No campo Tempo de atualização, digite um tempo máximo aceitável entre a atualização dos dados na origem e a disponibilidade para o consumidor. Por exemplo, 23:00 PST.

  5. No campo Limite (em minutos), insira um limite mensurável em minutos para o atraso aceitável na entrega de dados. Por exemplo, insira 30 para definir um limite de 30 minutos.

  6. Opcional: no campo Programação do cron, insira uma expressão cron que defina a programação para geração e entrega de dados no formato: MINUTE HOUR DAY_OF_MONTH MONTH DAY_OF_WEEK

    Confira a seguir os valores aceitos:

    • MINUTE: 0-59
    • HOUR: 0-23
    • DAY_OF_MONTH: 1-31
    • MONTH: 1-31 ou JAN-DEC.
    • DAY_OF_WEEK: 0-6 ou SUN-SAT.

    Por exemplo, 0 8 * * 1-5 é executado às 8h nos dias úteis (de segunda a sexta-feira).

  7. Clique em Salvar.

REST

Os contratos são modelados como aspectos no produto de dados. Para adicionar um contrato Refresh Cadence a um produto de dados, use o método entries.patch.

Por exemplo, envie a seguinte solicitação PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "dataplex-types.global.refresh-cadence": {
      "aspectType": "projects/dataplex-types/locations/global/aspectTypes/refresh-cadence",
      "data": {
        "frequency": "REFRESH_FREQUENCY"
      }
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

Substitua:

  • REFRESH_FREQUENCY: o cronograma acordado de atualização ou entrega de dados, garantindo um fluxo previsível do produtor para o consumidor de dados. Por exemplo: Weekly
  • PROJECT_ID: o ID do seu Google Cloud projeto em que a chamada de API está sendo feita
  • LOCATION: a região do endpoint do serviço do Knowledge Catalog que você está chamando (por exemplo, us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: o número do projeto em que o recurso do produto de dados está localizado
  • DATA_PRODUCT_LOCATION: o local do recurso de produto de dados
  • DATA_PRODUCT_ID: o ID do seu produto de dados

Terraform

Os contratos são modelados como aspectos no produto de dados. Para gerenciar um contrato, é preciso gerenciar a entrada do Knowledge Catalog subjacente. Como o Terraform não descobre automaticamente os aspectos atuais, primeiro você precisa importar o google_dataplex_entry.

Para importar a entrada, use o seguinte comando:

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Configuração do Terraform:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "655216118709.global.refresh-cadence"
  aspect {
    data = jsonencode({
      frequency = "REFRESH_FREQUENCY"
    })
  }
}

provider = google-beta
}

Substitua:

  • DATA_PRODUCT_PROJECT_NUMBER: o número do projeto em que o recurso do produto de dados está localizado
  • LOCATION: a região do endpoint do serviço do Knowledge Catalog que você está chamando (por exemplo, us-central1)
  • DATA_PRODUCT_ID: o ID do seu produto de dados
  • REFRESH_FREQUENCY: o cronograma acordado para a frequência de atualização ou entrega dos dados, garantindo um fluxo previsível do produtor para o consumidor de dados. Por exemplo: Weekly

Para informações gerais sobre o processo de importação, consulte a documentação de importação do Terraform.

Adicionar aspectos

Use aspectos para enriquecer seu produto de dados com metadados estruturados e reutilizáveis. Esses modelos oferecem uma maneira padronizada para os produtores de dados comunicarem a qualidade e a adequação de um produto de dados, melhorando a governança e ajudando os consumidores a determinar se o produto atende às necessidades comerciais deles.

Para adicionar aspectos ao produto de dados, siga estas etapas:

Console

  1. No painel Adicionar detalhes do contrato e do aspecto, clique em + Adicionar aspecto.

  2. No campo Selecionar tipo de aspecto, pesquise e selecione um tipo de aspecto na lista. Por exemplo, Geo context.

  3. Clique em Salvar.

REST

Para adicionar aspectos a um produto de dados, use o método entries.patch.

Por exemplo, envie a seguinte solicitação PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "ASPECT_PROJECT_ID.ASPECT_LOCATION.ASPECT_NAME": {
      "aspectType": "projects/ASPECT_PROJECT_ID/locations/ASPECT_LOCATION/aspectTypes/ASPECT_NAME",
      "data": {}
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

Substitua:

  • ASPECT_PROJECT_ID: o ID do seu projeto Google Cloud em que o aspecto é criado
  • ASPECT_LOCATION: a região do endpoint de serviço do Knowledge Catalog em que o aspecto é criado (por exemplo, us-central1)
  • ASPECT_NAME: o nome do aspecto que você quer anexar ao produto de dados
  • PROJECT_ID: o ID do seu Google Cloud projeto em que a chamada de API está sendo feita
  • LOCATION: a região do endpoint do serviço do Knowledge Catalog que você está chamando (por exemplo, us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: o número do projeto em que o recurso do produto de dados está localizado
  • DATA_PRODUCT_LOCATION: o local do recurso de produto de dados
  • DATA_PRODUCT_ID: o ID do seu produto de dados

Terraform

Para gerenciar aspectos, você precisa gerenciar a entrada do Knowledge Catalog. Como o Terraform não descobre automaticamente os aspectos atuais, primeiro importe o google_dataplex_entry.

Para importar a entrada, use o seguinte comando:

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Configuração do Terraform:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "ASPECT_PROJECT_NUMBER.ASPECT_LOCATION.ASPECT_NAME"
  aspect {
    data = {}
  }
}

provider = google-beta
}

Substitua:

  • DATA_PRODUCT_PROJECT_NUMBER: o número do projeto em que o recurso do produto de dados está localizado
  • LOCATION: a região do endpoint do serviço do Knowledge Catalog que você está chamando (por exemplo, us-central1)
  • DATA_PRODUCT_ID: o ID do seu produto de dados
  • ASPECT_PROJECT_NUMBER: o número do projeto Google Cloud em que o aspecto é criado
  • ASPECT_LOCATION: a região do endpoint de serviço do Knowledge Catalog em que o aspecto é criado (por exemplo, us-central1)
  • ASPECT_NAME: o nome do aspecto que você quer anexar ao produto de dados

Para informações gerais sobre o processo de importação, consulte a documentação de importação do Terraform.

Opcional: adicione mais detalhes

Você pode adicionar documentação e consultas de amostra ao seu produto de dados para fornecer contexto essencial, descrições de lógica de negócios e guias do usuário. No Knowledge Catalog, a documentação é gerenciada pelo aspecto do sistema overview.

É possível criar essa documentação manualmente ou usar os insights de dados do Knowledge Catalog para gerá-la automaticamente.

Adicionar manualmente documentação e exemplos de consultas

Console

Para adicionar documentação ao seu produto de dados, siga estas etapas:

  1. No painel Adicionar mais detalhes, clique em Editar ao lado de Documentação.

  2. Digite o conteúdo no editor de rich text.

  3. Clique em Salvar.

Para adicionar consultas de amostra ao seu produto de dados, siga estas etapas:

  1. No painel Adicionar mais detalhes, clique em Adicionar consultas na seção Recomendação de consulta.

  2. Digite as consultas de exemplo.

  3. Clique em Salvar.

O produto de dados recém-criado aparece na página Produtos de dados do Knowledge Catalog.

REST

A documentação é modelada como aspectos no produto de dados. Para adicionar documentação, use o método entries.patch.

Por exemplo, envie a seguinte solicitação PATCH:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
  "aspects": {
    "dataplex-types.global.overview": {
      "aspectType": "projects/dataplex-types/locations/global/aspectTypes/overview",
      "data": {
        "content": "DOCUMENTATION"
      }
    }
  }
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"

Substitua:

  • PROJECT_ID: o ID do seu Google Cloud projeto em que a chamada de API está sendo feita
  • LOCATION: a região do endpoint do serviço do Knowledge Catalog que você está chamando (por exemplo, us-central1)
  • DATA_PRODUCT_PROJECT_NUMBER: o número do projeto em que o recurso do produto de dados está localizado
  • DATA_PRODUCT_LOCATION: o local do recurso de produto de dados
  • DATA_PRODUCT_ID: o ID do seu produto de dados
  • DOCUMENTATION: o conteúdo que você quer anexar ao produto de dados.

Terraform

A documentação é modelada como aspectos no produto de dados. Para gerenciar a documentação, é preciso gerenciar a entrada do Knowledge Catalog. Como o Terraform não descobre automaticamente os aspectos atuais, primeiro você precisa importar o google_dataplex_entry.

Para importar a entrada, use o seguinte comando:

terraform import google_dataplex_entry.data_product_metadata "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"

Configuração do Terraform:

resource "google_dataplex_entry" "data_product_metadata" {
project        = "DATA_PRODUCT_PROJECT_NUMBER"
location       = "LOCATION"
entry_group_id = "@dataplex"
entry_id       = "projects/DATA_PRODUCT_PROJECT_NUMBER/locations/LOCATION/dataProducts/DATA_PRODUCT_ID"
entry_type     = "projects/655216118709/locations/global/entryTypes/data-product"

aspects {
  aspect_key = "655216118709.global.overview"
  aspect {
    data = jsonencode({
      content = "DOCUMENTATION"
    })
  }
}

provider = google-beta
}

Substitua:

  • DATA_PRODUCT_PROJECT_NUMBER: o número do projeto em que o recurso do produto de dados está localizado
  • LOCATION: a região do endpoint do serviço do Knowledge Catalog que você está chamando (por exemplo, us-central1)
  • DATA_PRODUCT_ID: o ID do seu produto de dados
  • DOCUMENTATION: o conteúdo que você quer anexar ao produto de dados.

Para informações gerais sobre o processo de importação, consulte a documentação de importação do Terraform.

Gerar documentação automatizada e consultas de exemplo usando insights de dados

Antes de gerar documentação e consultas de exemplo usando o Gemini, conclua os seguintes pré-requisitos:

  1. Ative a API Gemini para Google Cloud no projeto em que você cria o produto de dados.

  2. Conceda papéis de usuário específicos para insights: peça ao administrador para conceder à sua identidade os seguintes papéis e permissões no projeto do produto de dados:

    • Gerar e gerenciar insights de dados: editor do DataScan Dataplex (roles/dataplex.dataScanEditor) ou administrador do DataScan Dataplex (roles/dataplex.dataScanAdmin) no projeto em que o produto de dados reside
    • Ver insights gerados: Leitor de dados do DataScan Dataplex (roles/dataplex.dataScanDataViewer) no projeto em que o produto de dados está localizado
  3. Configure permissões do agente de serviço entre projetos. Se os recursos de dados subjacentes estiverem em um Google Cloud projeto diferente do projeto do produto de dados, conceda ao agente de serviço do Knowledge Catalog (P4SA) acesso a esses recursos:

    1. Para gerar ou recuperar o identificador do agente de serviço do projeto do produto de dados, execute o seguinte comando da Google Cloud CLI:

      gcloud beta services identity create --service=dataplex.googleapis.com --project=DATA_PRODUCT_PROJECT_ID
      

      Substitua DATA_PRODUCT_PROJECT_ID pelo ID do projetoGoogle Cloud em que o produto de dados está localizado.

    2. Em cada projeto externo onde seus recursos residem, conceda ao agente de serviço do projeto de produto de dados os seguintes papéis:

      • Editor de dados do BigQuery (roles/bigquery.dataEditor) nas tabelas e conjuntos de dados subjacentes

      • Administrador do BigQuery Studio (roles/bigquery.studioAdmin) no projeto do recurso

Para gerar documentação e consultas de amostra para seu produto de dados usando insights de dados, siga estas etapas:

Console

  1. No painel Adicionar mais detalhes, na barra Gerar insights com o Gemini, clique em Gerar.

    Aguarde alguns minutos até que o processo de geração de insights seja concluído.

  2. Para revisar o conteúdo gerado, clique em Visualizar.

  3. Avalie o conteúdo gerado:

    • Se o conteúdo estiver correto, clique em Salvar. Isso preenche o editor de rich text com um modelo de documentação predefinido e adiciona consultas de amostra à seção Insights.

    • Se o conteúdo não atender às expectativas, clique em Descartar.

  4. Clique em Salvar para concluir.

REST

Para gerar, recuperar e aplicar automaticamente documentação e insights usando a API, execute a seguinte série de chamadas da API DataScans do Knowledge Catalog.

  1. Gerar documentação automatizada.

    Para acionar a geração automática de documentação, crie uma verificação de dados do tipo DATA_DOCUMENTATION enviando uma solicitação POST ao endpoint dataScans:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "data": {
        "resource": "DATA_PRODUCT_RESOURCE_NAME"
      },
      "executionSpec": {
        "trigger": {
          "oneTime": {
            "ttl_after_scan_completion": "TTL"
          }
        }
      },
      "type": "DATA_DOCUMENTATION",
      "dataDocumentationSpec": {}
    }' \
    "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans?data_scan_id=DATA_SCAN_ID"
    

    Substitua:

    • DATA_PRODUCT_RESOURCE_NAME: o nome completo do recurso do produto de dados de destino a ser verificado.
    • TTL: a duração em segundos após a qual o recurso de verificação será excluído automaticamente (por exemplo, 3600 para uma hora). Se não for especificado, o valor padrão será 24 horas. O valor máximo permitido é de 365 dias (31536000 segundos).
    • PROJECT_ID: o ID do seu projeto Google Cloud
    • LOCATION: a região em que a verificação de dados é executada.
    • DATA_SCAN_ID: um ID exclusivo fornecido por você para esta verificação.
  2. Recupere a documentação gerada.

    Depois que o job de verificação de dados for concluído, recupere a documentação gerada e os insights de consulta enviando uma solicitação GET com o parâmetro view=full:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATA_SCAN_ID?view=full"
    
  3. Salve as consultas geradas no produto de dados.

    Extraia os snippets de SQL gerados da saída da verificação de dados na etapa anterior e anexe-os à entrada do produto de dados atualizando o aspecto queries com uma solicitação PATCH:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "aspects": {
        "dataplex-types.global.queries": {
          "aspectType": "projects/dataplex-types/locations/global/aspectTypes/queries",
          "data": {
            "queries": [
              {
                "description": "QUERY_DESCRIPTION",
                "sql": "SQL_STATEMENT",
                "source": "USER"
              }
            ]
          }
        }
      }
    }' \
    "https://dataplex.googleapis.com/v1/projects/CATALOG_PROJECT_ID/locations/CATALOG_LOCATION/entryGroups/@dataplex/entries/projects/DATA_PRODUCT_PROJECT_NUMBER/locations/DATA_PRODUCT_LOCATION/dataProducts/DATA_PRODUCT_ID?updateMask=aspects"
    

    Substitua:

    • QUERY_DESCRIPTION: uma descrição que explica o que a consulta de amostra recomendada faz

    • SQL_STATEMENT: o texto literal da consulta de exemplo SQL gerada.

    • CATALOG_PROJECT_ID: o ID do projetoGoogle Cloud em que você está fazendo a chamada de API.

    • CATALOG_LOCATION: o endpoint regional do serviço do Knowledge Catalog (por exemplo, us-central1)

    • DATA_PRODUCT_PROJECT_NUMBER: o número do projeto em que o recurso de produto de dados está hospedado

    • DATA_PRODUCT_LOCATION: o local do recurso de produto de dados

    • DATA_PRODUCT_ID: o ID do seu produto de dados

A seguir