Persistir dados usando variáveis de projeto, cache em nuvem ou armazenamento temporário no Jitterbit Integration Studio
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 na nuvem ou usar armazenamento temporário.
Variáveis do projeto
Variáveis de projeto são variáveis estáticas pré-inicializadas que podem ser consideradas constantes de projeto. Elas podem ser editadas no Integration Studio (consulte Variáveis de 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 ambientes Harmony . e editadas por meio do Management Console. Isso permite um processo de negócios em que um usuário com direitos no Management Console pode alterar credenciais sem precisar acessar o Integration Studio e o designer do projeto.
Um segundo exemplo é usar variáveis de projeto para armazenar sinalizadores usados pela lógica de integração que podem personalizar o comportamento da integração. Se um único projeto for desenvolvido, mas usado para diferentes endpoints, 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 de projeto for false
, então o UnMap
poderia ser usada para "desligar" esse campo e não incluí-lo em uma transformação relevante.
Funções de cache em nuvem
As funções de cache em nuvem ReadCache
e WriteCache
são usados para atribuir espaços de dados disponíveis entre projetos e ambientes. Um valor armazenado em cache fica visível para todas as operações em execução no mesmo escopo até expirar, independentemente de como a 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 em nuvem:
- Os dados podem ser compartilhados entre operações assíncronas dentro de um projeto.
- Erros gerados em diferentes operações podem ser armazenados em um cache comum. Ao acumular os resultados das operação dessa maneira, alertas mais abrangentes podem ser criados.
- Os tokens de login podem ser compartilhados entre operações.
Armazenamento temporário
Armazenamento Temporário endpoints são frequentemente usados em operações em nuvem e em agentes privados. Eles são diferentes do Armazenamento Local endpoints, que só podem ser usados 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 do servidor do 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 será o diretório temporário padrão do servidor do agente privado específico que está executando o trabalho.
- Como os agentes de nuvem são agrupados em um grupo de agentes de nuvem, o diretório de armazenamento temporário é o diretório temporário padrão do servidor do agente de nuvem específico que está executando o trabalho.
Em um grupo de agentes em cluster (agentes privados ou 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 de agentes. No entanto, se a Cadeia A gravar em seu armazenamento temporário myfile
e a Cadeia B lê de seu armazenamento temporário myfile
, e as duas cadeias não estão encadeadas uma à outra, a ação de leitura do armazenamento temporário na Cadeia B pode não ser lida pelo mesmo agente que foi gravado pela Cadeia A.
Nota
As operações encadeadas sempre serão executadas no mesmo agente que a operação pai, independentemente da sincronicidade.
Ao usar armazenamento temporário, tenha estas diretrizes em mente:
-
Ao usar agentes privados, para tornar seu projeto à prova de atualização, use armazenamento temporário de forma que mover de um único agente privado para um grupo de agentes com vários agentes não exija refatoração.
-
Ao usar um grupo de agentes em cluster (agentes privados ou em nuvem), para garantir que o servidor do agente onde o armazenamento temporário é gravado seja o mesmo servidor de onde o armazenamento temporário será lido, certifique-se de que todas as referências às atividades de Leitura e Gravação do armazenamento temporário estejam 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 arquivos Jitterbit. A frequência do serviço de limpeza pode ser configurada por meio do arquivo de configuração do agente privado sob o
[FileCleanup]
seção. No entanto, em agentes de nuvem, os arquivos temporários podem ser excluídos imediatamente. -
Os agentes de 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ó são possíveis ao usar agentes privados.
-
Ao gravar no armazenamento temporário, o padrão é sobrescrever os arquivos. Isso pode ser alterado com a caixa de seleção Anexar ao Arquivo em uma Atividade de Gravação no 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 usadas ao criar um nome de arquivo.
-
Um arquivo em armazenamento temporário pode ser lido construindo um script com o
ReadFile
. Por exemplo:ReadFile("<TAG>activity:tempstorage/Temporary Storage/tempstorage_read/Read</TAG>")
. Lembre-se de que isso funciona de forma confiável apenas se houver um único agente privado.
Em alguns casos, pode ser vantajoso usar uma Variável em vez de um endpoint de endpoint de armazenamento temporário. Consulte Considerações sobre armazenamento temporário (se estiver usando o Integration Studio) ou Variável global versus armazenamento temporário (se estiver usando o Design Studio) para uma comparação desses dois tipos diferentes e recomendações sobre quando cada um é apropriado.