Ir para o conteúdo

Dados Persistentes Usando Variáveis de Projeto, Cache em Nuvem Ou Armazenamento Temporário

Introdução

Vários métodos podem ser usados para armazenar dados na nuvem Harmony, como usar variáveis de projeto, usar funções de cache em nuvem ou usar armazenamento temporário.

Variáveis do Projeto

As variáveis do projeto são variáveis estáticas pré-inicializadas que podem ser consideradas como constantes do projeto. Eles podem ser editados no Cloud Studio (consulte Variáveis do projeto) ou o Management Console (consulte Projetos).

Um exemplo de uso de variáveis de projeto é para credenciais de endpoint. Ao usar variáveis de projeto, diferentes ambientes de endpoint (que geralmente têm credenciais diferentes) podem ser aplicados a diferentes Harmony ambientes e editado por meio do Management Console. Isso permite um processo de negócios em que um usuário com direitos do Management Console pode alterar as credenciais sem exigir acesso ao Cloud Studio e ao designer do projeto.

Um segundo exemplo é usar variáveis de projeto para manter sinalizadores usados pela lógica de integração que pode customizar o comportamento da integração. Se um único projeto for desenvolvido, mas usado para endpoints diferentes, uma variável de projeto booleana (como Send_PO_Number) poderá ser verificada pela lógica da transformação para o campo PO Number. Se o valor da variável do projeto for false, então o UnMap pode ser usada para "desligar" esse campo e não incluí-lo em uma transformação relevante.

Funções de Cache na Nuvem

As funções de cache na nuvem ReadCache e WriteCache são usados para atribuir espaços de dados que estão disponíveis em projetos e ambientes. Um valor armazenado em cache é visível para todas as operações em execução no mesmo escopo até que expire, independentemente de como essa operação foi iniciada ou em qual agente ela é executada. Ao armazenar dados em cache no Harmony, em vez de depender de armazenamentos de dados locais ou específicos do agente, como Armazenamento temporário, os dados podem ser compartilhados entre operações separadas e entre projetos.

Estes são usos adicionais do cache na nuvem:

  • Os dados podem ser compartilhados entre operações assíncronas dentro de um projeto.
  • Os erros gerados em diferentes operações podem ser armazenados em um cache comum. Ao acumular os resultados da operação dessa maneira, alertas mais abrangentes podem ser criados.
  • Os tokens de login podem ser compartilhados entre as operações.

Armazenamento Temporário

Armazenamento temporário os endpoints são frequentemente usados em operações tanto na Nuvem quanto em Agentes Privados. Estes são distintos do Armazenamento Local endpoints, que só podem ser utilizados em Agentes Privados.

Ao usar um endpoint de armazenamento temporário, os arquivos temporários são gravados e lidos no diretório temporário do sistema operacional padrão no agente que está executando o trabalho:

  • No caso de um único Agente Privado, o diretório de armazenamento temporário é o diretório temporário padrão desse servidor de Agente Privado.
  • Se você estiver usando mais de um Agente Privado, agrupado em um Grupo de Agentes Privados, o diretório de armazenamento temporário é o diretório temporário padrão do servidor de Agente Privado específico que está fazendo o trabalho.
  • Como os Agentes em Nuvem são agrupados em um Grupo de Agentes em Nuvem, o diretório de armazenamento temporário é o diretório temporário padrão do servidor de Agente em Nuvem específico que está fazendo o trabalho.

Em um Grupo de Agentes em cluster (Private ou Agentes em Nuvem), desde que as operações que usam o armazenamento temporário estejam vinculadas (encadeadas), todas as leituras e gravações do armazenamento temporário ocorrerão no mesmo servidor do agente. No entanto, se Chain A gravar em seu armazenamento temporário myfile e Chain B lê de seu armazenamento temporário myfile, e as duas cadeias não estão encadeadas uma à outra, a ação de leitura de armazenamento temporário na Chain B não pode ser lida do mesmo agente que foi gravado pela Chain A.

Ao usar o armazenamento temporário, lembre-se destas diretrizes:

  • Ao usar Agentes Privados, para tornar seu projeto à prova de atualização, use armazenamento temporário de forma que a mudança de um único Agente Privado para um Grupo de Agentes múltiplos não exija refatoração.

  • Ao usar um Grupo de Agentes em cluster (Private ou Agentes em Nuvem), para garantir que o servidor do agente onde o armazenamento temporário é gravado seja o mesmo servidor onde o armazenamento temporário será lido, certifique-se de que todas as referências ao armazenamento temporário Read* As atividades * e **Write estão na mesma cadeia de operação.

  • O armazenamento temporário em Agentes Privados é excluído após 24 horas por padrão pelo Serviço de Limpeza de Arquivo Jitterbit. A frequência do serviço de limpeza pode ser configurada através do Arquivo de configuração do Agente Privado debaixo de [FileCleanup] seção. No entanto, em Agentes em Nuvem, os arquivos temporários podem ser excluídos imediatamente.

  • Os Agentes em Nuvem têm um limite de tamanho de arquivo de armazenamento temporário de 50 GB por arquivo. Arquivos temporários maiores que 50 GB são possíveis apenas quando se usam Agentes Privados.

  • Ao gravar no armazenamento temporário, o padrão é substituir os arquivos. Isso pode ser alterado com a caixa de seleção Anexar ao arquivo em uma Atividade de gravação de armazenamento temporário. Normalmente, isso requer que, após a leitura da fonte, o arquivo seja excluído ou arquivado. Uma maneira simples de fazer isso é usar as opções de pós-processamento Excluir arquivo ou Renomear arquivo em uma Atividade de leitura de armazenamento temporário.

  • Palavras-chave do nome do arquivo estão disponíveis e podem ser usados ao criar um nome de arquivo.

  • Um arquivo em armazenamento temporário pode ser lido criando um script com o ReadFile função. Por exemplo: ReadFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_read/Read</TAG>"). Tenha em mente que isso funciona de forma confiável apenas se houver um único Agente Privado.

Em alguns casos, pode ser vantajoso usar uma Variável endpoint em vez de um endpoint de armazenamento temporário. Consulte a seção Armazenamento variável versus armazenamento temporário em Variável global versus armazenamento temporário para uma comparação dessas duas abordagens diferentes e para recomendações sobre quando cada uma é apropriada.