Skip to content

Reinstate "namespace" support within "stream" object in public API (was somehow dropped in transition from server api) #47140

Open
@jmaddern-fw

Description

@jmaddern-fw

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:

https://airbyte-public-api-docs.s3.us-east-2.amazonaws.com/rapidoc-api-docs.html#post-/v1/connections/create

{
  ...
  "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:

image

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions