Kesalahan Server Internal (HTTP 500)

TL;DR — DynamoDB tidak dapat memproses permintaan; kesalahannya ada di sisi layanan dan percobaan ulang adalah respons yang terdokumentasi - AWS menyatakan kesalahan ini diperkirakan terjadi selama masa pakai tabel dan permintaan yang gagal dapat segera dicoba ulang. Satu-satunya hal yang halus: angka 500 pada write bersifat ambigu (mungkin berhasil atau gagal), jadi baca kembali item tersebut atau gunakan pola idempoten sebelum menerapkannya kembali secara membabi buta.

Apa artinya

InternalServerError: The server encountered an internal error trying to
fulfill the request.
HTTP 500 — retryable service-side Exception (Programming.Errors)

Mengapa itu terjadi

  • Kesalahan sisi layanan sementara — AWS mendokumentasikan kesalahan internal yang sesekali terjadi selama masa pakai tabel; itu bukan disebabkan oleh bentuk permintaan Anda.
  • Peristiwa layanan asli — jika respons 5xx tetap ada saat percobaan ulang, periksa Dasbor Kesehatan AWS untuk mengetahui masalah operasional di Wilayah Anda.

Bagaimana cara memperbaikinya

  1. Coba lagi dengan backoff eksponensial — atau biarkan SDK melakukannya; setiap AWS SDK mencoba ulang respons 5xx secara otomatis. Hanya setelah kegagalan yang terus-menerus, Anda dapat memperlakukannya sebagai sebuah insiden.
  2. Menangani ambiguitas penulisan — angka 500 pada PutItem/UpdateItem/DeleteItem mungkin telah diterapkan. Opsi yang terdokumentasi:
    • baca status item sebelum mencoba lagi, dan/atau

    • jaga percobaan ulang dengan ekspresi kondisi agar tetap benar baik percobaan pertama berhasil atau tidak, mis. pemeriksaan versi:

      ConditionExpression: 'version = :expected',
      ExpressionAttributeValues: {':expected': {'N': '7'}}
    • gunakan TransactWriteItems dengan ClientRequestToken ketika idempotensi merupakan persyaratan yang sulit — upaya duplikat dalam jendela token dihitung satu kali.

  3. 500 di TransactWriteItems aman untuk dicoba kembali sebagaimana adanya — transaksi berhasil atau tidak; tokennya terhapus duplikatnya.
  4. Escalate hanya jika tetap ada — 5xx yang berkelanjutan dalam hitungan menit adalah masalah layanan: periksa dasbor kesehatan dan buka kasus dukungan dengan RequestId dari respons yang gagal.

Setelah penulisan yang ambigu, lihat apa yang sebenarnya disimpan sebelum menjalankan kembali pekerjaan Anda — aplikasi desktop DynoTable menampilkan status item aktif secara sekilas, dan kalkulator harga DynamoDB membantu mengukur lalu lintas percobaan ulang jika Anda menjalankan ulang batch.

Sebelum mencoba lagi di DynoTable

Setelah 500 pada penulisan, buka item di DynoTable dan baca status langsung sebelum Anda menjalankan kembali pekerjaan tersebut. Staging (⌘S) memungkinkan Anda menyiapkan pengeditan korektif dan meninjau perbedaan sebelum melakukan — lebih aman daripada memutar ulang PutItem secara membabi buta. Peralihan profil (⌘P) terus mencoba ulang pada akun/region yang sama yang melihat kesalahan.

Jika Anda memutar ulang batch, ukur lalu lintas tambahan dengan kalkulator harga dan periksa bentuk item dengan kalkulator ukuran item. 5xx yang persisten dalam hitungan menit adalah masalah Kesehatan AWS; menjaga RequestId dari respons SDK yang gagal untuk mendapatkan dukungan.

Sumber

Kesalahan terkait

Referensi

Terakhir diverifikasi 2026-07-13 berdasarkan dokumentasi resmi AWS yang ditautkan di atas.

Bekerja dengan DynamoDB tanpa Console

Klien desktop DynamoDB yang cepat dan menjalankan SQL sungguhan yang tidak bisa dijalankan DynamoDB — JOINs, GROUP BY, agregasi — dengan editing visual dan agen AI pada kunci Bedrock milik Anda sendiri.

Uji coba gratis 30 hari, tanpa kartu kredit — lalu paket Free tanpa batas waktu.