DynamoDB アトミックカウンタを作る

DynamoDBでは、RDBにあるオートカウンタの機能はありません。そのため、確実にユニークな値を生成するための機能は、自前で作る必要があります。そこで、オートカウンタの機能のかわりにアトミックカウンタを使って、ユニークな値を生成させる必要があります。

ユニークな値を生成には、更新時の排他が絶対的な処理となります。その排他をしながらデータをインクリメントするための機能として、”UpdateItem”というメソッドが用意されています。(Amazon DynamoDB アトミックカウンタ を参照)

(実現方法)
・IDカウンタ用のテーブルを定義します
・テーブルのカウンタを更新し、データを取得するLambda関数を用意します
・GraphQLもしくはAPI Gatewayを利用して、クライアントからアクセスできる様にします

API Gatewayを経由して、インクリメント・デクリメントの機能を組み込んだサンプルプログラムです。

本記事にたいする質問やお問合せ・IT改善のご相談はこちら