View a markdown version of this page

Kurangi panggilan API dengan polling panjang - Amazon Redshift

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 yang diterbitkan pada 30 Juni 2025.

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 WaitTimeSeconds di hilangkan, perilaku asinkron default dipertahankan.

Kasus penggunaan umum

Berikut ini adalah contoh kapan polling panjang mungkin berguna:

  • Kirim kueri singkat dan tunggu penyelesaian — Gunakan ExecuteStatement denganWaitTimeSeconds. Ketika kueri selesai atau waktu tunggu berakhir, respons mengembalikan pernyataanStatus,RedshiftPid, danHasResultSet. Untuk mendapatkan metadata pernyataan lengkap, hubungiDescribeStatement. Jika HasResultSet yatrue, hubungi GetStatementResult untuk mengambil hasil.

  • Jajak pendapat panjang untuk status — Gunakan ExecuteStatement untuk mengirimkan kueri, lalu hubungi DescribeStatement denganWaitTimeSeconds. Ketika kueri selesai, DescribeStatement mengembalikan metadata pernyataan lengkap termasuk status, durasi, dan detail kesalahan.

  • Jajak pendapat panjang untuk hasil — Gunakan ExecuteStatement untuk mengirimkan kueri, lalu hubungi GetStatementResult denganWaitTimeSeconds. Ketika kueri selesai, data hasil dikembalikan secara langsung. Jika kueri masih berjalan ketika waktu tunggu berakhir, a ResourceNotFoundException dikembalikan menunjukkan belum ada hasil yang tersedia.

  • Kirim beberapa kueri dan tunggu sampai seluruh batch selesai - Gunakan BatchExecuteStatement denganWaitTimeSeconds. 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 DescribeStatement atau GetStatementResult dengan ID sub-pernyataan dan. WaitTimeSeconds Mengembalikan segera setelah sub-pernyataan itu selesai, tanpa menunggu sisa batch.