Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kurangi panggilan API dengan polling panjang
Secara default, operasi API Data mengembalikan respons langsung. Jika operasi bertentangan dengan pernyataan yang sedang berlangsung, Anda harus melakukan polling berulang kali sampai pernyataan mencapai status terminal. Dengan polling panjang, atur WaitTimeSeconds ke nilai antara 1 dan 30. API akan menunda pengembalian respons sinkron sampai pernyataan selesai, atau WaitTimeSeconds tercapai, mana saja yang datang lebih cepat.
Polling panjang didukung pada DescribeStatement,, ExecuteStatement, BatchExecuteStatement GetStatementResult, dan GetStatementResultV2.
Ketika operasi digunakan WaitTimeSeconds untuk mengirimkan pernyataan baru atau menunggu pernyataan yang sudah ada:
-
Jika pernyataan selesai dalam waktu tunggu, respons mencakup status terminal atau data hasil, tergantung pada operasi.
-
Jika pernyataan masih berjalan ketika waktu tunggu berakhir, respons mengembalikan status dalam proses saat ini.
-
Jika pernyataan sudah selesai sebelum permintaan polling panjang dibuat, API segera kembali dengan status terminal.
-
Jika
WaitTimeSecondsdi hilangkan, perilaku asinkron default dipertahankan.
Kasus penggunaan umum
Berikut ini adalah contoh kapan polling panjang mungkin berguna:
-
Kirim kueri singkat dan tunggu penyelesaian — Gunakan
ExecuteStatementdenganWaitTimeSeconds. Ketika kueri selesai atau waktu tunggu berakhir, respons mengembalikan pernyataanStatus,RedshiftPid, danHasResultSet. Untuk mendapatkan metadata pernyataan lengkap, hubungiDescribeStatement. JikaHasResultSetyatrue, hubungiGetStatementResultuntuk mengambil hasil. -
Jajak pendapat panjang untuk status — Gunakan
ExecuteStatementuntuk mengirimkan kueri, lalu hubungiDescribeStatementdenganWaitTimeSeconds. Ketika kueri selesai,DescribeStatementmengembalikan metadata pernyataan lengkap termasuk status, durasi, dan detail kesalahan. -
Jajak pendapat panjang untuk hasil — Gunakan
ExecuteStatementuntuk mengirimkan kueri, lalu hubungiGetStatementResultdenganWaitTimeSeconds. Ketika kueri selesai, data hasil dikembalikan secara langsung. Jika kueri masih berjalan ketika waktu tunggu berakhir, aResourceNotFoundExceptiondikembalikan menunjukkan belum ada hasil yang tersedia. -
Kirim beberapa kueri dan tunggu sampai seluruh batch selesai - Gunakan
BatchExecuteStatementdenganWaitTimeSeconds. Panggilan tetap terbuka sampai semua sub-pernyataan selesai dan mengembalikan ID induk batch dan status keseluruhan. -
Kirim beberapa kueri dan status jajak pendapat panjang untuk sub-pernyataan - Gunakan
DescribeStatementatauGetStatementResultdengan ID sub-pernyataan dan.WaitTimeSecondsMengembalikan segera setelah sub-pernyataan itu selesai, tanpa menunggu sisa batch.