Skip to main content

HTTP output connector

Feldera supports receiving a stream of changes to a SQL table or view over HTTP.

  • This output connector is ephemeral: it is created when the HTTP connection is opened, and is deleted once it is closed.

  • It is the only output connector not created and managed by the user.

  • Usage is through a special endpoint: /v0/pipelines/:pipeline_name/egress/table_or_view_name?format=...

  • Specify data output format using URL query parameters (e.g., format=..., and more depending on format).

The HTTP output connector does not yet support fault tolerance.

Example usage

We will subscribe to a stream of updates to the average_price view for pipeline supply-chain-pipeline.

curl

curl -i -X 'POST' \
http://localhost:8080/v0/pipelines/supply-chain-pipeline/egress/average_price?query=table\&mode=watch\&format=json

Python (direct API calls)

import requests

api_url = "http://localhost:8080"
headers = {"authorization": f"Bearer <API-KEY>"}

with requests.post(
f'{api_url}/v0/pipelines/supply-chain-pipeline/egress/average_price?format=json',
stream=True
) as f_in:
for line in f_in:
print(line.decode("utf-8").strip())

Additional resources

For more information, see: