DynamoDB S3 import failed — invalid format
TL;DR — ImportTable, FAILED durumu, FailureCode: ItemValidationError ve "Some of the items failed validation checks and were not imported." mesajıyla bitti. Kaynak nesneler, bildirdiğiniz InputFormat/InputCompressionType ile eşleşmiyor ya da öğelerde birincil anahtar eksik. Biçimi/sıkıştırmayı nesnelerle eşleşecek şekilde düzeltin, her öğenin anahtarı taşıdığını doğrulayın ve içe aktarmayı yeniden çalıştırın.
Ne anlama gelir
"FailureCode": "ItemValidationError",
"FailureMessage": "Some of the items failed validation checks and were not
imported. Please check CloudWatch error logs for more details."
# In /aws-dynamodb/imports CloudWatch logs:
ValidationException: One or more parameter values were invalid: Missing the key pk in the itemS3'ten DynamoDB İçe Aktarma, her nesneyi ImportTable çağrısında bildirdiğiniz biçim ve sıkıştırmaya karşı doğrular — InputFormat (DYNAMODB_JSON, ION veya CSV) ve InputCompressionType (GZIP, ZSTD veya NONE), dosya uzantısına göre önceliklidir. Baytlar bildirildiği gibi ayrıştırılmazsa ya da bir öğede tablonun birincil anahtarı yoksa, o öğe atlanır (içe aktarma sonraki öğeyle devam eder) ve iş FAILED biter.
Neden olur
- Biçim uyuşmazlığı —
DYNAMODB_JSONbelirttiniz ama nesneler aslında CSV (ya da düz JSON), bu yüzden hiçbir şey ayrıştırılmıyor. - Sıkıştırma uyuşmazlığı — önekin altındaki nesneler farklı şekilde sıkıştırılmış (bazıları GZIP, bazıları NONE); hepsi aynısını kullanmalıdır.
- Desteklenmeyen sıkıştırma — yalnızca
GZIP,ZSTDveyaNONE'a izin verilir; diğer kodlayıcılar başarısız olur. - Eksik birincil anahtar — bir CSV/JSON öğesinde bildirilen bölüm (veya sıralama) anahtarıyla eşleşen bir sütun/öznitelik yok: "Missing the key pk in the item."
- Anahtar türü uyuşmazlığı — içe aktarılan anahtarın türü tablonun
AttributeDefinitions'ıyla eşleşmiyor (örneğin string olarak içe aktarılan sayısal bir anahtar). - Önekin altında ayrıştırılamayan bir nesne — önekle eşleşen her nesne veri olarak okunur, dolayısıyla başıboş bir yer tutucu ya da hatalı biçimlendirilmiş bir dosya doğrulamayı geçemez.
Nasıl düzeltilir
InputFormat'ı gerçek baytlarla eşleştirin — CSV dosyaları →CSV, DynamoDB JSON →DYNAMODB_JSON, Amazon Ion →ION.- Önekin altındaki her nesnenin aynı sıkıştırmayı kullanmasını sağlayın ve
InputCompressionType'ı eşleşecek şekilde ayarlayın (GZIP/ZSTD/NONE). - Her öğenin birincil anahtara sahip olduğundan emin olun — CSV için, bildirilen
KeySchemaile eşleşen bir adla anahtar sütununu (ve başlığı) dahil edin. - Anahtar öznitelik türlerini tablonun
AttributeDefinitions'ıyla eşleştirin (S/N/B). - Tam öğe başına neden için
/aws-dynamodb/imports,<import-id>/errorgünlük akışındaki CloudWatch hata günlüklerini okuyun. - Önekin altında yalnızca ayrıştırılabilir veri nesneleri tutun; konsolda klasörler oluşturmak yerine veriyi CLI/SDK aracılığıyla yükleyin.
İçe aktarma dosyasını mevcut veriden mi oluşturuyorsunuz? DynoTable masaüstü uygulaması DynamoDB JSON'u dışa aktarır ve önizler, böylece nesneleri S3'e göndermeden önce biçimi ve birincil anahtarın bulunduğunu doğrulayabilirsiniz.
DynoTable workbench
Yüklemeden önce içe aktarılan dosyaları doğrulayın — DynoTable'den örnek bir öğeyi DynamoDB JSON (⌘K → öğeyi kopyala) olarak dışa aktarın ve JSON converter'deki anahtar nitelikleri onaylayın. Büyük nesneler ayrıştırma hatalarına neden olduğunda öğe boyutlarını item sana calculator ile kontrol edin.
S3 hesap profilini Ayarlar → Profiller altında Bağlantıyı Test Et ile yapılandırın; ⌘P ile değiştirin. Bkz. Connect to AWS ve Install.
Kaynaklar
- Import format quotas and validation (2026-07-13 tarihinde doğrulandı)
- ImportTable — Amazon DynamoDB API Reference (2026-07-13 tarihinde doğrulandı)
İlgili hatalar
- ResourceInUseException — içe aktarma hedef tablo adı zaten var.
- The provided key element does not match the schema — bir anahtar türü uyuşmazlığı.
- Öğrenin: DynamoDB JSON marshalling · Export DynamoDB to CSV
Kaynaklar
- Import format quotas and validation — Amazon DynamoDB Developer Guide
- Requesting a table import in DynamoDB — Amazon DynamoDB Developer Guide
- ImportTable — Amazon DynamoDB API Reference
En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.