O Gzip V2 zipa um JSON ou um texto como uma string em base64 ou arquivo. Com ele também é possível fazer a compressão e descompressão de arquivos em formato gzip. Essa versão do componente suporta Double Braces. Para entender como essa linguagem funciona, leia o nosso artigo clicando aqui.

Dê uma olhada nos parâmetros de configuração desse componente:

  • Operation: "compress_fields" comprime os campos de um JSON; "decompress_fields" descomprime os campos de um JSON; "compress_payload" comprime um payload recebido; "decompress_payload" descomprime um payload recebido; compress_file" comprime um arquivo recebido; decompress_file" descomprime um arquivo recebido.
  • JSON Field: caminho do JSON a ser comprimido ou descomprimido, sendo que os campos precisam ser separados por vírgula (ex.: field1,field2).
  • Preserve Original: se ativada, a opção preserva campos originais que possuem prefixo com underline.
  • Binary Content: se ativada, a opção faz com que o dado seja tratado como binário e uma string base64 será esperada.
  • Payload: esse campo é válido somente para as operações “compress_payload” e “decompress_payload” e declara o que será comprimido/descomprimido na requisição.
  • Result As File: se ativada, a opção irá salvar o resultado da compressão ou descompressão em um arquivo (válido somente para as operações “compress_payload” e “decompress_payload”).
  • File Name: nome do arquivo a ser comprimido.
  • Gzip File Name: nome do arquivo no formato gzip.
  • Fail On Error: se "true", a execução do pipeline com erro será interrompida; se "false", a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade success.

Fluxo de Mensagens

Entrada

Para as operações “compress_fields” e “decompress_fields”, o componente espera receber um JSON contendo os campos configurados na propriedade JSON Field.

Exemplo

  • Configurando:
JSON Field = field1,field2

O JSON esperado deve conter pelo menos:

{
"field1": "SOMETHING",
"field2": "SOMETHING"
}

Para as operações “compress_payload” e “decompress_payload”, você deve configurar o campo “Payload” para poder executar a compressão/descompressão.

Exemplo

Payload = {{ message.field1 }}

O JSON deverá conter este valor:

{
"field1": "SOMETHING"
}

Para as operações “compress_file” e “decompress_file”, você deve configurar o arquivo que será comprimido/descomprimido e o arquivo resultante dessa operação.

Exemplo

File Name = file.csv

Gzip File Name = file.gzip

Saída

Para as operações “compress_fields” e “decompress_fields”, a mensagem de entrada é preservada.

Para as operações “compress_payload” e “decompress_payload”, caso a saída seja um arquivo:

{
"success": "true",
"fileName": "file.csv"
}

Para as operações “compress_payload” e “decompress_payload”, caso a saída seja uma string:

{
"success": "true",
"result": "SOMETHING COMPRESSED/DECOMPRESSED"
}

Para as operações “compress_file” e “decompress_file”:

{
"success": "true",
"fileName": "file.csv",
"gzipFileName": "file.csv"
}

Encontrou sua resposta?