Input HTTP
Cria um endereço que aceita requisições de sistemas externos. Cada requisição recebida vira uma mensagem no tópico de saída.
A resposta ao chamador sai assim que a mensagem entra na fila, e não depois de o Output final tê-la processado. Quem chama sabe que a mensagem foi aceita, não que ela já chegou ao fim do caminho.
Campos
| Campo | O que é | Padrão |
|---|---|---|
| HTTP Path | O caminho que os sistemas externos vão chamar. É a parte do endereço depois do domínio — /pedidos, /integration/erp. | /integration |
| Método | Verbo HTTP aceito no caminho. Na prática use POST: é o verbo que carrega um corpo de requisição, e é o que o runtime atende. | POST |
O que este Input escreve no tópico
| Parte | Conteúdo |
|---|---|
| Value | O corpo da requisição, byte a byte, sem nenhuma alteração |
| Key | Vazia |
| Headers | Todos os cabeçalhos HTTP da requisição recebida |
Exemplo
Requisição recebida:
curl -X POST https://<endereco-do-input>/pedidos \
-H 'Content-Type: application/json' \
-H 'X-Origem: erp-vendas' \
-d '{"pedido": 1234, "cliente": "ACME", "total": 199.90}'
Mensagem escrita no tópico:
Key: (vazia)
Value: {"pedido": 1234, "cliente": "ACME", "total": 199.90}
Headers: Content-Type=application/json
X-Origem=erp-vendas
User-Agent=curl/8.4.0
Content-Length=52
O corpo não é validado nem reformatado — se você enviar XML ou texto puro, é isso que vai para o tópico. Cabe ao Output (ou a um Transform) lidar com o formato.
Limites e comportamento
- Corpo de até 8 MB por requisição. O que passar disso é cortado na leitura.
- A fila interna é limitada. Se as mensagens entrarem mais rápido do que o Kafka consegue
absorver, a plataforma responde
503em vez de travar — o chamador deve tentar de novo. - Resposta de sucesso:
202 Accepted.
Combinações comuns
| Quero | Ligue este Input a |
|---|---|
| Repassar o evento para outra API | Output HTTP |
| Indexar o evento para busca | Output Elasticsearch |
| Acumular os eventos em arquivos | Output SFTP ou SMB |
| Guardar no data lake | Output GCS |
Para gravar em PostgreSQL ou Snowflake a partir daqui é preciso um Transform que monte os headers que esses Outputs exigem — cada página descreve os seus.