Importar metadados usando um pipeline personalizado

Este documento descreve como importar metadados de um sistema de terceiros para o Dataplex Universal Catalog usando os métodos da API de importação de metadados e seu próprio pipeline. Os metadados do Dataplex Universal Catalog consistem em entradas e os respectivos aspectos.

Se você quiser usar um pipeline de orquestração gerenciado pelo Google Cloud para extrair e importar metadados, recomendamos usar um pipeline de conectividade gerenciada. Com um pipeline de conectividade gerenciada, você traz seu próprio conector que extrai metadados e gera saída em um formato que pode ser usado como entrada pelos métodos da API de importação de metadados (o arquivo de importação de metadados). Em seguida, use o Workflows para orquestrar as tarefas do pipeline.

É possível executar os seguintes tipos de jobs de importação de metadados:

  • Sincronização completa de entradas com importação incremental dos aspectos delas. Compatível com entradas personalizadas.
  • Importação incremental apenas de aspectos. Compatível com aspectos que pertencem a entradas personalizadas e do sistema. Para entradas personalizadas, é possível modificar aspectos opcionais e obrigatórios. Para entradas do sistema, é possível modificar aspectos opcionais.

Etapas avançadas

Para importar metadados usando a API de importação de metadados, siga estas etapas gerais:

  1. Determine o escopo do job.

    Além disso, entenda como o Dataplex Universal Catalog aplica a lógica de comparação e o modo de sincronização para entradas e aspectos.

  2. Crie um ou mais arquivos de importação de metadados que definam os dados a serem importados.

  3. Salve os arquivos de importação de metadados em um bucket do Cloud Storage.

  4. Execute um job de importação de metadados.

As etapas nesta página pressupõem que você conhece os conceitos de metadados do Dataplex Universal Catalog, incluindo grupos de entrada, tipos de entrada e tipos de aspecto. Para mais informações, consulte Sobre o gerenciamento de metadados no Dataplex Universal Catalog.

Antes de começar

Antes de importar metadados, conclua as tarefas desta seção.

Funções exigidas

Para garantir que a conta de serviço do Dataplex Universal Catalog tenha as permissões necessárias para acessar o bucket do Cloud Storage, peça ao administrador para conceder a ela o papel do IAM de leitor de objetos do Storage (roles/storage.objectViewer) e a permissão storage.buckets.get no bucket.

Para receber as permissões necessárias para gerenciar jobs de importação de metadados, peça ao administrador para conceder a você os seguintes papéis do IAM:

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

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Create Google Cloud resources

Prepare os seguintes recursos do Google Cloud :

  1. Crie grupos de entrada para as entradas que você quer importar.
  2. Crie tipos de aspecto para os aspectos que você quer importar.
  3. Crie tipos de entrada para as entradas que você quer importar.
  4. Se você estiver executando um job de metadados somente de aspectos, crie entradas para os aspectos que quer importar.
  5. Crie um bucket do Cloud Storage para armazenar os arquivos de importação de metadados.

Componentes de um job de importação de metadados

Ao importar metadados, considere os seguintes componentes de um job de metadados:

  • Escopo do job: os grupos de entradas, tipos de entradas e tipos de aspectos a serem incluídos no job.
  • Modo de sincronização: como as entradas e os aspectos no job são atualizados.
  • Arquivo de importação de metadados: um arquivo que define os valores a serem definidos para as entradas e os aspectos no job. É possível fornecer vários arquivos de importação de metadados no mesmo job de metadados. Você salva os arquivos no Cloud Storage.
  • Lógica de comparação: como o Dataplex Universal Catalog determina quais entradas e aspectos modificar.

Escopo do job

O escopo do job define os grupos de entradas, os tipos de entradas e os tipos de aspectos que você quer incluir em um job de importação de metadados. Ao importar metadados, você modifica as entradas e os aspectos que pertencem aos recursos no escopo do job.

Para definir o escopo do job, siga estas diretrizes:

  • Grupos de entradas: especifique um ou mais grupos de entradas para incluir no job. O trabalho modifica apenas as entradas e os aspectos que pertencem a esses grupos. Os grupos de entradas e o job precisam estar na mesma região.

  • Tipos de entrada: especifique um ou mais tipos de entrada para incluir no job. O trabalho modifica apenas as entradas e os aspectos que pertencem a esses tipos de entrada. O local de um tipo de entrada precisa corresponder ao local do trabalho ou ser global.

  • Tipos de aspecto: especifique um ou mais tipos de aspecto para incluir no job. O job modifica apenas os aspectos que pertencem a esses tipos. O local de um tipo de aspecto precisa corresponder ao local do trabalho ou ser global.

O escopo do job precisa incluir todos os tipos de entrada e de aspecto especificados no arquivo de importação de metadados.

Você especifica o escopo do job ao criar um job de metadados.

Modo de sincronização

O modo de sincronização especifica como as entradas e os aspectos em um job de importação de metadados são atualizados. Você fornece um modo de sincronização para entradas e aspectos. Dependendo dos recursos que você quer importar, as seguintes combinações de modos de sincronização são compatíveis.

Meta Modo de sincronização de entrada Modo de sincronização de proporção Resultados
Importar entradas e aspectos FULL INCREMENTAL

Todas as entradas no escopo do job são modificadas.

Se uma entrada existir no Dataplex Universal Catalog, mas não estiver incluída no arquivo de importação de metadados, ela será excluída quando você executar o job de metadados.

Um aspecto só será modificado se o arquivo de importação de metadados incluir uma referência a ele no campo updateMask e no campo aspectKeys. Consulte Estrutura de um item de importação.

Importar apenas aspectos NONE INCREMENTAL

Os aspectos serão modificados se fizerem parte do escopo do job e se o arquivo de importação de metadados incluir uma referência a eles no campo aspectKeys. Consulte Estrutura de um item de importação.

Outros metadados que pertencem a entradas no escopo do trabalho não são modificados.

Você especifica o modo de sincronização ao criar um job de metadados.

Arquivo de importação de metadados

O arquivo de importação de metadados é uma coleção das entradas e dos aspectos que você quer modificar. Ele define os valores a serem definidos para todos os campos que pertencem a essas entradas e aspectos. Você prepara o arquivo antes de executar um job de importação de metadados.

Estas diretrizes gerais se aplicam:

  • É possível fornecer vários arquivos de importação de metadados no mesmo job de metadados.
  • Quando você executa um job de metadados de sincronização de entrada completa, as entradas fornecidas no arquivo substituem completamente todas as entradas atuais de recursos no escopo do job. Isso significa que você precisa incluir valores para todas as entradas em um job, não apenas os valores que quer adicionar ou atualizar. Para conferir uma lista das entradas atuais no seu projeto e usar como ponto de partida, use o método da API entries.list.

  • Você precisa fornecer um arquivo de importação de metadados como parte de um job de metadados. Se você quiser excluir todos os dados das entradas no escopo do job, forneça um arquivo de importação de metadados vazio.

  • Todas as entradas e aspectos incluídos no arquivo precisam pertencer aos grupos de entradas, tipos de entradas e tipos de aspectos definidos no escopo do job.

Use as diretrizes detalhadas nas seções a seguir para criar um arquivo de importação de metadados.

Estrutura do arquivo

Cada linha do arquivo de importação de metadados contém um objeto JSON que corresponde a um item de importação. Um item de importação é um objeto que descreve os valores a serem modificados para uma entrada e os aspectos anexados a ela.

É possível fornecer vários itens de importação em um único arquivo de importação de metadados. No entanto, não forneça o mesmo item de importação mais de uma vez em um job de metadados. Use um caractere de nova linha (0x0a) para separar cada item de importação.

Um arquivo de importação de metadados com um caractere de nova linha entre cada item de importação tem a seguinte aparência:

{ "entry": { "name": "entry 1", #Information about entry 1 }
{ "entry": { "name": "entry 2", #Information about entry 2 }

Estrutura de um item de importação

Cada item de importação no arquivo de importação de metadados pode incluir os seguintes campos (consulte ImportItem). O exemplo a seguir é formatado com quebras de linha para facilitar a leitura, mas, ao salvar o arquivo, inclua um caractere de nova linha somente após cada item de importação. Não inclua quebras de linha entre os campos de um único item de importação.

{
  "entry": {
    "name": "ENTRY_NAME",
    "entryType": "ENTRY_TYPE",
    "entrySource": {
      "resource": "RESOURCE",
      "system": "SYSTEM",
      "platform": "PLATFORM",
      "displayName": "DISPLAY_NAME",
      "description": "DESCRIPTION",
      "createTime": "ENTRY_CREATE_TIMESTAMP",
      "updateTime": "ENTRY_UPDATE_TIMESTAMP"
    },
    "aspects": {
      "ASPECT": {
        "data": {
          "KEY": "VALUE"
        },
        "aspectSource": {
          "createTime": "ASPECT_CREATE_TIMESTAMP",
          "updateTime": "ASPECT_UPDATE_TIMESTAMP"
        }
      },
      # Additional aspect maps
    },
    "parentEntry": "PARENT_ENTRY",
    "fullyQualifiedName": "FULLY_QUALIFIED_NAME"
  },
  "updateMask": "UPDATE_MASK_FIELDS",
  "aspectKeys": [
    "ASPECT_KEY",
    # Additional aspect keys
  ],
}

Substitua:

  • entry: informações sobre uma entrada e os aspectos anexados a ela. Em um job de importação de metadados somente de aspectos, o Dataplex Universal Catalog ignora todos os campos opcionais de uma entrada, exceto os mapas de aspectos.

    • ENTRY_NAME: o nome relativo do recurso da entrada, no formato projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/entryGroups/ENTRY_GROUP_ID/entries/ENTRY_ID.
    • ENTRY_TYPE: o nome do recurso relativo do tipo de entrada usado para criar esta entrada, no formato projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/entryTypes/ENTRY_TYPE_ID.
    • entrySource: informações do sistema de origem sobre o recurso de dados representado pela entrada:
      • RESOURCE: o nome do recurso no sistema de origem.
      • SYSTEM: o nome do sistema de origem.
      • PLATFORM: a plataforma que contém o sistema de origem.
      • DISPLAY_NAME: um nome de exibição fácil de usar.
      • DESCRIPTION: uma descrição da entrada.
      • ENTRY_CREATE_TIMESTAMP: o momento em que a entrada foi criada no sistema de origem.
      • ENTRY_UPDATE_TIMESTAMP: a hora em que a entrada foi atualizada no sistema de origem.
    • aspects: os aspectos anexados à entrada. O objeto aspect e os dados dele são chamados de mapa de aspectos.

      • ASPECT: um aspecto anexado à entrada. Dependendo de como o aspecto está anexado à entrada, use um dos seguintes formatos:

        • Se o aspecto estiver anexado diretamente à entrada, forneça o nome do recurso relativo do tipo de aspecto, no formato PROJECT_ID_OR_NUMBER.LOCATION_ID.ASPECT_TYPE_ID.
        • Se o aspecto estiver anexado ao caminho da entrada, forneça o caminho do tipo de aspecto no formato PROJECT_ID_OR_NUMBER.LOCATION_ID.ASPECT_TYPE_ID@PATH.
      • KEY e VALUE: o conteúdo do aspecto, de acordo com o modelo de metadados do tipo de aspecto. O conteúdo precisa ser codificado em UTF-8. O tamanho máximo do campo é 120 KB. O dicionário data é obrigatório, mesmo que esteja vazio.

      • ASPECT_CREATE_TIMESTAMP: o momento em que o aspecto foi criado no sistema de origem.

      • ASPECT_UPDATE_TIMESTAMP: o momento em que o aspecto foi atualizado no sistema de origem.

    • PARENT_ENTRY: o nome do recurso da entrada principal.

    • FULLY_QUALIFIED_NAME: um nome para a entrada que pode ser referenciada por um sistema externo. Consulte Nomes totalmente qualificados.

  • UPDATE_MASK_FIELDS: os campos a serem atualizados, em caminhos relativos ao recurso Entry. Separe cada campo com uma vírgula.

    Em um job de sincronização completa de entradas, o Dataplex Universal Catalog inclui os caminhos de todos os campos de uma entrada que podem ser modificados, incluindo aspectos. O campo updateMask é ignorado quando uma entrada é criada ou recriada.

    Em um trabalho de metadados somente de aspectos, defina esse valor como aspects.

  • ASPECT_KEY: os aspectos a serem modificados. Aceita as seguintes sintaxes:

    • ASPECT_TYPE_REFERENCE: corresponde ao tipo de aspecto para aspectos anexados diretamente à entrada.
    • ASPECT_TYPE_REFERENCE@PATH: corresponde ao tipo de aspecto e ao caminho especificado.
    • ASPECT_TYPE_REFERENCE@*: corresponde ao tipo de aspecto para todos os caminhos.
    • *@PATH: corresponde a todos os tipos de aspectos no caminho especificado.

    Substitua ASPECT_TYPE_REFERENCE por uma referência ao tipo de aspecto, no formato PROJECT_ID_OR_NUMBER.LOCATION_ID.ASPECT_TYPE_ID.

    Em um job de sincronização de entrada completa, se você deixar esse campo vazio, ele será tratado como especificando exatamente os aspectos presentes na entrada especificada. O Dataplex Universal Catalog adiciona implicitamente as chaves de todos os aspectos necessários de uma entrada.

Requisitos dos arquivos

O arquivo de importação de metadados precisa atender aos seguintes requisitos:

  • O arquivo precisa estar formatado como um arquivo JSON Lines, que é um arquivo JSON delimitado por nova linha. Use um caractere de nova linha (0x0a) para separar cada item de importação.
  • O arquivo precisa usar a codificação de caracteres UTF-8.
  • As extensões de arquivo aceitas são .jsonl e .json.
  • Cada arquivo de importação de metadados precisa ter menos de 1 GiB. O tamanho total máximo de todos os dados no job de metadados é de 3 GB. Isso inclui todos os arquivos e metadados associados ao job.
  • Os tipos de entrada e de aspecto especificados no arquivo precisam fazer parte do escopo do trabalho de metadados.
  • O arquivo precisa ser enviado para um bucket do Cloud Storage. Não salve o arquivo em uma pasta chamada CLOUD_STORAGE_URI/deletions/.

Lógica de comparação

O Dataplex Universal Catalog determina quais entradas e aspectos modificar comparando os valores e carimbos de data/hora fornecidos no arquivo de importação de metadados com os valores e carimbos de data/hora que existem no seu projeto.

Em um nível alto, o Dataplex Universal Catalog atualiza os valores no seu projeto quando pelo menos uma mudança proposta no arquivo de importação de metadados altera o estado do projeto durante a execução do job, sem introduzir dados desatualizados. A mudança proposta precisa ser referenciada no campo de máscara de atualização ou no campo de chaves de aspecto no arquivo de importação de metadados.

A lógica de comparação varia de acordo com o tipo de job de importação de metadados que você executa.

Trabalho de sincronização de entrada completa

Em um job de metadados de sincronização de entrada completa, para cada entrada que faz parte do escopo do job, o Dataplex Universal Catalog faz uma das seguintes ações:

  • Cria uma entrada e aspectos anexados. Se o arquivo de importação de metadados incluir uma entrada que não existe no seu projeto, o Dataplex Universal Catalog vai criar a entrada e os aspectos anexados.
  • Exclui uma entrada e os aspectos anexados. Se uma entrada existir no seu projeto, mas o arquivo de importação de metadados não a incluir, o Dataplex Universal Catalog vai excluir a entrada e os aspectos anexados do projeto.
  • Atualiza uma entrada e os aspectos anexados. Se uma entrada existir no arquivo de importação de metadados e no projeto, o Catálogo Universal do Dataplex vai avaliar os carimbos de data/hora de origem da entrada e do aspecto associados a ela para determinar quais valores modificar. Em seguida, o Dataplex Universal Catalog faz uma ou mais das seguintes ações:

    • Recria a entrada. Se o carimbo de data/hora de criação da origem da entrada no arquivo de importação de metadados for mais recente do que o carimbo de data/hora correspondente no projeto, o Dataplex Universal Catalog vai recriar a entrada no projeto.
    • Atualiza a entrada. Se o carimbo de data/hora da atualização da origem da entrada no arquivo de importação de metadados for mais recente que o carimbo correspondente no seu projeto, o Dataplex Universal Catalog vai atualizar a entrada no projeto.
    • Cria um aspecto. Se um aspecto não existir no seu projeto e estiver incluído em um mapa de aspectos, no campo de máscara de atualização e no campo de chaves de aspecto do arquivo de importação de metadados, o Dataplex Universal Catalog vai criar o aspecto.
    • Exclui um aspecto. Se um aspecto existir no seu projeto e for incluído no campo de máscara de atualização e no campo de chaves de aspecto no arquivo de importação de metadados, mas não estiver incluído em um mapa de aspectos, o Dataplex Universal Catalog vai excluir o aspecto.
    • Atualiza um aspecto. Se um aspecto existir no seu projeto e estiver incluído em um mapa de aspectos, no campo de máscara de atualização e no campo de chaves de aspecto do arquivo de importação de metadados, e o carimbo de data/hora de atualização da origem do aspecto no arquivo de importação de metadados for mais recente que o carimbo de data/hora correspondente no seu projeto, o Dataplex Universal Catalog vai atualizar o aspecto.

      Se um carimbo de data/hora de atualização da origem do aspecto não for fornecido no arquivo de importação de metadados, mas a entrada correspondente estiver marcada para uma atualização, o Dataplex Universal Catalog também vai atualizar o aspecto.

      No entanto, se pelo menos um aspecto no arquivo de importação de metadados tiver um carimbo de data/hora mais antigo do que o carimbo correspondente no projeto, o Dataplex Universal Catalog não fará atualizações na entrada anexada.

Job somente de aspecto

Em um job de metadados somente de aspectos, para cada aspecto que faz parte do escopo do job, o Dataplex Universal Catalog faz uma das seguintes ações:

  • Cria um aspecto. Se um aspecto não existir no seu projeto e estiver incluído em um mapa de aspectos, no campo de máscara de atualização e no campo de chaves de aspecto do arquivo de importação de metadados, o Dataplex Universal Catalog vai criar o aspecto.
  • Exclui um aspecto. Para aspectos opcionais, se o aspecto existir no seu projeto e estiver incluído no campo de máscara de atualização e no campo de chaves de aspecto no arquivo de importação de metadados, mas não estiver incluído em um mapa de aspectos, o Dataplex Universal Catalog vai excluir o aspecto.

    Os aspectos obrigatórios não podem ser excluídos.

  • Atualiza um aspecto. Se um aspecto existir no seu projeto e estiver incluído em um mapa de aspectos, no campo de máscara de atualização e no campo de chaves de aspecto do arquivo de importação de metadados, e o carimbo de data/hora de atualização da origem do aspecto no arquivo de importação de metadados for mais recente que o carimbo de data/hora correspondente no seu projeto, o Dataplex Universal Catalog vai atualizar o aspecto.

    Se um carimbo de data/hora de atualização da origem do aspecto não for fornecido no arquivo de importação de metadados, o Dataplex Universal Catalog também vai atualizar o aspecto.

    O Dataplex Universal Catalog atualiza os aspectos com base no carimbo de data/hora da atualização da origem do aspecto, independente do carimbo de data/hora da atualização da origem da entrada correspondente.

Criar um arquivo de importação de metadados

Antes de importar metadados, crie um arquivo de importação de metadados para seu job. Siga estas etapas:

  1. Prepare um arquivo de importação de metadados seguindo as diretrizes descritas anteriormente neste documento.
  2. Faça upload do arquivo para um bucket do Cloud Storage.

É possível fornecer vários arquivos de importação de metadados no mesmo job de metadados. Para fornecer vários arquivos, salve-os no mesmo bucket do Cloud Storage. Ao executar o job, especifique um bucket, não um arquivo específico. O Dataplex Universal Catalog importa metadados de todos os arquivos salvos no bucket, incluindo aqueles que estão em subpastas.

Executar um job de importação de metadados

Depois de criar um arquivo de importação de metadados, execute o job de importação.

C#

C#

Antes de testar este exemplo, siga as instruções de configuração do C# no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog C#.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dataplex.V1;
using Google.LongRunning;

public sealed partial class GeneratedCatalogServiceClientSnippets
{
    /// <summary>Snippet for CreateMetadataJob</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CreateMetadataJobRequestObject()
    {
        // Create client
        CatalogServiceClient catalogServiceClient = CatalogServiceClient.Create();
        // Initialize request argument(s)
        CreateMetadataJobRequest request = new CreateMetadataJobRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            MetadataJob = new MetadataJob(),
            MetadataJobId = "",
            ValidateOnly = false,
        };
        // Make the request
        Operation<MetadataJob, OperationMetadata> response = catalogServiceClient.CreateMetadataJob(request);

        // Poll until the returned long-running operation is complete
        Operation<MetadataJob, OperationMetadata> completedResponse = response.PollUntilCompleted();
        // Retrieve the operation result
        MetadataJob result = completedResponse.Result;

        // Or get the name of the operation
        string operationName = response.Name;
        // This name can be stored, then the long-running operation retrieved later by name
        Operation<MetadataJob, OperationMetadata> retrievedResponse = catalogServiceClient.PollOnceCreateMetadataJob(operationName);
        // Check if the retrieved long-running operation has completed
        if (retrievedResponse.IsCompleted)
        {
            // If it has completed, then access the result
            MetadataJob retrievedResult = retrievedResponse.Result;
        }
    }
}

Go

Go

Antes de testar este exemplo, siga as instruções de configuração do Go no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Go.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.


package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewCatalogClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CreateMetadataJobRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CreateMetadataJobRequest.
	}
	op, err := c.CreateMetadataJob(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}

	resp, err := op.Wait(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

Antes de testar este exemplo, siga as instruções de configuração do Java no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Java.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.cloud.dataplex.v1.CatalogServiceClient;
import com.google.cloud.dataplex.v1.CreateMetadataJobRequest;
import com.google.cloud.dataplex.v1.LocationName;
import com.google.cloud.dataplex.v1.MetadataJob;

public class SyncCreateMetadataJob {

  public static void main(String[] args) throws Exception {
    syncCreateMetadataJob();
  }

  public static void syncCreateMetadataJob() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
      CreateMetadataJobRequest request =
          CreateMetadataJobRequest.newBuilder()
              .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setMetadataJob(MetadataJob.newBuilder().build())
              .setMetadataJobId("metadataJobId-2021530679")
              .setValidateOnly(true)
              .build();
      MetadataJob response = catalogServiceClient.createMetadataJobAsync(request).get();
    }
  }
}

Python

Python

Antes de testar este exemplo, siga as instruções de configuração do Python no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Python.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_create_metadata_job():
    # Create a client
    client = dataplex_v1.CatalogServiceClient()

    # Initialize request argument(s)
    metadata_job = dataplex_v1.MetadataJob()
    metadata_job.import_spec.scope.entry_groups = [
        "entry_groups_value1",
        "entry_groups_value2",
    ]
    metadata_job.import_spec.scope.entry_types = [
        "entry_types_value1",
        "entry_types_value2",
    ]
    metadata_job.import_spec.entry_sync_mode = "NONE"
    metadata_job.import_spec.aspect_sync_mode = "NONE"
    metadata_job.type_ = "EXPORT"

    request = dataplex_v1.CreateMetadataJobRequest(
        parent="parent_value",
        metadata_job=metadata_job,
    )

    # Make the request
    operation = client.create_metadata_job(request=request)

    print("Waiting for operation to complete...")

    response = operation.result()

    # Handle the response
    print(response)

Ruby

Ruby

Antes de testar este exemplo, siga as instruções de configuração do Ruby no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Ruby.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

require "google/cloud/dataplex/v1"

##
# Snippet for the create_metadata_job call in the CatalogService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::CatalogService::Client#create_metadata_job.
#
def create_metadata_job
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::CatalogService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::CreateMetadataJobRequest.new

  # Call the create_metadata_job method.
  result = client.create_metadata_job request

  # The returned object is of type Gapic::Operation. You can use it to
  # check the status of an operation, cancel it, or wait for results.
  # Here is how to wait for a response.
  result.wait_until_done! timeout: 60
  if result.response?
    p result.response
  else
    puts "No response received."
  end
end

REST

Para importar metadados, use o método metadataJobs.create.

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

  • PROJECT_NUMBER: o número ou ID do projeto do Google Cloud .
  • LOCATION_ID: o local Google Cloud , como us-central1.
  • METADATA_JOB_ID: opcional. O ID do job de metadados.
  • CLOUD_STORAGE_URI: o URI do bucket ou da pasta do Cloud Storage que contém os arquivos de importação de metadados. Para mais informações sobre os requisitos de arquivo, consulte Arquivo de importação de metadados.

  • ENTRY_GROUP: o nome do recurso relativo dos grupos de entradas que estão no escopo do trabalho, no formato projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/entryGroups/ENTRY_GROUP_ID. Para mais informações, consulte Escopo do job.
  • ENTRY_TYPE: o nome do recurso relativo de um tipo de entrada que está no escopo do trabalho, no formato projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/entryTypes/ENTRY_TYPE_ID. Para mais informações, consulte Escopo do job.

  • ASPECT_TYPE: o nome do recurso relativo de um tipo de aspecto que está no escopo do trabalho, no formato projects/PROJECT_ID_OR_NUMBER/locations/LOCATION_ID/aspectTypes/ASPECT_TYPE_ID. Opcional ao criar um job de sincronização de entrada completa, obrigatório ao criar um job somente de aspecto. Para mais informações, consulte Escopo do job.
  • ENTRY_SYNC_MODE: o modo de sincronização de entrada, como FULL ou NONE. Para mais informações, consulte Modo de sincronização.
  • LOG_LEVEL: o nível de registros a serem capturados, como INFO ou DEBUG. Para mais informações, consulte Ver registros de jobs e resolver problemas.

Método HTTP e URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/metadataJobs?metadataJobId=METADATA_JOB_ID

Corpo JSON da solicitação:

{
  "type": "IMPORT",
  "import_spec": {
    "source_storage_uri": "gs://CLOUD_STORAGE_URI/",
    "scope": {
      "entryGroups": [
        "ENTRY_GROUP"
      ],
      "entry_types": [
        "ENTRY_TYPE"
      ],
      "aspect_types": [
        "ASPECT_TYPE"
      ]
    },
    "entry_sync_mode": "ENTRY_SYNC_MODE",
    "aspect_sync_mode": "INCREMENTAL",
    "log_level": "LOG_LEVEL"
  }
}

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

A resposta identifica uma operação de longa duração.

Receber detalhes sobre um job de metadados

Para receber informações sobre um job de metadados, como o status dele e o número de entradas modificadas, siga estas etapas. Para mais informações sobre como resolver problemas de um job com falha, consulte a seção Ver registros de jobs e resolver problemas deste documento.

C#

C#

Antes de testar este exemplo, siga as instruções de configuração do C# no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog C#.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

using Google.Cloud.Dataplex.V1;

public sealed partial class GeneratedCatalogServiceClientSnippets
{
    /// <summary>Snippet for GetMetadataJob</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void GetMetadataJobRequestObject()
    {
        // Create client
        CatalogServiceClient catalogServiceClient = CatalogServiceClient.Create();
        // Initialize request argument(s)
        GetMetadataJobRequest request = new GetMetadataJobRequest
        {
            MetadataJobName = MetadataJobName.FromProjectLocationMetadataJob("[PROJECT]", "[LOCATION]", "[METADATAJOB]"),
        };
        // Make the request
        MetadataJob response = catalogServiceClient.GetMetadataJob(request);
    }
}

Go

Go

Antes de testar este exemplo, siga as instruções de configuração do Go no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Go.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.


package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewCatalogClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.GetMetadataJobRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#GetMetadataJobRequest.
	}
	resp, err := c.GetMetadataJob(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

Java

Antes de testar este exemplo, siga as instruções de configuração do Java no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Java.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.cloud.dataplex.v1.CatalogServiceClient;
import com.google.cloud.dataplex.v1.GetMetadataJobRequest;
import com.google.cloud.dataplex.v1.MetadataJob;
import com.google.cloud.dataplex.v1.MetadataJobName;

public class SyncGetMetadataJob {

  public static void main(String[] args) throws Exception {
    syncGetMetadataJob();
  }

  public static void syncGetMetadataJob() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
      GetMetadataJobRequest request =
          GetMetadataJobRequest.newBuilder()
              .setName(MetadataJobName.of("[PROJECT]", "[LOCATION]", "[METADATAJOB]").toString())
              .build();
      MetadataJob response = catalogServiceClient.getMetadataJob(request);
    }
  }
}

Python

Python

Antes de testar este exemplo, siga as instruções de configuração do Python no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Python.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_get_metadata_job():
    # Create a client
    client = dataplex_v1.CatalogServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.GetMetadataJobRequest(
        name="name_value",
    )

    # Make the request
    response = client.get_metadata_job(request=request)

    # Handle the response
    print(response)

Ruby

Ruby

Antes de testar este exemplo, siga as instruções de configuração do Ruby no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Ruby.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

require "google/cloud/dataplex/v1"

##
# Snippet for the get_metadata_job call in the CatalogService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::CatalogService::Client#get_metadata_job.
#
def get_metadata_job
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::CatalogService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::GetMetadataJobRequest.new

  # Call the get_metadata_job method.
  result = client.get_metadata_job request

  # The returned object is of type Google::Cloud::Dataplex::V1::MetadataJob.
  p result
end

REST

Para receber informações sobre um job de metadados, use o método metadataJobs.get.

Receber uma lista de jobs de metadados

É possível conferir uma lista dos jobs de metadados mais recentes. Jobs mais antigos que atingiram um estado final são excluídos periodicamente do sistema.

C#

C#

Antes de testar este exemplo, siga as instruções de configuração do C# no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog C#.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

using Google.Api.Gax;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dataplex.V1;
using System;

public sealed partial class GeneratedCatalogServiceClientSnippets
{
    /// <summary>Snippet for ListMetadataJobs</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void ListMetadataJobsRequestObject()
    {
        // Create client
        CatalogServiceClient catalogServiceClient = CatalogServiceClient.Create();
        // Initialize request argument(s)
        ListMetadataJobsRequest request = new ListMetadataJobsRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
            Filter = "",
            OrderBy = "",
        };
        // Make the request
        PagedEnumerable<ListMetadataJobsResponse, MetadataJob> response = catalogServiceClient.ListMetadataJobs(request);

        // Iterate over all response items, lazily performing RPCs as required
        foreach (MetadataJob item in response)
        {
            // Do something with each item
            Console.WriteLine(item);
        }

        // Or iterate over pages (of server-defined size), performing one RPC per page
        foreach (ListMetadataJobsResponse page in response.AsRawResponses())
        {
            // Do something with each page of items
            Console.WriteLine("A page of results:");
            foreach (MetadataJob item in page)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
        }

        // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
        int pageSize = 10;
        Page<MetadataJob> singlePage = response.ReadPage(pageSize);
        // Do something with the page of items
        Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
        foreach (MetadataJob item in singlePage)
        {
            // Do something with each item
            Console.WriteLine(item);
        }
        // Store the pageToken, for when the next page is required.
        string nextPageToken = singlePage.NextPageToken;
    }
}

Go

Go

Antes de testar este exemplo, siga as instruções de configuração do Go no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Go.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.


package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewCatalogClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.ListMetadataJobsRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#ListMetadataJobsRequest.
	}
	it := c.ListMetadataJobs(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp

		// If you need to access the underlying RPC response,
		// you can do so by casting the `Response` as below.
		// Otherwise, remove this line. Only populated after
		// first call to Next(). Not safe for concurrent access.
		_ = it.Response.(*dataplexpb.ListMetadataJobsResponse)
	}
}

Java

Java

Antes de testar este exemplo, siga as instruções de configuração do Java no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Java.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.cloud.dataplex.v1.CatalogServiceClient;
import com.google.cloud.dataplex.v1.ListMetadataJobsRequest;
import com.google.cloud.dataplex.v1.LocationName;
import com.google.cloud.dataplex.v1.MetadataJob;

public class SyncListMetadataJobs {

  public static void main(String[] args) throws Exception {
    syncListMetadataJobs();
  }

  public static void syncListMetadataJobs() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
      ListMetadataJobsRequest request =
          ListMetadataJobsRequest.newBuilder()
              .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
              .setPageSize(883849137)
              .setPageToken("pageToken873572522")
              .setFilter("filter-1274492040")
              .setOrderBy("orderBy-1207110587")
              .build();
      for (MetadataJob element : catalogServiceClient.listMetadataJobs(request).iterateAll()) {
        // doThingsWith(element);
      }
    }
  }
}

Python

Python

Antes de testar este exemplo, siga as instruções de configuração do Python no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Python.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_list_metadata_jobs():
    # Create a client
    client = dataplex_v1.CatalogServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.ListMetadataJobsRequest(
        parent="parent_value",
    )

    # Make the request
    page_result = client.list_metadata_jobs(request=request)

    # Handle the response
    for response in page_result:
        print(response)

Ruby

Ruby

Antes de testar este exemplo, siga as instruções de configuração do Ruby no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Ruby.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

require "google/cloud/dataplex/v1"

##
# Snippet for the list_metadata_jobs call in the CatalogService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::CatalogService::Client#list_metadata_jobs.
#
def list_metadata_jobs
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::CatalogService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::ListMetadataJobsRequest.new

  # Call the list_metadata_jobs method.
  result = client.list_metadata_jobs request

  # The returned object is of type Gapic::PagedEnumerable. You can iterate
  # over elements, and API calls will be issued to fetch pages as needed.
  result.each do |item|
    # Each element is of type ::Google::Cloud::Dataplex::V1::MetadataJob.
    p item
  end
end

REST

Para receber uma lista dos jobs de metadados mais recentes, use o método metadataJobs.list.

Cancelar um job de metadados

É possível cancelar um job de metadados que você não quer executar.

C#

C#

Antes de testar este exemplo, siga as instruções de configuração do C# no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog C#.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

using Google.Cloud.Dataplex.V1;

public sealed partial class GeneratedCatalogServiceClientSnippets
{
    /// <summary>Snippet for CancelMetadataJob</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CancelMetadataJobRequestObject()
    {
        // Create client
        CatalogServiceClient catalogServiceClient = CatalogServiceClient.Create();
        // Initialize request argument(s)
        CancelMetadataJobRequest request = new CancelMetadataJobRequest
        {
            MetadataJobName = MetadataJobName.FromProjectLocationMetadataJob("[PROJECT]", "[LOCATION]", "[METADATAJOB]"),
        };
        // Make the request
        catalogServiceClient.CancelMetadataJob(request);
    }
}

Go

Go

Antes de testar este exemplo, siga as instruções de configuração do Go no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Go.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.


package main

import (
	"context"

	dataplex "cloud.google.com/go/dataplex/apiv1"
	dataplexpb "cloud.google.com/go/dataplex/apiv1/dataplexpb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := dataplex.NewCatalogClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &dataplexpb.CancelMetadataJobRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/dataplex/apiv1/dataplexpb#CancelMetadataJobRequest.
	}
	err = c.CancelMetadataJob(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}

Java

Java

Antes de testar este exemplo, siga as instruções de configuração do Java no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Java.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.cloud.dataplex.v1.CancelMetadataJobRequest;
import com.google.cloud.dataplex.v1.CatalogServiceClient;
import com.google.cloud.dataplex.v1.MetadataJobName;
import com.google.protobuf.Empty;

public class SyncCancelMetadataJob {

  public static void main(String[] args) throws Exception {
    syncCancelMetadataJob();
  }

  public static void syncCancelMetadataJob() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CatalogServiceClient catalogServiceClient = CatalogServiceClient.create()) {
      CancelMetadataJobRequest request =
          CancelMetadataJobRequest.newBuilder()
              .setName(MetadataJobName.of("[PROJECT]", "[LOCATION]", "[METADATAJOB]").toString())
              .build();
      catalogServiceClient.cancelMetadataJob(request);
    }
  }
}

Python

Python

Antes de testar este exemplo, siga as instruções de configuração do Python no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Python.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import dataplex_v1


def sample_cancel_metadata_job():
    # Create a client
    client = dataplex_v1.CatalogServiceClient()

    # Initialize request argument(s)
    request = dataplex_v1.CancelMetadataJobRequest(
        name="name_value",
    )

    # Make the request
    client.cancel_metadata_job(request=request)

Ruby

Ruby

Antes de testar este exemplo, siga as instruções de configuração do Ruby no Guia de início rápido do catálogo universal do Dataplex: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Dataplex Universal Catalog Ruby.

Para autenticar no Dataplex Universal Catalog, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

require "google/cloud/dataplex/v1"

##
# Snippet for the cancel_metadata_job call in the CatalogService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::Dataplex::V1::CatalogService::Client#cancel_metadata_job.
#
def cancel_metadata_job
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::Dataplex::V1::CatalogService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::Dataplex::V1::CancelMetadataJobRequest.new

  # Call the cancel_metadata_job method.
  result = client.cancel_metadata_job request

  # The returned object is of type Google::Protobuf::Empty.
  p result
end

REST

Para cancelar um job de metadados, use o método metadataJobs.cancel.

Ver registros de jobs e resolver problemas

Use o Cloud Logging para ver os registros de um job de metadados. Para mais informações, consulte Monitorar registros do Dataplex Universal Catalog.

Você configura o nível de registro ao criar um job de metadados. Os seguintes níveis de registro estão disponíveis:

  • INFO: fornece registros no nível geral do job. Inclui registros agregados sobre itens de importação, mas não especifica qual item tem um erro.
  • DEBUG: fornece registros detalhados para cada item de importação. Use a geração de registros no nível de depuração para resolver problemas com itens de importação específicos. Por exemplo, use o registro em nível de depuração para identificar recursos ausentes no escopo do job, entradas ou aspectos que não estão em conformidade com o tipo de entrada ou aspecto associado ou outras configurações incorretas com o arquivo de importação de metadados.

Erros de validação

O Dataplex Universal Catalog valida os arquivos de importação de metadados com os metadados atuais do seu projeto. Se houver um problema de validação, o status do job poderá retornar um dos seguintes estados:

  • FAILED: acontece quando o arquivo de importação de metadados tem um erro. O Dataplex Universal Catalog não importa metadados, e o job falha. Exemplos de erros no arquivo de importação de metadados:
    • Não é possível analisar um item no arquivo em um item de importação válido
    • Uma entrada ou um aspecto no arquivo pertence a um grupo de entradas, um tipo de entrada ou um tipo de aspecto que não faz parte do escopo do job.
    • O mesmo nome de entrada é especificado mais de uma vez no job.
    • Um tipo de aspecto especificado em um mapa de aspectos ou nas chaves de aspecto não usa o formato PROJECT_ID_OR_NUMBER.LOCATION_ID.ASPECT_TYPE_ID@OPTIONAL_PATH
    • Um aspecto obrigatório está marcado para exclusão
  • SUCCEEDED_WITH_ERRORS: acontece quando o arquivo de importação de metadados pode ser analisado com sucesso, mas a importação de um item no arquivo faria com que uma entrada no projeto ficasse em um estado inconsistente. O Dataplex Universal Catalog ignora essas entradas, mas importa o restante dos metadados do arquivo.

Use os registros de jobs para resolver o erro.

A seguir