[解決済み] DynamoDB Upsert - Update or Create?
2022-03-03 21:54:33
質問
DynamoDBを使用しています
UpdateItem
.
これは、次のように、quot;upsert" として機能します。 ドキュメントより
<ブロッククオート既存の項目の属性を編集し、まだ存在しない場合は新しい項目をテーブルに追加します。[...]
アイテムが作成されたか、既存のアイテムが更新されたかを判断するために、私たちはリクエストを行うとき、次のようにリクエストします。
ALL_OLD
. これは素晴らしい機能で
update
と
create
.
また、追加要件として
ALL_NEW
が、実行された操作の種類を知ることができます。
質問です。これは1回のリクエストで可能ですか、それとも2回目の(get)リクエストをする必要がありますか?
どのように解決するのですか?
DynamoDBではデフォルトでサポートされていないため、このような場合は
ALL
または
NEW_AND_OLD_IMAGES
のように、DynamoDBのストリームにあるように、いつでもDIYすることができます。
を行うと
UpdateItem
を呼び出すと
UpdateExpression
これは基本的に、アイテムに適用する変更点のリストです。DynamoDBに、アイテムを以下のような形で返すように言ったとします。
以前
その操作によって、新しい状態をローカルに構築することができます。
のコピーを作成するだけです。
ALL_OLD
レスポンスからの変更をローカルに適用します。
UpdateExpression
を追加しました。実装が若干複雑になりますが、APIを2回呼び出すよりも断然速いです。
関連
-
[解決済み] MSCK REPAIR TABLEは裏で何をしているのか、なぜこんなに遅いのか?
-
[解決済み] AWS cli: not authorized to perform: sts:AssumeRole on resource.
-
[解決済み] DynamoDB Upsert - Update or Create?
-
[解決済み] AWSです。CloudFormationのテンプレートでbooleanパラメータを指定する方法
-
[解決済み] DynamoDBのBatchGetItemとQueryの違いとは?
-
[解決済み] EC2でインスタンスを削除するには?
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] PostgreSQLで重複して更新された場合の挿入?
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み】PostgreSQLでUPSERT(MERGE、INSERT ... ON DUPLICATE UPDATE)する方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Amazon SQSを複数のコンシューマで使用する
-
[解決済み] エラー: networkMode 'awsvpc' が指定された場合、ネットワーク構成を提供する必要があります。
-
[解決済み] Terraformを使って既存のVPCにECを立ち上げる方法
-
[解決済み] ネットワークインターフェイスが無効なAWS EC2インスタンスに接続しようとする
-
[解決済み] ウェブサイトがAmazonネームサーバーを持っているが、別のサーバーでホストされている方法
-
[解決済み] AWS DynamoDBから10ms以下のレスポンスタイムを得るには?
-
[解決済み] AWSのロールを "アサイン "するとはどういうことですか?
-
[解決済み] `aws s3 cp` vs `aws s3 sync` 動作とコスト [終了しました]。
-
[解決済み] CIDRアドレスがVPCのCIDRアドレスに含まれない
-
[解決済み] S3バケットを丸ごとダウンロードする?