Guia de início rápido sobre como incluir tags em tabelas

Neste guia de início rápido, você:

  1. Crie um conjunto de dados do BigQuery e copie os dados de táxi público para uma nova tabela no conjunto de dados.
  2. Crie um modelo de tag com um esquema que define quatro campos de tag de tipos distintos (string, double, boolean e enumerated).
  3. Procure a entrada do Data Catalog para sua tabela.
  4. Anexe a tag à sua tabela.

Antes de começar

  1. Configure o projeto:

    1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
    2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

      Acessar o seletor de projetos

    3. Ative as APIs Data Catalog and BigQuery.

      Ative as APIs

    4. Instale e inicialize o SDK do Cloud..

  2. Adicione um conjunto de dados público ao projeto.

    1. Acesse o BigQuery no Google Cloud Console.
    2. No painel Explorador à esquerda, clique em + ADICIONAR DADOS e selecione Explorar conjuntos de dados públicos na lista suspensa.

      Explore conjuntos de dados públicos

    3. No painel Conjuntos de dados, pesquise "Viagens de táxi de Nova York" e clique no resultado de pesquisa relevante.

    4. No painel de visão geral do conjunto de dados, clique em VER CONJUNTO DE DADOS.

  3. Crie um novo conjunto de dados. Você deve ser o proprietário do conjunto de dados para anexar uma tag a uma tabela no conjunto de dados, como mostrado neste guia de início rápido.

    1. Do BigQuery no Google Cloud Console.
    2. No painel Explorador à esquerda, clique no ID do projeto e em CRIAR CONJUNTO DE DADOS.
    3. Na caixa de diálogo Criar conjunto de dados:
      • Insira "demo_dataset" como o código do conjunto de dados.
      • Para Localização dos dados, aceitar o padrão localização, que define o local do conjunto de dados como US multi-region.
      • Em Validade dos dados padrão, escolha uma das seguintes opções:
        • Nunca: (padrão) as tabelas criadas no conjunto de dados nunca são excluídas automaticamente. Você precisa excluí-las manualmente.
        • Número de dias após a criação da tabela: qualquer tabela criada no conjunto de dados é excluída após os dias especificados a partir do momento da criação. Esse valor será aplicado se você não definir uma validade durante a criação da tabela;
      • Em Criptografia, deixe a opção Chave gerenciada pelo Google selecionada.
      • Clique em Criar conjunto de dados.
  4. Copie uma tabela pública de táxi de Nova York para seu demo_dataset.

    1. Do BigQuery no Console do Google Cloud, no painel Explorador à esquerda, pesquise tabelas "tlc_yellow_trips" e selecione uma delas, como tlc_yellow_trips_2017. Depois, clique em COPIAR TABELA.
    2. Na seção Destino da caixa de diálogo Copiar tabela:

      1. Selecione o projeto na lista suspensa Project name.
      2. Selecione "demo_dataset" na lista suspensa Nome do conjunto de dados.
      3. Insira "viagens" em Nome da tabela, e clique em COPIAR.
    3. No painel Explorador à esquerda, verifique se a tabela trips está listada em seu demo_dataset.

      Adicione as tags do Data Catalog à tabela na próxima seção.

Criar um modelo de tag e anexar a tag à sua tabela

Console

É possível criar um modelo de tag a partir da IU do Data Catalog no Console do Google Cloud.

  1. Selecione "Criar modelo de tag" para abrir a página Criar modelo. "Preencha o formulário de modelo para definir um "Modelo de tag de demonstração".
    1. ID do modelo: demo_tag_template
    2. Nome de exibição do modelo: Demo Tag Template
    3. Projeto: selecione seu projeto
  2. Em seguida, crie quatro campos de tag (anteriormente chamados de atributos de tag). Clique em "Adicionar campo" para abrir a caixa de diálogo Novo campo. Crie quatro campos com os valores listados abaixo. Observe que o campo "Origem" define um campo de tag obrigatório.
      • ID do campo: source
      • Tornar o campo obrigatório: Checked
      • Nome de exibição do campo: Source of data asset
      • Tipo: String
      • Clique em Concluir.
      • ID do campo: num_rows
      • Tornar o campo obrigatório: Not checked
      • Nome de exibição do campo: Number of rows in the data asset
      • Tipo: Double
      • Clique em Concluir.
      • ID do campo: has_pii
      • Tornar o campo obrigatório: Not checked
      • Nome de exibição do campo: Has PII
      • Tipo: Boolean
      • Clique em Concluir.
      • ID do campo: pii_type
      • Tornar o campo obrigatório: Not checked
      • Nome de exibição do campo: PII type
      • Tipo: Enumerated
        Adicione três valores:
        1. EMAIL_ADDRESS
        2. EUA_SOCIAL_SECURITY_NUMBER
        3. NONE
      • Clique em Concluir.

    O formulário de modelo de tag completo deve listar os quatro campos de tag:

    Clique em CRIAR. A página Modelo de tag do Data Catalog exibe os detalhes e os campos do modelo.

  3. Para anexar uma tag a uma tabela no conjunto de dados, abra a IU do Catálogo de dados, insira "demo_dataset" na caixa "Pesquisa" e clique em Pesquisar.
  4. As tabelas demo_dataset e trips que você copiou no conjunto de dados são exibidas nos resultados da pesquisa. Clique no link trips.
  5. A página Detalhes da entrada é aberta. Clique em Anexar tags.
  6. No painel Anexar tags:
    1. Em Selecionar os alvos das tags, selecione a tabela trips e clique em OK.
    2. Em Escolher os modelos de tag, procure e selecione Demo Tag Template e clique em OK.
    3. Em Preencher os valores da tag, preencha os seguintes valores para cada campo:
      • Fonte do recurso de dados: Copied from tlc_yellow_trips_2017
      • Número de linhas no recurso de dados: 113496874
      • Tem PII: FALSE
      • Tipo de PII: NONE

      Clique em Salvar. Os campos de tag agora estão o listados na seção Tags abaixo dos detalhes do conjunto de dados do BigQuery.

gcloud

Execute o comando gcloud data-catalog tag-templates create mostrado abaixo para criar um modelo de tag com os quatro campos de tag a seguir (também chamados de "atributos"):

  1. display_name: Fonte do recurso de dados
    id: fonte
    required: TRUE
    type: String
  2. display_name: Número de linhas no recurso de dados
    id: num_rows
    required: FALSO
    type: Double
  3. display_name: Tem PII
    id: has_pii
    required: FALSO
    type: Booleano
  4. display_name: Tipo de PII
    id: pii_type
    required: FALSO
    type: Enumerado
    values:
    1. EMAIL_ADDRESS
    2. EUA_SOCIAL_SECURITY_NUMBER
    3. NONE
# -------------------------------
# Create a Tag Template.
# -------------------------------
gcloud data-catalog tag-templates create demo_template \
    --location=us-central1 \
    --display-name="Demo Tag Template" \
    --field=id=source,display-name="Source of data asset",type=string,required=TRUE \
    --field=id=num_rows,display-name="Number of rows in the data asset",type=double \
    --field=id=has_pii,display-name="Has PII",type=bool \
    --field=id=pii_type,display-name="PII type",type='enum(EMAIL_ADDRESS|US_SOCIAL_SECURITY_NUMBER|NONE)'

# -------------------------------
# Lookup the Data Catalog entry for the table.
# -------------------------------
ENTRY_NAME=$(gcloud data-catalog entries lookup '//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET/tables/TABLE' --format="value(name)")

# -------------------------------
# Attach a Tag to the table.
# -------------------------------

# Create the Tag file.
cat > tag_file.json << EOF
  {
    "source": "BigQuery",
    "num_rows": 1000,
    "has_pii": true,
    "pii_type": "EMAIL_ADDRESS"
  }
EOF

gcloud data-catalog tags create --entry=${ENTRY_NAME} \
    --tag-template=demo_template --tag-template-location=us-central1 --tag-file=tag_file.json

Python

  1. Instalar a biblioteca cliente
  2. Configurar as credenciais padrão do aplicativo
  3. Execute o código
    # -------------------------------
    # Import required modules.
    # -------------------------------
    from google.cloud import datacatalog_v1
    
    # -------------------------------
    # Set your Google Cloud Platform project ID.
    # -------------------------------
    project_id = 'PROJECT'
    
    # -------------------------------
    # Set your BigQuery dataset and table name.
    # -------------------------------
    dataset_id = 'demo_dataset'
    table_name = 'trips'
    
    # -------------------------------
    # Currently, Data Catalog stores metadata in the
    # us-central1 region.
    # -------------------------------
    location = 'us-central1'
    
    # -------------------------------
    # Use Application Default Credentials to create a new
    # Data Catalog client. GOOGLE_APPLICATION_CREDENTIALS
    # environment variable must be set with the location
    # of a service account key file.
    # -------------------------------
    datacatalog_client = datacatalog_v1.DataCatalogClient()
    
    # -------------------------------
    # Create a Tag Template.
    # -------------------------------
    tag_template = datacatalog_v1.types.TagTemplate()
    
    tag_template.display_name = 'Demo Tag Template'
    
    tag_template.fields['source'] = datacatalog_v1.types.TagTemplateField()
    tag_template.fields['source'].display_name = 'Source of data asset'
    tag_template.fields['source'].type_.primitive_type = datacatalog_v1.types.FieldType.PrimitiveType.STRING
    
    tag_template.fields['num_rows'] = datacatalog_v1.types.TagTemplateField()
    tag_template.fields['num_rows'].display_name = 'Number of rows in data asset'
    tag_template.fields['num_rows'].type_.primitive_type = datacatalog_v1.types.FieldType.PrimitiveType.DOUBLE
    
    tag_template.fields['has_pii'] = datacatalog_v1.types.TagTemplateField()
    tag_template.fields['has_pii'].display_name = 'Has PII'
    tag_template.fields['has_pii'].type_.primitive_type = datacatalog_v1.types.FieldType.PrimitiveType.BOOL
    
    tag_template.fields['pii_type'] = datacatalog_v1.types.TagTemplateField()
    tag_template.fields['pii_type'].display_name = 'PII type'
    
    for display_name in ['EMAIL_ADDRESS', 'US_SOCIAL_SECURITY_NUMBER', 'NONE']:
        enum_value = datacatalog_v1.types.FieldType.EnumType.EnumValue(display_name = display_name)
        tag_template.fields['pii_type'].type_.enum_type.allowed_values.append(enum_value)
    
    expected_template_name = datacatalog_v1.DataCatalogClient\
        .tag_template_path(project_id, location, 'example_tag_template')
    
    # Delete any pre-existing Template with the same name.
    try:
        datacatalog_client.delete_tag_template(name=expected_template_name, force=True)
        print('Deleted template: {}'.format(expected_template_name))
    except:
        print('Cannot delete template: {}'.format(expected_template_name))
    
    # Create the Tag Template.
    try:
        tag_template = datacatalog_client.create_tag_template(
            parent='projects/{}/locations/us-central1'.format(project_id),
            tag_template_id='example_tag_template',
            tag_template=tag_template)
        print('Created template: {}'.format(tag_template.name))
    except OSError as e:
        print('Cannot create template: {}'.format(expected_template_name))
        print('{}'.format(e))
    
    # -------------------------------
    # Lookup Data Catalog's Entry referring to the table.
    # -------------------------------
    resource_name = '//bigquery.googleapis.com/projects/{}' \
                    '/datasets/{}/tables/{}'.format(project_id, dataset_id, table_name)
    table_entry = datacatalog_client.lookup_entry(request={"linked_resource": resource_name})
    
    # -------------------------------
    # Attach a Tag to the table.
    # -------------------------------
    tag = datacatalog_v1.types.Tag()
    
    tag.template = tag_template.name
    tag.name="my_tag"
    
    tag.fields['source'] = datacatalog_v1.types.TagField()
    tag.fields['source'].string_value = 'Copied from tlc_yellow_trips_2018'
    
    tag.fields['num_rows'] = datacatalog_v1.types.TagField()
    tag.fields['num_rows'].double_value = 113496874
    
    tag.fields['has_pii'] = datacatalog_v1.types.TagField()
    tag.fields['has_pii'].bool_value = False
    
    tag.fields['pii_type'] = datacatalog_v1.types.TagField()
    tag.fields['pii_type'].enum_value.display_name = 'NONE'
    
    tag = datacatalog_client.create_tag(parent=table_entry.name, tag=tag)
    print('Created tag: {}'.format(tag.name))
    
    

Java

  1. Instalar a biblioteca cliente
  2. Configurar as credenciais padrão do aplicativo
  3. Execute o código
    /*
    This application demonstrates how to perform core operations with the
    Data Catalog API.
    
    For more information, see the README.md and the official documentation at
    https://cloud.google.com/data-catalog/docs.
    */
    
    package com.example.datacatalog;
    
    import com.google.cloud.datacatalog.v1.CreateTagRequest;
    import com.google.cloud.datacatalog.v1.CreateTagTemplateRequest;
    import com.google.cloud.datacatalog.v1.DataCatalogClient;
    import com.google.cloud.datacatalog.v1.DeleteTagTemplateRequest;
    import com.google.cloud.datacatalog.v1.Entry;
    import com.google.cloud.datacatalog.v1.FieldType;
    import com.google.cloud.datacatalog.v1.FieldType.EnumType;
    import com.google.cloud.datacatalog.v1.FieldType.EnumType.EnumValue;
    import com.google.cloud.datacatalog.v1.FieldType.PrimitiveType;
    import com.google.cloud.datacatalog.v1.LocationName;
    import com.google.cloud.datacatalog.v1.LookupEntryRequest;
    import com.google.cloud.datacatalog.v1.Tag;
    import com.google.cloud.datacatalog.v1.TagField;
    import com.google.cloud.datacatalog.v1.TagTemplate;
    import com.google.cloud.datacatalog.v1.TagTemplateField;
    import com.google.cloud.datacatalog.v1.TagTemplateName;
    
    public class CreateTags {
    
      public static void createTags() {
        // TODO(developer): Replace these variables before running the sample.
        String projectId = "my-project";
        String tagTemplateId = "my_tag_template";
        createTags(projectId, tagTemplateId);
      }
    
      public static void createTags(String projectId, String tagTemplateId) {
        // Currently, Data Catalog stores metadata in the us-central1 region.
        String location = "us-central1";
    
        // Initialize client that will be used to send requests. This client only needs to be created
        // once, and can be reused for multiple requests. After completing all of your requests, call
        // the "close" method on the client to safely clean up any remaining background resources.
        try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
    
          // -------------------------------
          // Create a Tag Template.
          // -------------------------------
          TagTemplateField sourceField =
              TagTemplateField.newBuilder()
                  .setDisplayName("Source of data asset")
                  .setType(FieldType.newBuilder().setPrimitiveType(PrimitiveType.STRING).build())
                  .build();
    
          TagTemplateField numRowsField =
              TagTemplateField.newBuilder()
                  .setDisplayName("Number of rows in data asset")
                  .setType(FieldType.newBuilder().setPrimitiveType(PrimitiveType.DOUBLE).build())
                  .build();
    
          TagTemplateField hasPiiField =
              TagTemplateField.newBuilder()
                  .setDisplayName("Has PII")
                  .setType(FieldType.newBuilder().setPrimitiveType(PrimitiveType.BOOL).build())
                  .build();
    
          TagTemplateField piiTypeField =
              TagTemplateField.newBuilder()
                  .setDisplayName("PII type")
                  .setType(
                      FieldType.newBuilder()
                          .setEnumType(
                              EnumType.newBuilder()
                                  .addAllowedValues(
                                      EnumValue.newBuilder().setDisplayName("EMAIL_ADDRESS").build())
                                  .addAllowedValues(
                                      EnumValue.newBuilder()
                                          .setDisplayName("US_SOCIAL_SECURITY_NUMBER")
                                          .build())
                                  .addAllowedValues(
                                      EnumValue.newBuilder().setDisplayName("NONE").build())
                                  .build())
                          .build())
                  .build();
    
          TagTemplate tagTemplate =
              TagTemplate.newBuilder()
                  .setDisplayName("Demo Tag Template")
                  .putFields("source", sourceField)
                  .putFields("num_rows", numRowsField)
                  .putFields("has_pii", hasPiiField)
                  .putFields("pii_type", piiTypeField)
                  .build();
    
          CreateTagTemplateRequest createTagTemplateRequest =
              CreateTagTemplateRequest.newBuilder()
                  .setParent(
                      LocationName.newBuilder()
                          .setProject(projectId)
                          .setLocation(location)
                          .build()
                          .toString())
                  .setTagTemplateId("demo_tag_template")
                  .setTagTemplate(tagTemplate)
                  .build();
    
          String expectedTemplateName =
              TagTemplateName.newBuilder()
                  .setProject(projectId)
                  .setLocation(location)
                  .setTagTemplate("demo_tag_template")
                  .build()
                  .toString();
    
          // Delete any pre-existing Template with the same name.
          try {
            dataCatalogClient.deleteTagTemplate(
                DeleteTagTemplateRequest.newBuilder()
                    .setName(expectedTemplateName)
                    .setForce(true)
                    .build());
    
            System.out.println(String.format("Deleted template: %s", expectedTemplateName));
          } catch (Exception e) {
            System.out.println(String.format("Cannot delete template: %s", expectedTemplateName));
          }
    
          // Create the Tag Template.
          tagTemplate = dataCatalogClient.createTagTemplate(createTagTemplateRequest);
          System.out.println(String.format("Template created with name: %s", tagTemplate.getName()));
    
          // -------------------------------
          // Lookup Data Catalog's Entry referring to the table.
          // -------------------------------
          String linkedResource =
              String.format(
                  "//bigquery.googleapis.com/projects/%s/datasets/demo_dataset/tables/trips",
                  projectId);
          LookupEntryRequest lookupEntryRequest =
              LookupEntryRequest.newBuilder().setLinkedResource(linkedResource).build();
          Entry tableEntry = dataCatalogClient.lookupEntry(lookupEntryRequest);
    
          // -------------------------------
          // Attach a Tag to the table.
          // -------------------------------
          TagField sourceValue =
              TagField.newBuilder().setStringValue("Copied from tlc_yellow_trips_2017").build();
          TagField numRowsValue = TagField.newBuilder().setDoubleValue(113496874).build();
          TagField hasPiiValue = TagField.newBuilder().setBoolValue(false).build();
          TagField piiTypeValue =
              TagField.newBuilder()
                  .setEnumValue(TagField.EnumValue.newBuilder().setDisplayName("NONE").build())
                  .build();
    
          Tag tag =
              Tag.newBuilder()
                  .setTemplate(tagTemplate.getName())
                  .putFields("source", sourceValue)
                  .putFields("num_rows", numRowsValue)
                  .putFields("has_pii", hasPiiValue)
                  .putFields("pii_type", piiTypeValue)
                  .build();
    
          CreateTagRequest createTagRequest =
              CreateTagRequest.newBuilder().setParent(tableEntry.getName()).setTag(tag).build();
    
          dataCatalogClient.createTag(createTagRequest);
    
        } catch (Exception e) {
          System.out.print("Error during CreateTags:\n" + e.toString());
        }
      }
    }
    

Node.js

  1. Instalar a biblioteca cliente
  2. Configurar as credenciais padrão do aplicativo
  3. Execute o código
    async function main() {
        // -------------------------------
        // Import required modules.
        // -------------------------------
        const { DataCatalogClient } = require('@google-cloud/datacatalog').v1;
    
        // Common fields.
        let request;
        let responses;
    
        // -------------------------------
        // Set your Google Cloud Platform project ID.
        // -------------------------------
        const projectId = 'PROJECT_ID';
    
        // -------------------------------
        // Currently, Data Catalog stores metadata in the
        // us-central1 region.
        // -------------------------------
        const location = 'us-central1';
    
        // -------------------------------
        // Use Application Default Credentials to create a new
        // Data Catalog client. GOOGLE_APPLICATION_CREDENTIALS
        // environment variable must be set with the location
        // of a service account key file.
        // -------------------------------
        const datacatalog = new DataCatalogClient();
    
        // Create Fields.
        const fieldSource = {
            displayName: 'Source of data asset',
            type: {
                primitiveType: 'STRING',
            },
        };
    
        const fieldNumRows = {
            displayName: 'Number of rows in data asset',
            type: {
                primitiveType: 'DOUBLE',
            },
        };
    
        const fieldHasPII = {
            displayName: 'Has PII',
            type: {
                primitiveType: 'BOOL',
            },
        };
    
        const fieldPIIType = {
            displayName: 'PII type',
            type: {
                enumType: {
                    allowedValues: [
                        {
                            displayName: 'EMAIL_ADDRESS',
                        },
                        {
                            displayName: 'US_SOCIAL_SECURITY_NUMBER',
                        },
                        {
                            displayName: 'NONE',
                        },
                    ],
                },
            },
        };
    
        // -------------------------------
        // Create Tag Template.
        // -------------------------------
        const tagTemplateId = 'demo_tag_template';
    
        const tagTemplate = {
            displayName: 'Demo Tag Template',
            fields: {
                source: fieldSource,
                num_rows: fieldNumRows,
                has_pii: fieldHasPII,
                pii_type: fieldPIIType,
            },
        };
    
        const tagTemplatePath = datacatalog.tagTemplatePath(
            projectId,
            location,
            tagTemplateId
        );
    
        // Delete any pre-existing Template with the same name.
        try {
            request = {
                name: tagTemplatePath,
                force: true,
            };
            await datacatalog.deleteTagTemplate(request);
            console.log(`Deleted template: ${tagTemplatePath}`);
        } catch (error) {
            console.log(`Cannot delete template: ${tagTemplatePath}`);
        }
    
        // Create the Tag Template request.
        const locationPath = datacatalog.locationPath(projectId, location);
    
        request = {
            parent: locationPath,
            tagTemplateId: tagTemplateId,
            tagTemplate: tagTemplate,
        };
    
        // Execute the request.
        responses = await datacatalog.createTagTemplate(request);
        const createdTagTemplate = responses[0];
        console.log(`Created template: ${createdTagTemplate.name}`);
    
        // -------------------------------
        // Lookup Data Catalog's Entry referring to the table.
        // -------------------------------
        responses = await datacatalog.lookupEntry({
            linkedResource: `//bigquery.googleapis.com/projects/` +
                `${projectId}/datasets/demo_dataset/tables/trips`,
        });
        const entry = responses[0];
        console.log(`Entry name: ${entry.name}`);
        console.log(`Entry type: ${entry.type}`);
        console.log(`Linked resource: ${entry.linkedResource}`);
    
        // -------------------------------
        // Attach a Tag to the table.
        // -------------------------------
        const tag = {
            name: entry.name,
            template: createdTagTemplate.name,
            fields: {
                source: {
                    stringValue: 'Copied from tlc_yellow_trips_2017',
                },
                num_rows: {
                    doubleValue: 113496874,
                },
                has_pii: {
                    boolValue: false,
                },
                pii_type: {
                    enumValue: {
                        displayName: 'NONE',
                    },
                },
            },
        };
    
        request = {
            parent: entry.name,
            tag: tag,
        };
    
        // Create the Tag.
        await datacatalog.createTag(request);
        console.log(`Tag created for entry: ${entry.name}`);
    }
    
    main();
    

REST e LINHA DE CMD

Se você não tiver acesso às bibliotecas do Cloud Client para seu idioma ou desejar testar a API usando solicitações REST, consulte os exemplos a seguir e consulte a documentação da API REST.

1. Crie um modelo de tag.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: código do projeto do GCP.

Método HTTP e URL:

POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/us-central1/tagTemplates?tagTemplateId=demo_tag_template

Corpo JSON da solicitação:

{
  "displayName":"Demo Tag Template",
  "fields":{
    "source":{
      "displayName":"Source of data asset",
      "isRequired": "true",
      "type":{
        "primitiveType":"STRING"
      }
    },
    "num_rows":{
      "displayName":"Number of rows in data asset",
      "isRequired": "false",
      "type":{
        "primitiveType":"DOUBLE"
      }
    },
    "has_pii":{
      "displayName":"Has PII",
      "isRequired": "false",
      "type":{
        "primitiveType":"BOOL"
      }
    },
    "pii_type":{
      "displayName":"PII type",
      "isRequired": "false",
      "type":{
        "enumType":{
          "allowedValues":[
            {
              "displayName":"EMAIL_ADDRESS"
            },
            {
              "displayName":"US_SOCIAL_SECURITY_NUMBER"
            },
            {
              "displayName":"NONE"
            }
          ]
        }
      }
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template",
  "displayName":"Demo Tag Template",
  "fields":{
    "num_rows":{
      "displayName":"Number of rows in data asset",
      "isRequired": "false",
      "type":{
        "primitiveType":"DOUBLE"
      }
    },
    "has_pii":{
      "displayName":"Has PII",
      "isRequired": "false",
      "type":{
        "primitiveType":"BOOL"
      }
    },
    "pii_type":{
      "displayName":"PII type",
      "isRequired": "false",
      "type":{
        "enumType":{
          "allowedValues":[
            {
              "displayName":"EMAIL_ADDRESS"
            },
            {
              "displayName":"NONE"
            },
            {
              "displayName":"US_SOCIAL_SECURITY_NUMBER"
            }
          ]
        }
      }
    },
    "source":{
      "displayName":"Source of data asset",
      "isRequired":"true",
      "type":{
        "primitiveType":"STRING"
      }
    }
  }
}

2. Procure o Data Catalog entry-id na tabela do BigQuery.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: ID de projeto do GCP.

Método HTTP e URL:

GET https://datacatalog.googleapis.com/v1/entries:lookup?linkedResource=//bigquery.googleapis.com/projects/project-id/datasets/demo_dataset/tables/trips

Corpo JSON da solicitação:

Request body is empty.

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/project-id/locations/US/entryGroups/@bigquery/entries/entry-id",
  "type": "TABLE",
  "schema": {
    "columns": [
      {
        "type": "STRING",
        "description": "A code indicating the TPEP provider that provided the record. 1= ",
        "mode": "REQUIRED",
        "column": "vendor_id"
      },
      ...
    ]
  },
  "sourceSystemTimestamps": {
    "createTime": "2019-01-25T01:45:29.959Z",
    "updateTime": "2019-03-19T23:20:26.540Z"
  },
  "linkedResource": "//bigquery.googleapis.com/projects/project-id/datasets/demo_dataset/tables/trips",
  "bigqueryTableSpec": {
    "tableSourceType": "BIGQUERY_TABLE"
  }
}

3. Crie uma tag a partir do modelo e anexe-a à tabela do BigQuery.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: ID de projeto do GCP.
  • entry-id: ID da entrada do Data Catalog para a tabela de viagens do conjunto de dados de demonstração (retornada nos resultados da pesquisa na etapa anterior).

Método HTTP e URL:

POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/us-central1/entryGroups/@bigquery/entries/entry-id/tags?tagTemplateId=demo_tag_template

Corpo JSON da solicitação:

{
  "template":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template",
  "fields":{
    "source":{
      "stringValue":"Copied from tlc_yellow_trips_2017"
    },
    "num_rows":{
      "doubleValue":113496874
    },
    "has_pii":{
      "boolValue":false
    },
    "pii_type":{
      "enumValue":{
        "displayName":"NONE"
      }
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "name":"projects/project-id/locations/US/entryGroups/@bigquery/entries/entry-id/tags/tag-id",
  "template":"projects/project-id/locations/us-central1/tagTemplates/demo_tag_template",
  "fields":{
    "pii_type":{
      "displayName":"PII type",
      "enumValue":{
        "displayName":"NONE"
      }
    },
    "has_pii":{
      "displayName":"Has PII",
      "boolValue":false
    },
    "source":{
      "displayName":"Source of data asset",
      "stringValue":"Copied from tlc_yellow_trips_2017"
    },
    "num_rows":{
      "displayName":"Number of rows in data asset",
      "doubleValue":113496874
    }
  },
  "templateDisplayName":"Demo Tag Template"
}

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste guia de início rápido, siga estas etapas:

Excluir o projeto

O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. No Console do Cloud, acesse a página Gerenciar recursos:

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

Como excluir o conjunto de dados

  1. Se necessário, abra a IU da Web do BigQuery.

    Acessar a IU da Web do BigQuery

  2. No painel de navegação, na seção Recursos, clique no conjunto de dados demo_dataset criado.

  3. No painel de detalhes, à direita, clique em Excluir conjunto de dados. Esta ação exclui o conjunto de dados, a tabela e todos os dados.

  4. Na caixa de diálogo Excluir conjunto de dados, confirme o comando de exclusão digitando o nome do seu conjunto de dados (demo_dataset) e clique em Excluir.

Como excluir o modelo de tag

  1. Abra a IU do Data Catalog no Console do Google Cloud. Em Modelo de tag, clique em Gerenciar modelos de tag.

  2. Clique em Modelo de tag de demonstração.

  3. Na página Modelo de tag, clique em Excluir para excluir o modelo de tag de demonstração.

A seguir