Consulte os conetores suportados para a solução Application Integration.

Tarefa de mapeamento de dados

A tarefa Mapeamento de dados permite-lhe fazer atribuições de variáveis na sua integração, obter e definir propriedades de objetos JSON e aplicar funções de transformação aninhadas a valores. As variáveis podem ser variáveis de integração ou variáveis de tarefas.

Por exemplo, pode atribuir valores de uma variável de integração X a uma variável de tarefa Y ou de uma variável de tarefa Y a uma variável de integração X. Para mais informações sobre as variáveis na integração de aplicações, consulte o artigo Usar variáveis na integração de aplicações.

Configure a tarefa de mapeamento de dados

Para configurar uma tarefa de mapeamento de dados, siga estes passos:

  1. Na Google Cloud consola, aceda à página Application Integration.

    Aceda à solução Application Integration

  2. No menu de navegação, clique em Integrações.

    A página Integrações é apresentada com todas as integrações disponíveis no projeto do Google Cloud.

  3. Selecione uma integração existente ou clique em Criar integração para criar uma nova.

    Se estiver a criar uma nova integração:

    1. Introduza um nome e uma descrição no painel Criar integração.
    2. Selecione uma região para a integração.
    3. Selecione uma conta de serviço para a integração. Pode alterar ou atualizar os detalhes da conta de serviço de uma integração em qualquer altura no painel Resumo da integração na barra de ferramentas de integração.
    4. Clique em Criar. A integração recém-criada é aberta no editor de integração.

  4. Na barra de navegação do editor de integração, clique em Tasks para ver a lista de tarefas e conetores disponíveis.
  5. Clique e coloque o elemento Mapeamento de dados no editor de integração.
  6. Clique no elemento Mapeamento de dados no estruturador para ver o painel de configuração da tarefa Mapeamento de dados.
  7. Clique em Abrir editor de mapeamento de dados para ver os valores predefinidos da tarefa e adicionar um novo mapeamento. Para ver passos detalhados sobre como adicionar um mapeamento, consulte o artigo Adicione um mapeamento.

    Para mais informações sobre o esquema do editor de mapeamento de dados, consulte o artigo Vista geral do mapeamento de dados.

Adicione um mapeamento

Para adicionar um mapeamento, siga estes passos:

  1. No painel de configuração da tarefa Mapeamento de dados, clique em Abrir editor de mapeamento de dados.
  2. Configure o mapeamento Input:
    1. Arraste uma variável ou o respetivo subcampo da lista Variáveis para a linha Entrada. Para ver os subcampos disponíveis de uma variável, clique em (Expandir) junto a essa variável na lista Variáveis.
    2. Em alternativa, na linha Entrada, clique em Variável ou valor e faça o seguinte:
      • Selecione Variável para pesquisar e usar uma variável existente. Para criar uma nova variável, clique em + Adicionar nova variável e introduza o nome e o tipo de dados da nova variável.
      • Selecione Valor para introduzir um valor literal do tipo string, integer, double, ou Boolean).
      • Selecione Função para pesquisar e usar uma função base.

        Uma função base é usada para obter ou gerar valores durante a execução de uma integração. Por exemplo, gerar um UUID aleatório ou obter a região de integração atual. Para obter informações sobre as funções básicas suportadas, consulte o artigo Funções básicas suportadas.

      • Clique em Guardar.
    3. Clique em + (Adicionar uma função) em qualquer variável de entrada, valor ou função base na linha Entrada para adicionar uma função de mapeamento a partir da lista de funções de mapeamento disponíveis. Uma função de mapeamento pode ter um ou mais parâmetros. Cada parâmetro pode ter ainda um valor, uma variável ou uma função base seguida de uma cadeia de funções de mapeamento.
      • Para adicionar uma função aninhada, clique em + (Adicionar uma função) junto ao parâmetro da função. Da mesma forma, para remover ou eliminar a função adicionada mais recentemente, clique em - (Eliminar função anterior).
      • Para adicionar, remover ou alterar uma função entre uma expressão de mapeamento, clique numa função e selecione Adicionar função, Remover função ou Alterar função, respetivamente, no menu pendente.
      • Para saber mais sobre as funções de mapeamento, consulte as funções de mapeamento.

        Para ver informações sobre as funções de mapeamento suportadas, consulte o artigo Tipos de dados e funções de mapeamento suportados.

      • Para remover uma variável numa expressão de mapeamento, clique em (Remover) junto à linha da variável.
      • Para remover toda a linha Entrada, clique em (Limpar) na linha.
  3. Configure o mapeamento Saída:
    1. Arraste uma variável da lista Variáveis para a linha Saída. Se a variável não estiver disponível, clique em criar uma nova para configurar o nome e o tipo de dados da nova variável. Opcionalmente, pode clicar na variável de saída e selecionar se quer usar essa variável como uma saída da integração ou como uma entrada para outra integração.
    2. Para remover a variável de saída, clique em (Limpar).
  4. (Opcional) Para eliminar uma linha de mapeamento, clique em (Eliminar este mapeamento).
  5. Feche o Editor de mapeamento de dados quando o mapeamento estiver concluído. As alterações são guardadas automaticamente.

O mapeamento de dados concluído está disponível para visualização no painel de configuração da tarefa Mapeamento de dados, conforme mostrado na imagem seguinte:

Imagem que mostra o editor de mapeamento de dados Imagem que mostra o editor de mapeamento de dados

Tipos de dados e funções de mapeamento suportados

A integração de aplicações suporta os seguintes tipos de dados para variáveis na tarefa Mapeamento de dados:

  • String e matriz de strings
  • Número inteiro e matriz de números inteiros
  • Duplo e matriz dupla
  • Booleano e matriz booleana
  • JSON
A tabela seguinte apresenta as funções de mapeamento de dados disponíveis para cada um dos tipos de dados.
Tipo de dados Funções de mapeamento suportadas
Booleano AND, EQUALS, NAND, NOR, NOT, OR, TO_JSON, TO_STRING, XNOR, XOR
Matriz booleana APPEND, APPEND_ALL, CONTAINS, FILTER, FOR_EACH, GET, REMOVE, REMOVE_AT, SET, SIZE, TO_JSON, TO_SET
Duplo ADD, DIVIDE, CEIL, EQUALS, EXPONENT, GREATER_THAN, GREATER_THAN_EQUAL_TO, FLOOR, LESS_THAN, LESS_THAN_EQUAL_TO, MOD, MULTIPLY, ROUND, SUBTRACT, TO_JSON, TO_STRING
Matriz dupla APPEND, APPEND_ALL, AVG, CONTAINS, FILTER, FOR_EACH, GET, MAX, MIN, REMOVE, REMOVE_AT, SET, SIZE, SUM, TO_JSON, TO_SET
Número inteiro ADD, DIVIDE, EPOCH_TO_HUMAN_READABLE_TIME, EQUALS, EXPONENT, GREATER_THAN, GREATER_THAN_EQUAL_TO, LESS_THAN, LESS_THAN_EQUAL_TO, MOD, MULTIPLY, SUBTRACT, TO_DOUBLE, TO_JSON, TO_STRING
Matriz de números inteiros APPEND, APPEND_ALL, AVG, CONTAINS, FILTER, FOR_EACH, GET, MAX, MIN, REMOVE, REMOVE_AT, SET, SIZE, SUM, TO_JSON, TO_SET
JSON APPEND_ELEMENT, FLATTEN, FILTER, FOR_EACH, GET_ELEMENT, GET_PROPERTY, MERGE, REMOVE_PROPERTY, RESOLVE_TEMPLATE, SET_PROPERTY, SIZE, TO_BOOLEAN, TO_BOOLEAN_ARRAY, TO_DOUBLE, TO_DOUBLE_ARRAY, TO_INT, TO_INT_ARRAY, TO_STRING, TO_STRING_ARRAY
String CONCAT, CONTAINS, DECODE_BASE64_STRING, EQUALS, EQUALS_IGNORE_CASE, LENGTH, REPLACE_ALL, RESOLVE_TEMPLATE, SPLIT, SUBSTRING, TO_BASE_64, TO_BOOLEAN, TO_DOUBLE, TO_INT, TO_JSON, TO_LOWERCASE, TO_UPPERCASE
Matriz de strings APPEND, APPEND_ALL, CONTAINS, FILTER, FOR_EACH, GET, REMOVE, REMOVE_AT, SET, SIZE, TO_JSON, TO_SET
Para mais informações sobre cada uma das funções de mapeamento de dados, consulte a referência das funções de mapeamento de dados.

Funções de base suportadas

A tabela seguinte indica as funções base de mapeamento de dados disponíveis:
Tipo de dados Funções de base suportadas
Número inteiro NOW_IN_MILLIS
Matriz de números inteiros INT_LIST
String GENERATE_UUID, GET_EXECUTION_ID, GET_INTEGRATION_NAME, GET_INTEGRATION_REGION, GET_PROJECT_ID
Para mais informações sobre cada uma das funções base de mapeamento de dados, consulte o artigo Referência das funções de mapeamento de dados.

Práticas recomendadas

A tarefa Mapeamento de dados pode ser uma forma eficaz de transformar e transmitir variáveis importantes a várias tarefas na sua integração. Seguem-se algumas sugestões a ter em atenção à medida que cria a sua integração:

  • Os mapeamentos são executados em sequência de cima para baixo. Ou seja, se a variável de entrada A estiver mapeada para uma variável de saída B na primeira linha, a variável B está disponível para mapeamento nas linhas subsequentes.
  • Em cada linha, o tipo de dados da linha Input tem de corresponder ao tipo de dados da linha Output. Para fazer a conversão entre tipos, use funções de transformação, como TO_STRING e TO_INT.
  • Não existem limitações quanto à duração da encadeamento de transformações. No entanto, a depuração de transformações encadeadas grandes pode ser difícil. Recomendamos que mantenha as transformações de entrada legíveis e divida as transformações complexas em várias associações.
  • Se um mapeamento exigir um valor alternativo, defina um valor alternativo para o mapeamento. Se não fornecer um valor alternativo, o mapeamento devolve um erro quando o valor de entrada ou a transformação devolve null.
  • Quando eliminar uma variável, certifique-se de que elimina todos os mapeamentos que a contenham.

Para informações sobre os limites de utilização que se aplicam à tarefa Mapeamento de dados, consulte Limites de utilização.

Considerações

Para variáveis JSON, com base num esquema JSON, a integração de aplicações interpreta a propriedade secundária da variável como um tipo JSON nos seguintes casos:

  • Se o tipo da propriedade secundária especificar nulo. Por exemplo:
    {
      "properties": {
        "PersonID": {
          "type": [
            "double",
            "null"
          ],
          "readOnly": false
        }
      }
    }
  • Se o tipo da propriedade secundária especificar vários tipos de dados. Por exemplo:
    {
      "properties": {
        "PersonID": {
          "type": [
            "integer",
            "string",
            "number"
          ],
          "readOnly": false
        }
      }
    }

Nestes casos, tem de converter explicitamente as variáveis secundárias no tipo pretendido através das funções de mapeamento de dados.

Os exemplos seguintes ilustram os vários tipos de declarações de propriedades e mostram como usar as funções de mapeamento de dados para obter o tipo pretendido:

Exemplo 1

{
  "type": "object",
  "properties": {
    "dbIntegers": {
      "type": "array",
      "items": {
        "type": [
          "integer",
          "null"
        ]
      }
    },
    "dbBooleans": {
      "type": [
        "array"
      ],
      "items": {
        "type": "boolean"
      }
    }
  }
}
A integração de aplicações interpreta dbIntegers como um tipo JSON e dbBooleans como um tipo BOOLEAN_ARRAY.

Para converter dbIntegers, use:

dbIntegers.TO_INT_ARRAY()

Exemplo 2

{
  "type": "object",
  "properties": {
    "dbId": {
      "type": [
        "number",
        "null"
      ],
      "readOnly": false
    },
    "dbStatus": {
      "type": [
        "boolean",
        "null"
      ],
      "readOnly": false
    }
  }
}
A integração de aplicações reconhece dbId e dbStatus como tipos JSON, mas dbId é um parâmetro que pode assumir um único valor duplo ou um valor nulo, e dbStatus é um parâmetro que pode assumir um único valor booleano ou um valor nulo.

Para converter dbId e dbStatus, use:

dbId.TO_DOUBLE()
dbStatus.TO_BOOLEAN()

Exemplo 3

{
  "type": "object",
  "properties": {
    "dbString": {
      "type": [
        "string"
      ],
      "readOnly": false
    }
  }
}
A integração de aplicações reconhece dbString como um tipo de string.

Estratégia de processamento de erros

Uma estratégia de processamento de erros para uma tarefa especifica a ação a realizar se a tarefa falhar devido a um erro temporário. Para obter informações sobre como usar uma estratégia de processamento de erros e conhecer os diferentes tipos de estratégias de processamento de erros, consulte o artigo Estratégias de processamento de erros.

Quotas e limites

Para informações sobre quotas e limites, consulte o artigo Quotas e limites.

O que se segue?