airbytehq / airbytehq/airbyte-api-python-sdk

Add SDK support for bounded Snowflake destination queries

未关闭
#212 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
61
派生
27
平均合并
4 分钟
30 天内合并 PR
2

描述

Track Python SDK propagation of `POST /v1/destinations/{destinationId}/query` from [Platform #19472](https://github.com/airbytehq/airbyte-platform-internal/pull/19472), paired with [Sonar #6544](https://github.com/airbytehq/sonar/pull/6544). This operation is separate from workspace skill documentation tracked in #211.

Regenerate from the updated public API definition and expose the operation in Destinations (`publicQueryDestination`, SDK alias `queryDestination`). Requests contain exactly one `statement` string, limited to 32 KiB UTF-8 within a 64 KiB JSON body.

The response contains ordered columns (`index`, `name`, `type`, `nullable`), positional rows of string-or-null cells, and a page with `returnedRows`, fixed `rowLimit: 1000`, fixed `byteLimit: 1048576`, `truncated`, an array of `row_limit`/`byte_limit`/`provider_partition` reasons, and required `nextCursor: null`. Preserve empty arrays, duplicate column labels, null cells and provider text without automatic native-value coercion. The full response is at most 1 MiB with at most 256 columns. There is no resumable cursor or total-row count.

Acceptance:

- Generate the operation and request/response models, and add serialization tests for positional null cells, duplicate labels, empty rows/reasons and the required null cursor.
- Verify all documented 401/403/404/413/422/501/502/503/504 problem responses.
- Ensure this query operation does not automatically retry an uncertain POST submission, including timeout, disconnect or retryable HTTP status; preserve other operations' existing retry behavior.
- Document workspace reader access, controlled availability, key-pair Snowflake destinations and separately approved query-role configuration. Other warehouse/auth variants are unsupported; availability is disabled by default.
- Release SDK support after the paired server change is ready, then link the released version here and in the Platform PR. SDK release and production activation are separate.

贡献指南

打开贡献指南

调研方向

Start with the updated public API definition and trace POST /v1/destinations/{destinationId}/query through Destinations, publicQueryDestination, and the SDK alias queryDestination. Verify the generated models and serialization tests cover the listed null, duplicate-label, empty-array, cursor, size, and error cases, then check the no-retry behavior, documentation, and release-link requirements are complete.

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
api, backend, documentation, testing
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
活跃
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。