O tamanho máximo de payload aceito pelos Triggers REST e HTTP é 5MB, caso seja enviado um payload superior a este limite, a plataforma retornará o http status 413 com a seguinte mensagem:
{
"message": "Request size limit exceeded"
}
Uma é alternativa para trabalhar com este payload superior a 5MB é utilizar o Trigger HTTP-File.
Considerando o cenário em que o payload recebido exceda os 5MB, será necessário enviar essa informação em um arquivo para o pipeline, vamos ilustrar um exemplo com um arquivo .json.
É crucial definir o Content-Type correto de acordo com o arquivo que você está trabalhando, outros exemplos de Content-Type seriam: application/pdf e application/jpeg.
Ao receber o payload com o trigger HTTP-File, é possível observar na tela de monitor que o payload é recebido como arquivo e não na chave body, neste contexto, a chave body será vazia.
Para acessar o arquivo enviado, é necessário realizar um tratamento específico. Uma prática comum é separar e salvar em um componente Session Management os dados de entrada da requisição, preservando informações como Headers e QueryAndPath.
O Componente File Reader tem a capacidade de ler o arquivo e o transformar em um json string, uma vez obtido o json string pode ser utilizada a função Double Braces tojson para transformar essa string em Json, no exemplo deste artigo, esse tratamento está sendo feito no componente JSON Generator chamado "tojson data", conforme imagem abaixo.
Agora você tem o Json que chegou via arquivo disponível no pipeline para ser trabalhado caso necessário.
Após as tarefas e processos executados pelo fluxo é hora de preparar o retorno fornecido pelo Pipeline.
É possível retornar tanto um Json quanto um arquivo .Json, no caso da escrita do arquivo, você poderá utilizar o componente File Writer.
Por fim, é possível utilizar um componente JSON Generator para disponibilizar o response final, conforme exemplo abaixo: