Importar metadados usando um pipeline personalizado

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

Se você quiser usar um pipeline de Orquestração de Pipelines gerenciado pelo Google Cloud para extrair e importar metadados, sugerimos usar um pipeline de conectividade gerenciada. Com um pipeline de conectividade gerenciada, você traz seu próprio conector que extrai metadados e gera uma 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. 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 os 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 Knowledge 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 definem os dados a serem importados.

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

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

As etapas nesta página pressupõem que você conhece os conceitos de metadados do Knowledge Catalog, incluindo grupos de entrada, tipos de entrada e tipos de aspecto. Para mais informações, consulte Sobre metadados no Knowledge 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 Knowledge Catalog tenha as permissões necessárias para acessar o bucket do Cloud Storage, peça ao administrador para conceder à conta de serviço do Knowledge Catalog 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.

Criar recursos do Google Cloud

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 aspecto, 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 entrada, os tipos de entrada e os tipos de aspecto 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 Knowledge Catalog determina quais entradas e aspectos modificar.

Escopo do job

O escopo do job define os grupos de entrada, os tipos de entrada e os tipos de aspecto 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 entrada: especifique um ou mais grupos de entrada para incluir no job. O job modifica apenas as entradas e os aspectos que pertencem a esses grupos de entrada. Os grupos de entrada e o job precisam estar na mesma região.

  • Tipos de entrada: especifique um ou mais tipos de entrada para incluir no job. O job 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 job ou o tipo de entrada precisa 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 de aspecto. O local de um tipo de aspecto precisa corresponder ao local do job ou o tipo de aspecto precisa ser global.

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

Especifique 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 aspecto Resultados
Importar entradas e os aspectos delas FULL INCREMENTAL

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

Se uma entrada existir no Knowledge 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 ao aspecto 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 aos aspectos no campo aspectKeys. Consulte Estrutura de um item de importação.

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

Especifique 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. Prepare 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 completa de entradas, as entradas fornecidas no arquivo substituem completamente todas as entradas atuais de todos os recursos que estão 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 receber uma lista das entradas atuais no projeto e usá-la como ponto de partida, use o método de API entries.list.

  • É preciso fornecer um arquivo de importação de metadados como parte de um job de metadados. Se você quiser excluir todos os dados atuais das entradas que estão 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, tipos de entrada e tipos de aspecto 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 no 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 é semelhante ao seguinte exemplo:

{ "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 aspecto, o Knowledge Catalog ignora todos os campos opcionais de uma entrada, exceto os mapas de aspecto.

    • ENTRY_NAME: o nome do recurso relativo 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 que foi usado para criar essa 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 horário em que a entrada foi criada no sistema de origem.
      • ENTRY_UPDATE_TIMESTAMP: o horário 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 aspecto.

      • 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 como UTF-8. O tamanho máximo do campo é 120 KB. O dicionário data é obrigatório, mesmo que esteja vazio.

      • ASPECT_CREATE_TIMESTAMP: o horário em que o aspecto foi criado no sistema de origem.

      • ASPECT_UPDATE_TIMESTAMP: o horário em que o aspecto foi atualizado no sistema de origem.

    • PARENT_ENTRY: o nome do recurso da entrada pai.

    • 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 de entrada completa, o Knowledge 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 job de metadados somente de aspecto, defina esse valor como aspects.

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

    • ASPECT_TYPE_REFERENCE: corresponde ao tipo de aspecto dos 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 de 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 que estão presentes na entrada especificada. O Knowledge Catalog adiciona implicitamente as chaves para todos os aspectos obrigatórios de uma entrada.

Requisitos dos arquivos

O arquivo de importação de metadados tem os 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.
  • O tamanho de cada arquivo de importação de metadados precisa ser menor que 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 job 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 Knowledge Catalog determina quais entradas e aspectos modificar comparando os valores e carimbos de data/hora que você fornece no arquivo de importação de metadados com os valores e carimbos de data/hora que existem no seu projeto.

Em um nível geral, o Knowledge Catalog atualiza os valores no projeto quando pelo menos uma mudança proposta no arquivo de importação de metadados altera o estado do projeto quando o job é executado, 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.

Job 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 Knowledge Catalog faz uma das seguintes ações:

  • Cria uma entrada e os aspectos anexados. Se o arquivo de importação de metadados incluir uma entrada que não existe no projeto, o Knowledge 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 Knowledge Catalog vai excluir a entrada e os aspectos anexados dela do seu projeto.
  • Atualiza uma entrada e os aspectos anexados. Se houver uma entrada no arquivo de importação de metadados e no projeto, o Knowledge Catalog vai avaliar os carimbos de data/hora da origem da entrada e os carimbos de data/hora da origem do aspecto associados à entrada para determinar quais valores modificar. Em seguida, o Knowledge 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 Knowledge Catalog vai recriar a entrada no projeto.
    • Atualiza a entrada. Se o carimbo de data/hora de atualizaçã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 Knowledge Catalog vai atualizar a entrada no projeto.
    • Cria um aspecto. Se um aspecto não existir no 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 no arquivo de importação de metadados, o Knowledge Catalog vai criar o aspecto.
    • Exclui um aspecto. Se um aspecto existir no 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 Knowledge Catalog vai excluir o aspecto.
    • Atualiza um aspecto. Se um aspecto existir no 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 no 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 do que o carimbo de data/hora correspondente no projeto, o Knowledge 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 Knowledge Catalog também 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 de data/hora correspondente no projeto, o Knowledge Catalog não fará atualizações na entrada anexada.

Job somente de aspecto

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

  • Cria um aspecto. Se um aspecto não existir no 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 no arquivo de importação de metadados, o Knowledge 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 Knowledge Catalog vai excluir o aspecto.

    Não é possível excluir aspectos obrigatórios.

  • Atualiza um aspecto. Se um aspecto existir no 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 no 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 do que o carimbo de data/hora correspondente no projeto, o Knowledge 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 Knowledge Catalog também atualizará o aspecto.

    O Knowledge Catalog atualiza os aspectos com base no carimbo de data/hora de atualização da origem do aspecto, independentemente do carimbo de data/hora de 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 o 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 em 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, você especifica um bucket, não um arquivo específico. O Knowledge Catalog importa metadados de todos os arquivos salvos no bucket, incluindo os 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 de metadados.

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 o ID do projeto do Google Cloud .
  • LOCATION_ID: o local do Google Cloud , como us-central1.
  • METADATA_JOB_ID: opcional. O ID da tarefa 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 entrada que estão no escopo do job, 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 job, 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 job, 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/TARGET_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 do job e o número de entradas que foram modificadas, siga as etapas abaixo. 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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog C#.

Para autenticar no Knowledge 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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Go.

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


//go:build examples

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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Java.

Para autenticar no Knowledge 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);
    }
  }
}

Node.js

Node.js

Antes de testar este exemplo, siga as instruções de configuração do Node.js no guia de início rápido do Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Node.js.

Para autenticar no Knowledge 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.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The resource name of the metadata job, in the format
 *  `projects/{project_id_or_number}/locations/{location_id}/metadataJobs/{metadata_job_id}`.
 */
// const name = 'abc123'

// Imports the Dataplex library
const {CatalogServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new CatalogServiceClient();

async function callGetMetadataJob() {
  // Construct request
  const request = {
    name,
  };

  // Run request
  const response = await dataplexClient.getMetadataJob(request);
  console.log(response);
}

callGetMetadataJob();

Python

Python

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

Para autenticar no Knowledge 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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Ruby.

Para autenticar no Knowledge 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.

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

  • PROJECT_NUMBER: o número ou o ID do projeto do Google Cloud .
  • LOCATION_ID: o local do Google Cloud , como us-central1.
  • METADATA_JOB_ID: o ID da tarefa de metadados.

Método HTTP e URL:

GET https://dataplex.googleapis.com/v1/projects/TARGET_PROJECT_NUMBER/locations/LOCATION_ID/metadataJobs/METADATA_JOB_ID

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

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/123456789012/locations/us-central1/metadataJobs/my-metadata-job",
  "uid": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
  "createTime": "2026-07-17T16:30:15Z",
  "updateTime": "2026-07-17T16:35:15Z",
  "type": "IMPORT",
  "importSpec": {
    "sourceStorageUri": "gs://my-bucket/",
    "scope": {
      "entryGroups": [
        "projects/123456789012/locations/us-central1/entryGroups/my-entry-group"
      ],
      "entryTypes": [
        "projects/123456789012/locations/us-central1/entryTypes/my-entry-type"
      ],
      "aspectTypes": [
        "projects/123456789012/locations/us-central1/aspectTypes/my-aspect-type"
      ]
    },
    "entrySyncMode": "FULL",
    "aspectSyncMode": "INCREMENTAL",
    "logLevel": "INFO"
  },
  "status": {
    "state": "SUCCEEDED"
  },
  "importResult": {
    "deletedEntries": "2",
    "updatedEntries": "5",
    "createdEntries": "10",
    "unchangedEntries": "20",
    "updateTime": "2026-07-17T16:35:15Z"
  }
}

Receber uma lista de jobs de metadados

É possível ver uma lista dos jobs de metadados mais recentes. Os jobs mais antigos que atingiram um estado terminal 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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog C#.

Para autenticar no Knowledge 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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Go.

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


//go:build examples

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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Java.

Para autenticar no Knowledge 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);
      }
    }
  }
}

Node.js

Node.js

Antes de testar este exemplo, siga as instruções de configuração do Node.js no guia de início rápido do Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Node.js.

Para autenticar no Knowledge 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.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The resource name of the parent location, in the format
 *  `projects/{project_id_or_number}/locations/{location_id}`
 */
// const parent = 'abc123'
/**
 *  Optional. The maximum number of metadata jobs to return. The service might
 *  return fewer jobs than this value. If unspecified, at most 10 jobs are
 *  returned. The maximum value is 1,000.
 */
// const pageSize = 1234
/**
 *  Optional. The page token received from a previous `ListMetadataJobs` call.
 *  Provide this token to retrieve the subsequent page of results. When
 *  paginating, all other parameters that are provided to the
 *  `ListMetadataJobs` request must match the call that provided the page
 *  token.
 */
// const pageToken = 'abc123'
/**
 *  Optional. Filter request. Filters are case-sensitive.
 *  The service supports the following formats:
 *  * `labels.key1 = "value1"`
 *  * `labels:key1`
 *  * `name = "value"`
 *  You can combine filters with `AND`, `OR`, and `NOT` operators.
 */
// const filter = 'abc123'
/**
 *  Optional. The field to sort the results by, either `name` or `create_time`.
 *  If not specified, the ordering is undefined.
 */
// const orderBy = 'abc123'

// Imports the Dataplex library
const {CatalogServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new CatalogServiceClient();

async function callListMetadataJobs() {
  // Construct request
  const request = {
    parent,
  };

  // Run request
  const iterable = dataplexClient.listMetadataJobsAsync(request);
  for await (const response of iterable) {
      console.log(response);
  }
}

callListMetadataJobs();

Python

Python

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

Para autenticar no Knowledge 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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Ruby.

Para autenticar no Knowledge 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 ver 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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog C#.

Para autenticar no Knowledge 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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Go.

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


//go:build examples

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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Java.

Para autenticar no Knowledge 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);
    }
  }
}

Node.js

Node.js

Antes de testar este exemplo, siga as instruções de configuração do Node.js no guia de início rápido do Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Node.js.

Para autenticar no Knowledge 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.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The resource name of the job, in the format
 *  `projects/{project_id_or_number}/locations/{location_id}/metadataJobs/{metadata_job_id}`
 */
// const name = 'abc123'

// Imports the Dataplex library
const {CatalogServiceClient} = require('@google-cloud/dataplex').v1;

// Instantiates a client
const dataplexClient = new CatalogServiceClient();

async function callCancelMetadataJob() {
  // Construct request
  const request = {
    name,
  };

  // Run request
  const response = await dataplexClient.cancelMetadataJob(request);
  console.log(response);
}

callCancelMetadataJob();

Python

Python

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

Para autenticar no Knowledge 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 Knowledge Catalog: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Knowledge Catalog Ruby.

Para autenticar no Knowledge 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 Knowledge 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 de importação 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 a geração de registros no nível de depuração para identificar recursos que estão ausentes do 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 no arquivo de importação de metadados.

Erros de validação

O Knowledge Catalog valida os arquivos de importação de metadados em relação aos metadados atuais no 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 Knowledge Catalog não importa metadados, e o job falha. Exemplos de erros no arquivo de importação de metadados incluem:
    • Não é possível analisar um item no arquivo como um item de importação válido
    • Uma entrada ou aspecto no arquivo pertence a um grupo de entradas, tipo de entrada ou tipo de aspecto que não faz parte do escopo do job.
    • O mesmo nome de entrada foi especificado mais de uma vez no job
    • Um tipo de aspecto especificado em um mapa de aspecto ou as chaves de aspecto não usam 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, mas a importação de um item no arquivo faz com que uma entrada no projeto fique em um estado inconsistente. O Knowledge Catalog ignora essas entradas, mas importa o restante dos metadados do arquivo.

Use os registros de jobs para resolver o erro.

A seguir