Hazırlama ve işleme

Öğe düzenlemeleri, oluşturmalar ve hazırlanmış silmeler, DynamoDB'ye dokunmadan önce bir hazırlama alanından geçer. Bunu, bir güvenlik mandalı olan bir git hazırlama alanı gibi düşün: değişiklikler incelenebilir diff'ler olarak birikir, ardından yalnızca sen işlediğinde olarak gönderilir.

İki yol hazırlamayı tasarımı gereği atlar: PartiQL yazma ifadeleri bir uyarıyla doğrudan tablona karşı çalışır ve ⌘⇧⌫ seçili satırları tek adımda silip işler.

Nasıl çalışır

Her tablonun kendi hazırlama alanı vardır; o tablonun her görünümünde paylaşılır. Bir öğe düzenlemesi kaydettiğinde, bir satır oluşturduğunda ya da birini sildiğinde, değişiklik panele öznitelik başına bir diff olarak iner — eklenen, kaldırılan ve değiştirilen öznitelikler yan yana gösterilir. Izgaradaki etkilenen satırlar işleme göre renklendirilir:

  • yeşil — yeni bir öğe (oluştur)
  • turuncu — bir güncelleme (değiştirilen hücreler vurgulanır)
  • kırmızı — bir silme (üstü çizili)

Aynı tabloyu iki sekmede aç; ikisi de aynı bekleyen değişiklikleri gösterir; bir sekmeyi kapatıp yeniden aç, stage hâlâ oradadır. Bir sekmeyi kapatmak, hazırlanmış değişikliklerini asla atmaz.

Paneli ⌘⇧D ile aç/kapat. Yeniden boyutlandırmak için kenarını sürükle.

Bekleyen DynamoDB değişikliklerini öznitelik başına fark kartları olarak gösteren DynoTable hazırlama paneli; satır satır ve toplu işleme imkânı verir.
Bekleyen DynamoDB değişikliklerini öznitelik başına fark kartları olarak gösteren DynoTable hazırlama paneli; satır satır ve toplu işleme imkânı verir.

Değişiklikleri inceleme

Her diff kartı tam olarak neyin değişeceğini gösterir:

  • Skalerler, kırmızı/yeşil vurgulamayla eski → yeni olarak render edilir.
  • Uzun string'ler satır içi kelime düzeyinde bir diff gösterir.
  • Map ve List'ler güzelce biçimlendirilmiş JSON olarak render edilir (v1'de tüm öznitelik).

Tek bir özniteliği orijinal değerine geri bırakmak için bir kartın öznitelik başına Reddet'ini kullan. Her özniteliği reddet, tüm değişiklik atılır.

İşleme

Hazırlanmış değişikliklerini DynamoDB'ye yazmak için işle:

  • N'i işle, o tablo için hazırlanmış her değişikliği gönderir — tüm sekmelerinde.
  • Yalnızca bunu işle, kartından tek bir değişikliği gönderir.

İşlemeler, iyimser kilitleme koşullarıyla TransactWriteItems toplu işlemleri olarak gider: bir güncelleme yalnızca öznitelikler başladığın değerleri hâlâ tutuyorsa başarılı olur, bir oluşturma yalnızca öğe henüz mevcut değilse başarılı olur ve bir silme yalnızca öğe hâlâ oradaysa başarılı olur. Bu sitedeki ifade oluşturucu, onları hazırlama panelinin dışında incelemek istersen aynı UpdateExpression ve ConditionExpression biçimlerini kurar. Büyük hazırlamalar, DynamoDB'nin işlem sınırları içinde kalmak için otomatik olarak parçalanır.

Düzenleyiciden gelen kaydetme tuş bileşimleri burada da geçerlidir:

  • ⌘S — hazırla (işleme yok)
  • ⌘⇧S — kaydet ve işle
  • ⌘⇧X — hazırlanmış tüm değişiklikleri at (onaylamayla)

Bir ızgara seçiminden, düzenleyiciyi açmadan silmeleri hazırlayabilirsin:

  • ⌘⌫ — seçili satırların bir silmesini hazırla
  • ⌘⇧⌫ — seçili satırları sil ve işle

Çakışmalar

İşlemeler iyimser kilitleme kullandığından, sen kendi değişikliğini hazırladıktan sonra başka biri tarafından işlenen bir değişiklik, sessizce üzerine yazılmak yerine algılanır. Kart satır içi bir afiş gösterir:

  • Sapma — uzak öğe altında değişti. Uzağın üzerine yeniden temellendir, yeniden inceleyebilmen için temel çizgiyi yeniler ya da değişikliği İptal et.
  • Uzakta silindi — öğe artık mevcut değil. Değişikliği iptal et.
  • Ağ kullanılamıyor — işleme DynamoDB'ye ulaşamadı. Yeniden dene ya da iptal et.

Bir işleme, ilk başarısız toplu işlemde durur — daha önceki başarılı toplu işlemler yazılı kalır, gerisi denenmez ve başarısızlıklar çözülecek çakışmalar olarak yüzeye çıkar.

İşlemeleri ne engeller

Düzenleme, hazırlama ve işleme; hepsi Deneme ya da Etkin bir lisans gerektirir. Bir durum yalnızca işlemeyi değil, yolun tamamını engeller — uygulama etkin bir duruma döndüğünde yeniden açılır.

Güncellendi