Kredensial harus mencakup wilayah yang valid

TL;DR — Signature Version 4 memasukkan wilayah ke dalam cakupan kredensial setiap permintaan. Kesalahan ini berarti wilayah dalam cakupan tersebut tidak cocok dengan wilayah titik akhir yang sebenarnya Anda temukan — Anda masuk ke satu wilayah dan mengirim permintaan ke wilayah lain (atau menggunakan kode wilayah yang tidak valid). Jadikan wilayah klien yang dikonfigurasi cocok dengan titik akhir yang Anda panggil.

Apa artinya

InvalidSignatureException: Credential should be scoped to a valid region, not 'us-west-1'.

Mengapa itu terjadi

  • Ditandatangani untuk satu wilayah, dikirim ke wilayah lainregion yang dikonfigurasi SDK berbeda dari endpoint yang di-hardcode atau diganti yang menunjuk ke wilayah lain.
  • Titik akhir khusus tanpa wilayah yang cocok — Anda menyetel endpoint: https://dynamodb.eu-west-2.amazonaws.com tetapi meninggalkan wilayah klien di eu-west-1.
  • String wilayah yang tidak valid atau kosong — kesalahan ketik atau env var yang tidak disetel menghasilkan cakupan yang tidak dapat diterima oleh AWS sebagai valid.
  • Proxy atau gateway yang meneruskan permintaan ke titik akhir regional yang berbeda dari titik akhir yang ditandatangani.

Bagaimana cara memperbaikinya

  1. Cocokkan wilayah klien dengan titik akhir. Jika Anda menunjuk ke dynamodb.<region>.amazonaws.com, setel region klien ke <region> yang sama.
  2. Pilih pengaturan wilayah saja dan biarkan SDK membangun titik akhir — hapus penggantian endpoint manual kecuali Anda benar-benar membutuhkannya (misalnya DynamoDB Lokal).
  3. Pastikan kode wilayah valid (us-east-1, eu-west-2, …) dan benar-benar disetel — periksa AWS_REGION/AWS_DEFAULT_REGION dan file konfigurasi apa pun.
  4. Untuk pengaturan peran yang diasumsikan atau lintas wilayah, konfirmasikan bahwa permintaan ditandatangani dengan wilayah tujuan pengirimannya, bukan default yang diwarisi di tempat lain.

Untuk DynamoDB Lokal, arahkan titik akhir ke http://localhost:8000 dan berikan wilayah yang konsisten kepada klien — wilayah tersebut hanya harus cocok dengan apa yang ditandatangani oleh klien.

Cek dulu di DynoTable

DynoTable menandatangani setiap permintaan dengan wilayah yang disimpan di profil aktif. Pengaturan → Profil memperlihatkan wilayah dan titik akhir kustom opsional pada satu formulir — ubah keduanya, lalu Uji Koneksi. Itu menghilangkan mode kegagalan SDK klasik di mana endpoint menunjuk pada eu-west-2 sementara region tetap eu-west-1.

Tekan ⌘P untuk mengonfirmasi profil mana (dan cakupan kredensial mana) yang aktif sebelum Anda men-debug kode aplikasi. Untuk Lokal, pertahankan titik akhir http://localhost:8000 dan wilayah mana pun yang cocok di profil yang sama. Setelah profil terhubung, gunakan pembuat kueri untuk membuktikan keberhasilan pembacaan dengan cakupan tersebut.

Sumber

Kesalahan terkait

Referensi

Terakhir diverifikasi 13-07-2026 terhadap 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.