REST Resource: projects.locations.workflows

Recurso: MigrationWorkflow

Um fluxo de trabalho de migração que especifica o que precisa ser feito para uma migração do EDW.

Representação JSON
{
  "name": string,
  "displayName": string,
  "tasks": {
    string: {
      object (MigrationTask)
    },
    ...
  },
  "state": enum (State),
  "createTime": string,
  "lastUpdateTime": string
}
Campos
name

string

Apenas saída. Imutável. Identificador. O identificador exclusivo do fluxo de trabalho de migração. O ID é gerado pelo servidor.

Exemplo: projects/123/locations/us/workflows/345

displayName

string

O nome de exibição do fluxo de trabalho. Isso pode ser definido para dar um nome descritivo a um fluxo de trabalho. Não há garantia ou aplicação de exclusividade.

tasks

map (key: string, value: object (MigrationTask))

As tarefas em um fluxo de trabalho em um mapa nomeado. O nome (ou seja, chave) não tem significado e é meramente uma maneira conveniente de abordar uma tarefa específica em um fluxo de trabalho.

state

enum (State)

Apenas saída. Esse status do fluxo de trabalho.

createTime

string (Timestamp format)

Hora em que o fluxo de trabalho foi criado.

lastUpdateTime

string (Timestamp format)

Hora em que o fluxo de trabalho foi atualizado pela última vez.

MigrationTask

Uma única tarefa para uma migração que tem detalhes sobre a configuração da tarefa.

Representação JSON
{
  "id": string,
  "type": string,
  "state": enum (State),
  "processingError": {
    object (ErrorInfo)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "resourceErrorDetails": [
    {
      object (ResourceErrorDetail)
    }
  ],

  // Union field task_details can be only one of the following:
  "translationConfigDetails": {
    object (TranslationConfigDetails)
  }
  // End of list of possible types for union field task_details.
}
Campos
id

string

Apenas saída. Imutável. O identificador exclusivo da tarefa de migração. O ID é gerado pelo servidor.

type

string

O tipo da tarefa. Precisa ser um dos tipos de tarefas compatíveis: Translation_Teradata2BQ, Translation_Redshift2BQ, Translation_Bteq2BQ, Translation_Oracle2BQ, Translation_HiveQL2BQ, Translation_SparkSQL2BQ, Translation_Snowflake2BQ, Translation_Netezza2BQ, Translation_AzureSynapse2BQ, Translation_Vertica2BQ, Translation_SQLServer2BQ, Translation_Presto2BQ, Translation_MySQL2BQ, Translation_Postgresql2BQ.

state

enum (State)

Apenas saída. O estado atual da tarefa.

processingError

object (ErrorInfo)

Apenas saída. Uma explicação que pode ser preenchida quando a tarefa está no estado FAILED.

createTime

string (Timestamp format)

Hora em que a tarefa foi criada.

lastUpdateTime

string (Timestamp format)

Hora em que a tarefa foi atualizada pela última vez.

resourceErrorDetails[]

object (ResourceErrorDetail)

Apenas saída. Fornece detalhes dos erros e problemas encontrados durante o processamento da tarefa. A presença de detalhes do erro não significa que a tarefa falhou.

Campo de união task_details. Os detalhes da tarefa. task_details pode ser apenas de um dos tipos a seguir:
translationConfigDetails

object (TranslationConfigDetails)

Configuração de tarefas para tradução de SQL off-line/em lote do CW.

TranslationConfigDetails

A configuração de tradução para capturar as configurações necessárias para uma tarefa e subtarefa de tradução.

Representação JSON
{
  "sourceDialect": {
    object (Dialect)
  },
  "targetDialect": {
    object (Dialect)
  },
  "sourceEnv": {
    object (SourceEnv)
  },
  "gcsSourcePath": string,
  "gcsTargetPath": string,
  "nameMappingList": {
    object (ObjectNameMappingList)
  }
  // End of list of possible types for union field output_name_mapping.
}
Campos
sourceDialect

object (Dialect)

O dialeto dos arquivos de entrada.

targetDialect

object (Dialect)

O dialeto de destino para o qual o mecanismo traduzirá a entrada.

sourceEnv

object (SourceEnv)

Os valores padrão do ambiente de origem para a tradução.

requestSource

string

O indicador que mostra o iniciador da solicitação de tradução.

Campo de união source_location. O caminho escolhido em que a origem dos arquivos de entrada será encontrada. source_location pode ser apenas de um dos tipos a seguir:
gcsSourcePath

string

O caminho do Cloud Storage para um diretório de arquivos a serem convertidos em uma tarefa.

Campo de união target_location. O caminho escolhido em que o destino dos arquivos de saída será encontrado. target_location pode ser apenas de um dos tipos a seguir:
gcsTargetPath

string

O caminho do Cloud Storage em que os arquivos de entrada correspondentes serão gravados.

nameMappingList

object (ObjectNameMappingList)

O mapeamento de objetos para os nomes de saída desejados em formato de lista.

ObjectNameMappingList

Representa um mapa de mapeamentos de nomes usando uma lista de mensagens proto de chave-valor do nome atual para o nome de saída desejado.

Representação JSON
{
  "nameMap": [
    {
      object (ObjectNameMapping)
    }
  ]
}
Campos
nameMap[]

object (ObjectNameMapping)

Os elementos do mapa de nome do objeto.

ObjectNameMapping

Representa um par de chave-valor de NameMappingKey para NameMappingValue para representar o mapeamento de nomes SQL do valor de entrada até a saída desejada.

Representação JSON
{
  "source": {
    object (NameMappingKey)
  },
  "target": {
    object (NameMappingValue)
  }
}
Campos
source

object (NameMappingKey)

O nome do objeto na origem que está sendo mapeado.

target

object (NameMappingValue)

O nome do destino desejado do objeto que está sendo mapeado.

NameMappingKey

Os possíveis componentes de um mapeamento de nome completo que serão mapeados durante a tradução no data warehouse de origem.

Representação JSON
{
  "type": enum (Type),
  "database": string,
  "schema": string,
  "relation": string,
  "attribute": string
}
Campos
type

enum (Type)

O tipo de objeto que está sendo mapeado.

database

string

O nome do banco de dados (ID do projeto do BigQuery equivalente no data warehouse de origem).

schema

string

O nome do esquema (conjunto de dados do BigQuery equivalente no data warehouse de origem).

relation

string

O nome da relação (visualização ou tabela do BigQuery equivalente no data warehouse de origem).

attribute

string

O nome do atributo (coluna do BigQuery equivalente no data warehouse de origem).

Tipo

O tipo do objeto que está sendo mapeado.

Enums
TYPE_UNSPECIFIED Tipo de mapeamento de nome não especificado.
DATABASE O objeto que está sendo mapeado é um banco de dados.
SCHEMA O objeto que está sendo mapeado é um esquema.
RELATION O objeto que está sendo mapeado é uma relação.
ATTRIBUTE O objeto que está sendo mapeado é um atributo.
RELATION_ALIAS O objeto que está sendo mapeado é um alias de relação.
ATTRIBUTE_ALIAS O objeto que está sendo mapeado é um alias de atributo.
FUNCTION O objeto que está sendo mapeado é uma função.

NameMappingValue

Os possíveis componentes de um mapeamento de nome completo que serão mapeados durante a tradução no data warehouse de destino.

Representação JSON
{
  "database": string,
  "schema": string,
  "relation": string,
  "attribute": string
}
Campos
database

string

O nome do banco de dados (ID do projeto do BigQuery equivalente no data warehouse de destino).

schema

string

O nome do esquema (conjunto de dados do BigQuery equivalente no data warehouse de destino).

relation

string

O nome da relação (visualização ou tabela do BigQuery equivalente no data warehouse de destino).

attribute

string

O nome do atributo (coluna do BigQuery equivalente no data warehouse de destino).

Dialeto

As possíveis opções de dialeto para tradução.

Representação JSON
{

  // Union field dialect_value can be only one of the following:
  "bigqueryDialect": {
    object (BigQueryDialect)
  },
  "hiveqlDialect": {
    object (HiveQLDialect)
  },
  "redshiftDialect": {
    object (RedshiftDialect)
  },
  "teradataDialect": {
    object (TeradataDialect)
  },
  "oracleDialect": {
    object (OracleDialect)
  },
  "sparksqlDialect": {
    object (SparkSQLDialect)
  },
  "snowflakeDialect": {
    object (SnowflakeDialect)
  },
  "netezzaDialect": {
    object (NetezzaDialect)
  },
  "azureSynapseDialect": {
    object (AzureSynapseDialect)
  },
  "verticaDialect": {
    object (VerticaDialect)
  },
  "sqlServerDialect": {
    object (SQLServerDialect)
  },
  "postgresqlDialect": {
    object (PostgresqlDialect)
  },
  "prestoDialect": {
    object (PrestoDialect)
  },
  "mysqlDialect": {
    object (MySQLDialect)
  }
  // End of list of possible types for union field dialect_value.
}
Campos
Campo de união dialect_value. As possíveis opções de dialeto que esta mensagem representa. dialect_value pode ser apenas de um dos tipos a seguir:
bigqueryDialect

object (BigQueryDialect)

O dialeto do BigQuery

hiveqlDialect

object (HiveQLDialect)

O dialeto do HiveQL

redshiftDialect

object (RedshiftDialect)

O dialeto do Redshift

teradataDialect

object (TeradataDialect)

O dialeto do Teradata

oracleDialect

object (OracleDialect)

O dialeto do Oracle

sparksqlDialect

object (SparkSQLDialect)

O dialeto do SparkSQL

snowflakeDialect

object (SnowflakeDialect)

O dialeto do Snowflake

netezzaDialect

object (NetezzaDialect)

O dialeto do Netezza

azureSynapseDialect

object (AzureSynapseDialect)

O dialeto do Azure Synapse

verticaDialect

object (VerticaDialect)

O dialeto do Vertica

sqlServerDialect

object (SQLServerDialect)

O dialeto do SQL Server

postgresqlDialect

object (PostgresqlDialect)

O dialeto do Postgresql

prestoDialect

object (PrestoDialect)

O dialeto do Presto

mysqlDialect

object (MySQLDialect)

O dialeto do MySQL

BigQueryDialect

Esse tipo não tem campos.

A definição do dialeto para o BigQuery.

HiveQLDialect

Esse tipo não tem campos.

A definição do dialeto para o HiveQL.

RedshiftDialect

Esse tipo não tem campos.

A definição do dialeto para o Redshift.

TeradataDialect

A definição do dialeto para o Teradata.

Representação JSON
{
  "mode": enum (Mode)
}
Campos
mode

enum (Mode)

Qual modo de subdialeto do Teradata o usuário especifica.

Modo

As opções de subdialetos para o Teradata.

Enums
MODE_UNSPECIFIED Modo não especificado.
SQL Modo SQL do Teradata.
BTEQ Modo BTEQ (que inclui SQL).

OracleDialect

Esse tipo não tem campos.

A definição do dialeto para o Oracle.

SparkSQLDialect

Esse tipo não tem campos.

A definição do dialeto para o SparkSQL.

SnowflakeDialect

Esse tipo não tem campos.

A definição do dialeto para o Snowflake.

NetezzaDialect

Esse tipo não tem campos.

A definição do dialeto para o Netezza.

AzureSynapseDialect

Esse tipo não tem campos.

A definição do dialeto para o Azure Synapse.

VerticaDialect

Esse tipo não tem campos.

A definição do dialeto para o Vertica.

SQLServerDialect

Esse tipo não tem campos.

A definição do dialeto para o SQL Server.

PostgresqlDialect

Esse tipo não tem campos.

A definição do dialeto para Postgresql.

PrestoDialect

Esse tipo não tem campos.

A definição do dialeto para o Presto.

MySQLDialect

Esse tipo não tem campos.

A definição do dialeto para o MySQL.

SourceEnv

Representa os valores padrão do ambiente de origem para a tradução.

Representação JSON
{
  "defaultDatabase": string,
  "schemaSearchPath": [
    string
  ],
  "metadataStoreDataset": string
}
Campos
defaultDatabase

string

O nome padrão do banco de dados para qualificar totalmente objetos SQL quando o nome do banco de dados está ausente.

schemaSearchPath[]

string

O caminho de pesquisa do esquema. Quando os objetos SQL não têm o nome do esquema, o mecanismo de tradução pesquisará essa lista para encontrar o valor.

Estado

Os estados possíveis de uma tarefa de migração.

Enums
STATE_UNSPECIFIED O estado não está especificado.
PENDING A tarefa está aguardando a orquestração.
ORCHESTRATING A tarefa é atribuída a um orquestrador.
RUNNING A tarefa está em execução, ou seja, suas subtarefas estão prontas para execução.
PAUSED A tarefa está pausada. As subtarefas atribuídas podem continuar, mas nenhuma subtarefa nova será agendada.
SUCCEEDED A tarefa foi concluída.
FAILED A tarefa foi concluída sem sucesso.

Estado

Possíveis estados do fluxo de trabalho de migração.

Enums
STATE_UNSPECIFIED O estado do fluxo de trabalho não foi especificado.
DRAFT O fluxo de trabalho está com status rascunho, ou seja, as tarefas ainda não estão qualificadas para execução.
RUNNING O fluxo de trabalho está em execução (ou seja, as tarefas estão qualificadas para execução).
PAUSED O fluxo de trabalho está pausado. As tarefas em andamento podem continuar, mas nenhuma outra tarefa será agendada.
COMPLETED O fluxo de trabalho foi concluído. Não deve haver tarefas em estado não terminal, mas se houver (por exemplo, encerramento forçado), elas não serão programadas.

Métodos

create

Cria um fluxo de trabalho de migração.

delete

Exclui um fluxo de trabalho de migração por nome.

get

Recebe um fluxo de trabalho de migração criado anteriormente.

list

Lista o fluxo de trabalho de migração criado anteriormente.

start

Inicia um fluxo de trabalho de migração criado anteriormente.