DynamoDB ThrottlingException

TL;DR — İstek hızınız bir sınırı aştı. Yeniden denenebilirdir — geri çekilin ve yeniden deneyin (SDK bunu varsayılan olarak yapar). Sürerse, bir kontrol düzlemi API'sini (CreateTable, UpdateTable, DescribeTable) çok sık çağırıyorsunuzdur ya da bir hesap düzeyi sınıra çarpıyorsunuzdur.

Ne anlama gelir

ThrottlingException: Rate of requests exceeds the allowed throughput.

ThrottlingException (ve ilgili RequestLimitExceeded), sağlanan bir tablonun kendi RCU/WCU ayarı olmayan bir hız sınırını işaret eder. HTTP 400 olarak geri gelir ve yeniden denenebilirdir. En sık, çok hızlı yapılan kontrol düzlemi işlemlerinde olur ve — talep üzerine tablolar için — istek hızı çok yüksek olduğunda herhangi bir veri düzlemi işlemi için döndürülebilir (yapılandırılmış bir maksimum talep üzerine verimi aştığınızda dahil). Hata, kısıtlanan kaynağı ve çarpılan sınırı adlandıran ThrottlingReason alanları taşır.

Neden olur

  • Kontrol düzlemi API'lerini yoklamakDescribeTable, ListTables, UpdateTable'ı sıkı bir döngüde çağırmak (örneğin bir tablonun ACTIVE olmasını beklemek).
  • Birçok tabloyu hızlıca oluşturmak/silmek — eşzamanlı kontrol düzlemi işlemleri sınırlıdır (aynı anda CREATING/UPDATING/DELETING durumunda 500'den fazla tablo/indeks olmaz).
  • Yapılandırılmış bir talep üzerine maksimum verim — bir talep üzerine tabloda ya da GSI'de MaxReadRequestUnits/MaxWriteRequestUnits'i aşmak ThrottlingException döndürür.
  • Bir talep üzerine tabloda ani bir patlama — yeni tablolar saniyede 4.000 yazma ve 12.000 okumada başlar ve önceki zirvenizin iki katını 30 dakika içinde aşmak, DynamoDB ölçeklenene kadar kısıtlayabilir.

Nasıl düzeltilir

  1. Üstel geri çekilme + titreşimle yeniden deneyin — AWS SDK'ları bunu otomatik yapar; yeniden denemeleri açık tutun ve uyarlanabilir yeniden deneme modunu değerlendirin.
  2. Kontrol düzlemi API'lerini sıkı-yoklamayı bırakın. Sıcak bir döngü yerine makul bir zamanlamada yoklayan bekleyicileri (waitUntilTableExists) kullanın.
  3. Veri düzlemi yazmalarını toplu işleyin ve temposunda tutun. Toplu yüklemeleri kademeli olarak artırın, böylece talep üzerine kapasite sizinle ölçeklenebilsin.
  4. Bir düzine tabloyu bir seferde oluşturmak yerine tablo işlemlerini zamana yayın.

Örnek

import {DynamoDBClient} from '@aws-sdk/client-dynamodb';
import {waitUntilTableExists} from '@aws-sdk/client-dynamodb';

const client = new DynamoDBClient({});
//  a waiter polls on a backoff schedule — not a tight DescribeTable loop
await waitUntilTableExists({client, maxWaitTime: 120}, {TableName: 'Orders'});

SSS

ThrottlingException, ProvisionedThroughputExceededException ile aynı mıdır? Hayır. ProvisionedThroughputExceededException, bir tablonun sağlanan kapasitesini aşmanın veri düzlemi hatasıdır. ThrottlingException, düşük hesap geneli sınırları olan kontrol düzlemi işlemlerinde (CreateTable, UpdateTable, DescribeTable) ve çok yüksek hacimli patlamalarda en yaygındır.

Bir DynamoDB ThrottlingException'ı nasıl düzeltirim? Üstel geri çekilme ve titreşimle yeniden deneyin — AWS SDK'ları bunu otomatik yapar. Kontrol düzlemi API'lerini sıkı-yoklamayı bırakın (waitUntilTableExists gibi bekleyicileri kullanın), toplu yüklemeleri kademeli olarak artırın, böylece talep üzerine kapasite sizinle ölçeklenebilsin ve tablo işlemlerini zamana yayın.

DynoTable'da boyutu kontrol edin

Kontrol düzlemi kısıtlaması tablo kurulumunu engellediğinde, döngüde DescribeTable yoklamak yerine mevcut tablolara göz atmak için DynoTable tuşunu kullanın; tabloları tek bir yenilemeden sonra ⌘K ile açın. İsteğe bağlı kısıtlamayı tetikleyen toplu yükler için, rampa yapmadan önce trafiği pricing calculator ile boyutlandırın.

Profilleri ⌘P ile değiştirin; Ayarlar → Profiller'deki Bağlantıyı Test Et seçeneği hesabı onaylar. Bkz. Connect to AWS ve Install.

Kaynaklar

İlgili hatalar

Kaynaklar

En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.

Console olmadan DynamoDB ile çalış

DynamoDB’nin çalıştıramadığı gerçek SQL’i çalıştıran hızlı bir DynamoDB masaüstü istemcisi — JOINs, GROUP BY, toplamalar — görsel düzenleme ve kendi Bedrock anahtarların üzerinde bir yapay zekâ aracısıyla.

30 günlük ücretsiz deneme, kredi kartı yok — ardından süre sınırı olmayan Ücretsiz plan.