Ir para o conteúdo

Dividir um arquivo em registros individuais usando SourceInstanceCount no Jitterbit Integration Studio

Introdução

Este padrão de design pode ser usado para dividir um pequeno conjunto de dados de origem em um arquivo JSON ou XML de múltiplos registros em vários arquivos, cada um contendo um único registro, usando a função SourceInstanceCount.

Dica

Este padrão é recomendado para ser usado apenas com um pequeno conjunto de registros de origem quando os dados de origem são complexos (hierárquicos). Para dados de origem planos (não hierárquicos), veja Dividir um arquivo em registros individuais usando SCOPE_CHUNK. Este padrão não é recomendado para grandes conjuntos de dados porque a carga útil deve ser processada repetidamente para cada registro de origem.

Caso de uso

Neste cenário, os dados de origem são um arquivo JSON complexo que contém um pequeno número de múltiplos registros, e o endpoint de destino requer que os registros sejam processados individualmente.

Padrão de design e exemplo

Este exemplo de cadeia de operações é usado para ilustrar o padrão de design, cujas características principais são descritas abaixo:

cadeia de operações sourceinstancecount

  1. A operação Obter Arquivo com Múltiplos Registros recupera o arquivo JSON de múltiplos registros da origem e grava o conteúdo em uma variável (chamada Variable).

  2. Com o sucesso dessa operação, a operação Controle executa um script de controlador, cujas partes são descritas abaixo:

    <trans>
    ordercount = CountSubString($Variable, '"assigned_location":');
    $gv_record_no=1;
    While($gv_record_no<=ordercount,
    RunOperation("<TAG>operation:Split into Single-record Files</TAG>");
    $gv_record_no++;
    )
    </trans>
    
    • A função CountSubString é usada para contar o número de registros da origem (substituindo assigned_location por qualquer campo que apareça apenas uma vez para cada registro nos dados de origem).
  3. Uma variável global (gv_record_no) é inicializada em 1 e será usada para incrementar o número de registros.

  4. A função While é utilizada para percorrer a contagem de registros e executar a próxima operação para cada registro.

  5. À medida que o script percorre os registros, a operação Dividir em Arquivos de Registro Único é executada repetidamente. Estes são os passos da operação:

    1. O conteúdo do arquivo JSON de múltiplos registros contido em Variable é usado como fonte para a transformação.
    2. Na transformação, um script de condição é definido no nó do item para iterar através de cada registro:

      If(SourceInstanceCount() == $gv_record_no, true, false)
      

      dividir em registros únicos

    3. Em cada execução da operação, a transformação irá gerar um único registro JSON, que pode ser escrito no destino desejado.