

 Amazon Redshift non supporterà più l'uso delle UDF Python dopo il 30 giugno 2026. Inizieremo ad applicarlo per fasi. Per ulteriori informazioni sulla fine del ciclo di vita e sulle opzioni di migrazione di Python, consulta il post [ del ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) blog pubblicato il 30 giugno 2025. 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Riduci le chiamate API con un polling lungo
<a name="data-api-calling-considerations-long-polling"></a>

Per impostazione predefinita, le operazioni Data API restituiscono una risposta immediata. Se l'operazione riguarda un'istruzione in corso, è necessario eseguire il polling ripetutamente finché l'istruzione non raggiunge lo stato terminale. In caso di polling lungo, impostate `WaitTimeSeconds` un valore compreso tra 1 e 30. L'API ritarderà la restituzione di una risposta sincrona fino al termine o al raggiungimento dell'istruzione, a seconda dell'evento che `WaitTimeSeconds` si verifica per primo.

Il polling lungo è supportato su [ 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) e. [ GetStatementResult ](data-api-calling-cli-get-statement-result.md) [ GetStatementResultV2 ](data-api-calling-cli-get-statement-result.md)

Quando un'operazione prevede `WaitTimeSeconds` l'invio di una nuova dichiarazione o l'attesa di una esistente:
+ Se l'istruzione ** viene completata ** entro il tempo di attesa, la risposta include i dati sullo stato del terminale o sui risultati, a seconda dell'operazione.
+ Se l'istruzione è ** ancora in esecuzione ** allo scadere del tempo di attesa, la risposta restituisce lo stato corrente in corso.
+ Se l'istruzione è ** già stata completata ** prima della richiesta long poll, l'API ritorna immediatamente con lo stato del terminale.
+ Se `WaitTimeSeconds` viene ** omesso**, viene mantenuto il comportamento asincrono predefinito.

## Casi di utilizzo comune
<a name="data-api-long-polling-which-api"></a>

Di seguito sono riportati alcuni esempi in cui un polling lungo può essere utile:
+ **Invia una breve richiesta e attendi il completamento**: usa `ExecuteStatement` con`WaitTimeSeconds`. Quando la query termina o scade il tempo di attesa, la risposta restituisce l'istruzione`Status`,`RedshiftPid`, e`HasResultSet`. Per ottenere i metadati completi dell'estratto conto, chiama. `DescribeStatement` In caso `HasResultSet` `true` affermativo, chiama `GetStatementResult` per recuperare i risultati.
+ **Sondaggio lungo per verificare lo stato**: utilizzalo `ExecuteStatement` per inviare la richiesta, quindi chiama `DescribeStatement` con. `WaitTimeSeconds` Al termine della query, `DescribeStatement` restituisce i metadati completi dell'istruzione, inclusi stato, durata e dettagli sull'errore.
+ **Sondaggio lungo per il risultato**: utilizzalo `ExecuteStatement` per inviare la query, quindi chiama con. `GetStatementResult` `WaitTimeSeconds` Al termine della query, i dati dei risultati vengono restituiti direttamente. Se la query è ancora in esecuzione allo scadere del tempo di attesa, `ResourceNotFoundException` viene restituito un messaggio che indica che non sono ancora disponibili risultati.
+ **Invia più domande e attendi il completamento dell'intero batch**: usa `BatchExecuteStatement` con. `WaitTimeSeconds` La chiamata rimane aperta fino al completamento di tutte le sottodichiarazioni e restituisce l'ID principale del batch e lo stato generale.
+ **Invia più domande e invia un lungo sondaggio per una sottodichiarazione**: utilizza `DescribeStatement` o `GetStatementResult` con l'ID della sottodichiarazione e. `WaitTimeSeconds` Viene restituito non appena la sottodichiarazione termina, senza attendere il resto del batch.