

 Amazon Redshift ne prendra plus en charge l'utilisation des UDF Python après le 30 juin 2026. Nous allons commencer à l'appliquer par étapes. Pour plus d'informations sur les détails de la fin de vie de Python et des options de migration, consultez [ le billet de ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) blog publié le 30 juin 2025. 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Réduisez les appels d'API grâce à de longues interrogations
<a name="data-api-calling-considerations-long-polling"></a>

Par défaut, les opérations de l'API Data renvoient une réponse immédiate. Si l'opération concerne une instruction en cours, vous devez effectuer plusieurs sondages jusqu'à ce que l'instruction atteigne un état terminal. En cas d'interrogation longue, définissez `WaitTimeSeconds` une valeur comprise entre 1 et 30. L'API retardera le renvoi d'une réponse synchrone jusqu'à ce que l'instruction se termine ou `WaitTimeSeconds` soit atteinte, selon la première éventualité.

Les sondages longs sont pris en charge sur [ DescribeStatement ](data-api-calling-cli-describe-statement.md) [ ExecuteStatement ](pass-sql-statements.md#data-api-calling-cli-execute-statement) [ BatchExecuteStatement](pass-sql-statements.md#data-api-calling-cli-batch-execute-statement), [ GetStatementResult](data-api-calling-cli-get-statement-result.md), et [ GetStatementResultV2](data-api-calling-cli-get-statement-result.md).

Lorsqu'une opération a `WaitTimeSeconds` pour but de soumettre une nouvelle déclaration ou d'attendre une déclaration existante :
+ Si l'instruction ** se ** termine dans le délai d'attente, la réponse inclut l'état du terminal ou les données de résultat, en fonction de l'opération.
+ Si l'instruction est ** toujours ** en cours à l'expiration du temps d'attente, la réponse renvoie l'état en cours.
+ Si la déclaration était ** déjà terminée ** avant que la demande de sondage longue ne soit faite, l'API renvoie immédiatement l'état du terminal.
+ S'il `WaitTimeSeconds` n'**est pas défini**, le comportement asynchrone par défaut est conservé.

## Cas d’utilisation courants
<a name="data-api-long-polling-which-api"></a>

Voici des exemples de situations dans lesquelles un long sondage peut être utile :
+ **Soumettez une courte requête et attendez qu'elle soit terminée ** — À utiliser `ExecuteStatement` avec`WaitTimeSeconds`. Lorsque la requête se termine ou que le temps d'attente expire, la réponse renvoie l'instruction `Status``RedshiftPid`, et`HasResultSet`. Pour obtenir les métadonnées complètes du relevé, appelez`DescribeStatement`. Si `HasResultSet` c'est `true` le cas, appelez `GetStatementResult` pour récupérer les résultats.
+ **Sondage long pour connaître le statut ** : utilisez cette option `ExecuteStatement` pour soumettre la requête, puis appelez `DescribeStatement` avec`WaitTimeSeconds`. Lorsque la requête est terminée, `DescribeStatement` renvoie les métadonnées complètes de l'instruction, y compris le statut, la durée et les détails de l'erreur.
+ **Sondage long pour le résultat ** : utilisez `ExecuteStatement` cette option pour soumettre la requête, puis appelez `GetStatementResult` avec`WaitTimeSeconds`. Lorsque la requête est terminée, les données de résultat sont renvoyées directement. Si la requête est toujours en cours à l'expiration du temps d'attente, une valeur `ResourceNotFoundException` est renvoyée indiquant qu'aucun résultat n'est encore disponible.
+ **Soumettez plusieurs requêtes et attendez que l'ensemble du lot soit terminé ** — À utiliser `BatchExecuteStatement` avec`WaitTimeSeconds`. L'appel reste ouvert jusqu'à ce que toutes les sous-instructions soient terminées et renvoie l'ID du parent du lot et l'état général.
+ **Soumettez plusieurs requêtes et un statut de sondage long pour une sous-déclaration ** — Utilisez `DescribeStatement` ou `GetStatementResult` avec l'ID de sous-déclaration et. `WaitTimeSeconds` Renvoie dès que cette sous-instruction est terminée, sans attendre le reste du lot.