Valuekeep IntegraçõesGeral
IntegraçõesGeral
Geral
Voltar | Lista de artigos

Cálculo do Hashing de um Pipeline

Última alteração a 22/08/2024
Valuekeep Integration adopta um controlo de versionamento baseado num sistema de hashing. Cada pipeline, possui um controlo de versionamento, ou seja, possui uma chave de hashing que permite identificar se o subset de informação (hashset) ainda não foi objeto de integração ou se eventualmente sofreu alguma alteração nos seus dados, requerendo para o efeito nova integração. Esta técnica de hashing aplica-se a um segmento de informação (hashset), isto é, permite identificar quais os atributos que compõem a chave de hashing (ignorando, deste modo, pedidos de integração quando a entidade sofre alteração em atributos que não constam na composição da chave).
Este método permite calcular o hash de um pipeline, isto é, calcular o hashing dos registos que devem ser considerados num pipeline de integração. Internamente, a solução de integração após obter o hash, confronta este valor com o anterior e no caso de diferirem considera que o registo deve ser objeto de nova sincronização.

Método

O método utilizado para o efeito é: POST /api/mytenant/myorganization/integration/pipelines/calchash

Antes da utilização do método, é necessário criar em cada Entidades a sincronizar, três atributos personalizados. Exemplificamos a seguir um exemplo:

  • custom_SourceHash: atributo que guarda a chave de hashing da origem dos dados, deverá ser do tipo "texto curto".
  • custom_TargetHash: atributo que guarda a chave de hashing do destino dos dados, deverá ser do tipo "texto curto".
  • custom_IsSync: atributo que valida se o registo será objeto de integração, deverá ser do tipo "booleano".
Um exemplo (Json), da estrutura dos dados para o cálculo do hashing de um pipeline.
{
  "Alghoritm": "MD5",
  "BaseEntity": "BusinessCore.Brands",
  "LyncEntities": "BusinessCore.Brands JOIN BusinessCore.BrandModels ON BusinessCore.Brands.Id = BusinessCore.BrandModels.BrandId",
  "Attributes": "BusinessCore.Brands.BrandKey, BusinessCore.Brands.Description, BusinessCore.BrandModels.ModelKey, BusinessCore.BrandModels.Description as ModelDescription",
  "Filter": "",
  "FieldSourceHash": "custom_SourceHash",
  "FieldTargetHash": "custom_TargetHash",
  "FieldIsSync": "custom_IsSync"
}
Descrição dos atributos disponíveis no pedido:
  • Algorithm: identifica o algoritmo de hashing, quando ignorado o sistema assume: MD5;
  • BaseEntity: identifica a entidade base (tabela principal);
  • LyncEntities: identifica as entidades relacionadas, quando ignorado o sistema assume a própria entidade base;
  • Attributes: identifica os atributos que constituem a chave de hashing (ou seja, o segmento usado para o cálculo da hash);
  • Filter: identifica o filtro condicional aplicar no cálculo da hash;
  • FieldSourceHash: identifica o atributo SourceHash, quando  ignorado, o sistema assume: custom_SourceHash. Este atributo será usado para reservar o valor calculado;
  • FieldTargetHash: identifica o atributo TargetHash, quando ignorado, o sistema assume: custom_TargetHash;
  • FieldSyncHash: identifica o atributo IsSync, quando ignorado, o sistema assume: custom_IsSync. Este atributo será usado para controlar se o registo será ou não objeto de sincronização (os registos são classificados para sincronização quando o valor do atributo FieldSourceHash difere do valor do atributo FieldTargetHash).

Quando este método é executado com sucesso devolve uma estrutura de dados Json dos atributos da chave de hashing inserido em "Attributes".

Adicionar aos favoritos ou partilhar este artigo
Esta página foi útil?
Obrigado pelo seu voto.
Artigos Relacionados
Monitorização da Pipeline Como obter o registo de consumos por OData? Glossário Sincronização do Hashing de um Pipeline Ajuda em possíveis erros