Description
Topic
Add "Namespace" definition to "Stream"
Relevant information
I have a scenario where I have multiple (around 100) Postgres sources of identical schemas, similar to:
- postgres_db
- schema_1
- table_1
- table_2
- schema_2
- table_1
- table_2
- etc.
I have transitioned from octavia to terraform and can see that in that shift support for namespace within a stream has been removed from the new public-api, but was supported in the old server-api and continues to be supported in the UI. This is a limitation of public-api.
Additional Details:
The deprecated Configuration API (server-api) has the field "namespace" included in the "stream" object:
{
...
"syncCatalog": {
"streams": [
{
"stream": {
"name": "...",
"jsonSchema": {...},
...,
"namespace": "string",
},
"config": {
...
},
...
}
and you're able to send it to the backend. For example, in the browser, I can see that the POST payload to the:
http://AIRBYTE_WEBAPP/api/v1/web_backend/connections/create looks like this:
At the same time, the public API has no same parameters for that:
https://reference.airbyte.com/reference/createconnection
The object "configurations[].streams[]" has "name", "syncMode", "cursorField", "primaryKey" and selectedFields parameters only. Have no idea why the public-api is cut compared with server-api. The public API should really support the same features as the UI.