DynamoDB görsel saklayabilir mi?
Evet, ama yalnızca küçük olanları. DynamoDB, öğenin tamamı 400 KB sınırının altında kaldığı sürece görselleri base64 kodlu Binary (B) öznitelikleri olarak saklayabilir. 400 KB çoğu medya dosyası için fazla küçük olduğundan AWS, daha büyük görselleri Amazon S3'te saklamayı ve DynamoDB'de yalnızca nesne meta verisini ve bir S3 referansını tutmayı önerir.
Küçük görsel saklama nasıl çalışır
Görseli base64 olarak kodlayın ve bir Binary özniteliğinde saklayın. DynamoDB 400 KB öğe tavanına karşı ham bayt uzunluğunu ölçer; dolayısıyla bir küçük resim ya da simge sığar, tam bir fotoğraf genellikle sığmaz.
Önerilen desen
400 KB'tan büyük her şey için:
- Görseli Amazon S3'e yükleyin.
- S3 anahtarını, boyutunu, içerik türünü ve diğer meta verilerini DynamoDB'de saklayın.
- Meta veriyi DynamoDB'den okuyun, sonra nesneyi S3'ten getirin.
DynamoDB ile S3'ün işlem paylaşmadığını unutmayın; dolayısıyla başarısızlıkta öksüz kalan nesneleri uygulamanız temizlemelidir.
Satır içine almak neye mal olur
Saniyede bir yükleme ve saniyede on görüntülemeyi, us-east-1'de talep üzerine modda ele alın ve her iki şekli de fiyatlandırma hesaplayıcımızdan geçirin:
| Aylık | 380 KB görsel satır içi | 119 baytlık işaretçi |
|---|---|---|
| Yazmalar | $624.15 | $1.64 |
| Okumalar (nihai tutarlı) | $156.04 | $1.64 |
| İstek toplamı | $780.19 | $3.29 |
Aynı trafik 238 kat pahalıya geliyor ve bunun tamamını kapasite yuvarlaması yapıyor. Bir yazma birimi 1 KB'ı karşılar; dolayısıyla görsel 380 birim faturalandırılırken işaretçi 1 birim faturalandırılır. Okumalar 4 KB'a yuvarlanır; dolayısıyla görselin nihai tutarlı her okuması 0,5'e karşı 47,5 okuma birimine mal olur.
Depolama bunun üzerine biner. Saniyede bir 380 KB'lık yükleme ayda 952 GB ekler; bu da DynamoDB'nin GB-ay başına $0.25 tarifesinde $238.09, S3 Standard'ın $0.023 tarifesinde ise $21.90 eder — ve gelecek ayın yüklemeleri aynısını yeniden ekler.
O sayıların anlattığı işaretçi öğesi şudur ve 119 bayt ölçer:
{
"pk": "IMG#2026-07-28#a1b2c3",
"s3Key": "uploads/2026/07/28/a1b2c3.jpg",
"contentType": "image/jpeg",
"bytes": 389120,
"width": 1920,
"height": 1080,
"uploadedAt": 1785283200
}Daha derine inin
Bkz. maksimum öğe boyutu ve öğeleri öğe boyutu hesaplayıcısıyla ölçün. İkili öznitelikleri incelemek için DynoTable'ı indirin.
Fiyatlandırma kaynakları
- Amazon DynamoDB pricing — istek birimi ve depolama tarifeleri, AWS Price List API'sinden hesaplayıcıya eşitlenir.
- Amazon S3 pricing — S3 Standard depolama, us-east-1'de ilk 50 TB için GB-ay başına $0.023 (2026-07-28 tarihinde Price List API'sinden okundu).
Kaynaklar
- Best practices for storing large items and attributes in DynamoDB — Amazon DynamoDB Developer Guide
- Supported data types and naming rules in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- Quotas in Amazon DynamoDB — Amazon DynamoDB Developer Guide
En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.
2026-07-28 tarihinde, AWS Price List API'sinden eşitlediği us-east-1 tarifeleri üzerinden kendi fiyatlandırma hesaplayıcımızla maliyetlendirildi. Girdiler: talep üzerine, saniyede 1 yazma, saniyede 10 nihai tutarlı okuma, yukarıdaki 119 baytlık öğeye karşı 380 KB, ücretsiz katman kapalı.