airbytehq / airbytehq/airbyte-api-python-sdk
Add SDK support for bounded Snowflake destination queries
- Lenguaje dominante
- Python
- Estrellas
- 61
- Forks
- 27
- Merge medio
- 4 min
- PR fusionados (30 d)
- 2
Descripción
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.
Guía de contribución
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- api, backend, documentation, testing
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100