Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan Masalah Amazon RDS Data API
Gunakan bagian berikut, berjudul dengan pesan kesalahan umum, untuk membantu memecahkan masalah yang Anda miliki dengan Amazon RDS Data API (Data API).
Topik
Transaksi <transaction_ID>tidak ditemukan
Dalam kasus ini, ID transaksi yang ditentukan dalam panggilan API Data tidak ditemukan. Penyebab masalah ini ditambahkan ke pesan kesalahan, dan merupakan salah satu dari yang berikut:
-
Transaksi mungkin kedaluwarsa.
Pastikan setiap panggilan transaksional berjalan dalam tiga menit sejak panggilan sebelumnya berjalan.
Mungkin juga ID transaksi yang ditentukan tidak dibuat oleh BeginTransactionpanggilan. Pastikan panggilan Anda memiliki ID transaksi yang valid.
-
Satu panggilan sebelumnya mengakibatkan penghentian transaksi Anda.
Transaksi telah diakhiri oleh panggilan
CommitTransaction
atauRollbackTransaction
Anda. -
Transaksi telah dibatalkan karena kesalahan dari panggilan sebelumnya.
Periksa apakah panggilan Anda sebelumnya telah memberikan pengecualian apa pun.
Lihat informasi tentang menjalankan transaksi di Memanggil Amazon RDS Data API.
Paket untuk kueri terlalu besar
Dalam kasus ini, set hasil yang ditampilkan untuk satu baris terlalu besar. Batas ukuran API Data adalah 64 KB per baris dalam set hasil yang ditampilkan oleh basis data.
Untuk mengatasi masalah ini, pastikan setiap baris dalam set hasil berukuran 64 KB atau kurang.
Respons basis data melebihi batas ukuran
Dalam kasus ini, ukuran set hasil yang ditampilkan oleh basis data terlalu besar. Batas API Data adalah 1 MiB per baris dalam set hasil yang ditampilkan oleh basis data.
Untuk mengatasi masalah ini, pastikan panggilan ke Data API mengembalikan 1 MiB data atau kurang. Jika Anda perlu menampilkan lebih dari 1 MiB, Anda dapat menggunakan beberapa panggilan ExecuteStatement
dengan klausa LIMIT
di kueri Anda.
Lihat informasi selengkapnya tentang klausa LIMIT
di SELECT syntax
HttpEndpointtidak diaktifkan untuk cluster <cluster_ID>
Periksa penyebab potensial berikut untuk masalah ini:
-
Cluster Aurora DB tidak mendukung API Data. Untuk informasi tentang jenis cluster DB yang didukung RDS Data API, lihat. Ketersediaan wilayah dan versi untuk Amazon RDS Data API
-
Data API tidak diaktifkan untuk cluster Aurora DB. Untuk menggunakan Data API dengan cluster Aurora DB, Data API harus diaktifkan untuk cluster DB. Untuk informasi tentang mengaktifkan Data API, lihatMengaktifkan API Data Amazon RDS.
-
Cluster DB diganti namanya setelah Data API diaktifkan untuknya. Dalam hal ini, matikan Data API untuk cluster itu dan kemudian aktifkan lagi.
-
ARN yang Anda tentukan tidak sama persis dengan ARN klaster. Periksa apakah ARN yang ditampilkan dari sumber lain atau dibangun oleh logika program cocok dengan ARN klaster secara tepat. Misalnya, pastikan ARN yang Anda gunakan memiliki kapitalisasi huruf yang benar untuk semua karakter alfabet.
DatabaseErrorException: Transaksi masih menjalankan kueri
Jika aplikasi Anda mengirimkan permintaan dengan ID transaksi dan transaksi tersebut saat ini sedang memproses permintaan lain, Data API mengembalikan kesalahan ini ke aplikasi Anda segera. Kondisi ini mungkin muncul jika aplikasi Anda membuat permintaan asinkron, menggunakan mekanisme seperti “janji” di Javascript.
Untuk mengatasi masalah ini, tunggu hingga permintaan sebelumnya selesai dan kemudian coba lagi permintaan tersebut. Anda dapat terus mencoba lagi sampai kesalahan tidak lagi terjadi, atau aplikasi menerima beberapa jenis kesalahan yang berbeda.
Kondisi ini dapat terjadi dengan Data API untuk Aurora Serverless v2 dan contoh yang disediakan. Dalam API Data untuk Aurora Serverless v1, permintaan selanjutnya untuk ID transaksi yang sama secara otomatis menunggu permintaan sebelumnya selesai. Namun, perilaku lama itu berpotensi mengalami batas waktu karena permintaan sebelumnya terlalu lama. Jika Anda mem-porting aplikasi Data API lama yang membuat permintaan bersamaan, ubah logika penanganan pengecualian Anda untuk memperhitungkan jenis kesalahan baru ini.
Pengecualian hasil yang tidak didukung
Data API tidak mendukung semua tipe data. Kesalahan ini terjadi ketika Anda menjalankan kueri yang mengembalikan tipe data yang tidak didukung.
Untuk mengatasi masalah ini, kirimkan tipe data yang tidak didukung keTEXT
. Misalnya:
SELECT custom_type::TEXT FROM my_table; -- OR SELECT CAST(custom_type AS TEXT) FROM my_table;
Multi-pernyataan tidak didukung
Multi-pernyataan tidak didukung dalam API Data untuk Aurora Serverless v2 dan klaster yang disediakan. Mencoba mengeksekusi beberapa pernyataan dalam satu panggilan API menghasilkan kesalahan ini.
Untuk mengeksekusi beberapa pernyataan, gunakan panggilan ExecuteStatement
API terpisah atau gunakan BatchExecuteStatement
API untuk pemrosesan batch.
Parameter skema tidak didukung
Aurora Serverless v1 diam-diam mengabaikan parameter skema. Namun, Aurora Serverless v2 dan klaster yang disediakan secara eksplisit menolak panggilan API yang menyertakan parameter skema.
Untuk mengatasi masalah ini, hapus parameter skema dari semua panggilan ke Data API saat Anda menggunakan Aurora Serverless v2 atau klaster yang disediakan.