Ir para o conteúdo

Conector Variável

Resumo

O conector Variável fornece uma interface para inserir um nome de variável para criar uma conexão Variável. Essa conexão fornece a base para configurar atividades associadas do conector variável que interagem com a conexão. Juntos, uma conexão variável específica e suas atividades são chamadas de endpoint variável.

Visão Geral do Conector

Este conector é usado para primeiro configurar uma conexão variável, estabelecendo acesso a uma variável do projeto ou uma variável global e, em seguida, usado para configurar uma ou mais atividades variáveis associadas a essa conexão como origem ou destino em uma operação:

  • Ler: Lê dados de um endpoint variável e destina-se a ser usado como fonte em uma operação.
  • Escrever: Grava dados em um endpoint variável e deve ser usado como destino em uma operação.

Acessando o Conector

O conector Variável é acessado na aba Conexões da paleta de componentes de design (consulte Paleta de Componentes de Design).

atividades variáveis

Armazenamento Variável Versus Armazenamento Temporário

Dois dos tipos de armazenamento temporário prontos para uso mais comuns no Harmony são endpoints variáveis e endpoints de armazenamento temporário. Existem várias considerações a serem levadas em consideração ao escolher um em vez de outro.

Endpoint Variável

endpoints variáveis (Read e Escrever atividades, não deve ser confundido com scripts variáveis globais) são fáceis de codificar e reduzem a complexidade, conforme descrito posteriormente nesta página. No entanto, eles têm certas limitações.

Para um cenário em que uma integração funciona com pequenos conjuntos de dados — típicos de solicitações e respostas de serviços da Web ou pequenos arquivos de algumas centenas de registros — sugerimos usar um endpoint variável.

Quando o conjunto de dados está na faixa de megabytes, o endpoint variável se torna mais lento que o endpoint de armazenamento temporário equivalente. Isso começa a acontecer quando os dados ultrapassam 4 MB.

Quando o conjunto de dados está na faixa maior de vários megabytes, existe o risco de truncamento de dados. Recomendamos um limite de 50 MB para ser conservador e evitar qualquer risco de ocorrência de truncamento.

O uso de endpoints variáveis em operações assíncronas é um caso de uso que requer consideração especial. Há um limite de 7 KB para o tamanho de um conjunto de dados usado em um endpoint variável usado em uma operação assíncrona. Neste cenário, exceder esse limite pode resultar em truncamento. Veja o RunOperation() função para obter uma descrição de como chamar uma operação assíncrona.

Endpoint de Armazenamento Temporário

Conjuntos de dados maiores, como aqueles usados em cenários de ETL com contagens de registros na casa dos milhares, devem ser tratados usando endpoints de armazenamento temporário.

Ao contrário dos endpoints variáveis, não há degradação no desempenho ou truncamento ao usar endpoints de armazenamento temporário, mesmo com conjuntos de dados muito grandes. No entanto, o uso de endpoints de armazenamento temporário pode exigir scripts adicionais. Ao usar endpoints de armazenamento temporário, você não consegue aproveitar a reutilização e a simplicidade dos endpoints variáveis, conforme descrito posteriormente nesta página.

Observe que Agentes em Nuvem têm um limite de tamanho de arquivo de endpoint de armazenamento temporário de 50 GB por arquivo. Aqueles que precisam criar arquivos temporários maiores que 50 GB precisarão de um Agente Privado.

O Uso de Endpoints Variáveis pode Aumentar a Reutilização e Reduzir a Complexidade

Usar um endpoint variável para pequenos conjuntos de dados pode aumentar a reutilização e reduzir a complexidade. Por exemplo, ao construir operações encadeadas com ações de operação, cada operação pode ter atividades que funcionam como fontes (atividades de leitura) e destinos (atividades de gravação). Em vez de construir combinações individuais de origem ou destino para cada operação, é fácil usar uma variável alvo e origem comum (delineada em vermelho no exemplo abaixo):

operação de conexão variável

Para aumentar a capacidade de reutilização e a padronização, você pode criar um script reutilizável que registre o conteúdo da variável (o script Write to Operation Log no exemplo acima, destacado em verde). Essa abordagem também pode ser realizada usando armazenamento temporário, mas são necessários scripts adicionais para inicializar o caminho e o nome do arquivo.

Ao usar um endpoint variável, seu escopo é a cadeia — o thread — de operações. Portanto, os valores de endpoint variáveis são exclusivos para um thread específico e são destruídos quando o thread é concluído. Este não é o caso de um endpoint de armazenamento temporário; como resultado, requer mais manuseio para garantir a exclusividade. A prática recomendada é inicializar um GUID no início de uma cadeia de operação e, em seguida, passar esse GUID para cada um dos nomes de arquivo de armazenamento temporário na cadeia, conforme descrito em Persistir dados para processamento posterior usando armazenamento temporário. (Embora esse documento seja para o Design Studio, os mesmos conceitos podem ser aplicados ao Cloud Studio.)

Ao realizar testes de unidade operação, é útil carregar dados de teste. Usar uma origem ou destino variável simplifica isso: você adiciona um script de pré-operação para gravar os dados de teste em um destino:

  $memory = "a,b,c";

Por outro lado, gravar dados em um endpoint de armazenamento temporário é assim:

  WriteFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_write/Write</TAG>", "a,b,c");

  FlushFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_write/Write</TAG>");

Da mesma forma, a leitura de dados é mais simples com um endpoint variável:

  myLocalVar= $memory;

Por outro lado, é assim que você lê dados de um endpoint de armazenamento temporário:

  myLocalVar = ReadFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_read/Read</TAG>");

Em resumo, usar endpoints variáveis para leitura, gravação e registro de entrada e saída de operação é simples, mas é preciso ter muito cuidado para garantir que os dados sejam dimensionados adequadamente.

Solução de Problemas

Se você tiver problemas com o conector variável, estas etapas de solução de problemas são recomendadas:

  1. Certifique-se de que Conexão variável é bem-sucedido usando o botão Test na tela de configuração. Se a conexão não for bem-sucedida, o erro retornado poderá fornecer uma indicação do problema.

  2. Verifique os logs de operação para qualquer informação escrita durante a execução da operação.

  3. Habilite o registro de depurar de operação (para Agentes em Nuvem ou para Agentes Privados) para gerar arquivos de log e dados adicionais.

  4. Se estiver usando Agentes Privados, você pode verificar os logs do agente Para maiores informações.