'da liste_append'i birleştirmek mümkün mü 0Dişlevini boto3'te DynamoDB için kullanmaya çalışıyorum.if_not_exists ve update_item
Şu anda öğeler için listeleri güncellemek için mücadele ediyorum. Listenin henüz mevcut olmaması ve mevcut listeye eklenmesi durumunda yeni bir liste oluşturmak istiyorum. formun SET my_list = list_append(my_list, :my_value)
bir UpdateExpression
kullanma
listesi henüz yoksa "sağlanan ifade kaleminde mevcut olmayan bir özelliğine başvuruda" bir hata döndürür.
UpdateExpression
sayfamı nasıl değiştirebilirim?
Teşekkür & saygılarımla, Fabian
teşekkürler! Oldukça temiz bir çözüm. – fabian
Bunun yarış koşullarına tabi olup olmadığı hakkında bir fikriniz var mı? AWS belgelerine bakıyorum ve herhangi bir kilitleme/işlem yok gibi görünüyorlar (en azından Python SDK için). Kesinlikle bu kod şöyle görünebilir: DB'den listeyi oku, b: yeni değeri ekle, ve c: eski değerin üzerine yaz, bu arada _could_ değiştirildi. –
Dokümantasyonda doğrudan bir onay bulamıyorum, ancak tek bir UpdateItem işleminin atomik olmasını bekledim, en yakın şey sss içinde bulundu - "Tek bir API çağrısı kullanarak bir satırdaki sayısal bir özniteliği artırabilir veya azaltabilirsiniz. Benzer şekilde, kümelere, listelere veya haritalara atomik olarak ekleme veya çıkarma yapabilirsiniz ", bkz. Https://aws.amazon.com/dynamodb/faqs/ –