Understanding the core components: airbyte-server
#33811
Marcos Marx (marcosmarxm)
started this conversation in
Guides & Tutorials
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
airbyte-server
Important
The
airbyte-serverreceives the API requests and coordinate the actions to the component responsible execute them.The
airbyte-serverkeeps only the API part and handlers are inairbyte-common-serverOne Example of API workflow
When you trigger the
Sync nowbuttonIt will create an API request to the
/syncendpoint and the payload{"connectionId":"8b8748bf-dca7-4eb5-8177-1da77df934a7"}The Airbyte Server receives the WebApp UI API request, transforms the JSON object into a
ConnectionIdRequestBodyobject and call the specific function to execute the operation.Some relevant links:
[1] Airbyte Server
syncConnectionfunction[2] The
/v1/connections/syncin OpenAPI spec[3] The
ConnectionIdRequestBodydefinition in the OpenAPI specFor this particular example the server calls the function
syncConnectionInside the
TemporalEventRunnerTemporalClientTemporal returns only the
jobIdinformation and the functionreadJobFromResultinside thesubmitManualSyncToWorkerscheduler handler will format the actual API response:And finally the response broadcast to WebApp API request is:
{ "job": { "id": 1245, "configType": "sync", "configId": "8b8748bf-dca7-4eb5-8177-1da77df934a7", "enabledStreams": [ { "name": "us_census_stream" } ], "createdAt": 1685543955, "updatedAt": 1685543955, "status": "running" }, "attempts": [ { "attempt": { "id": 0, "status": "running", "createdAt": 1685543955, "updatedAt": 1685543955 }, "logs": { "logLines": [] } } ] }Additional Questions?
Where the Config and Airbyte API are defined?
Beta Was this translation helpful? Give feedback.
All reactions