airbytehq / airbytehq/airbyte-api-python-sdk

Add SDK support for bounded Snowflake destination queries

Ouverte
#212 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
61
Forks
27
Merge moyen
4 min
PR mergées (30 j)
2

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
api, backend, documentation, testing
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.