DynamoDB のチートシート
このチートシートは、Amazon DynamoDB とそのさまざまな AWS SDK を操作するためのクイックリファレンスを提供します。
初期セットアップ
プログラムで DynamoDB にアクセスするための AWS アクセスキーを取得します。
以下も参照してください。
SDK または CLI
任意の SDK を選択するか、AWS CLI を設定します。
注記
Windows で AWS CLI を使用すると、引用符の中にないバックスラッシュ (\) はキャリッジリターンとして扱われます。また、他の引用符の中にある引用符や中かっこはエスケープする必要があります。例については、次のセクションの「テーブルの作成」の [Windows] タブを参照してください。
以下も参照してください。
基本アクション
このセクションでは、基本的な DynamoDB タスクのコードを提供します。これらのタスクの詳細については、「DynamoDB とAWS SDK の使用開始」を参照してください。
テーブルを作成する
テーブルへの項目の書き込み
aws dynamodb put-item \ --table-name Music \ --item file://item.json
テーブルから項目の読み込み
aws dynamodb get-item \ --table-name Music \ --item file://item.json
テーブルから項目の削除
aws dynamodb delete-item --table-name Music --key file://key.json
テーブルに対してクエリを実行する
aws dynamodb query --table-name Music --key-condition-expression "ArtistName=:Artist and SongName=:Songtitle"
テーブルを削除する
aws dynamodb delete-table --table-name Music
テーブル名のリスト化
aws dynamodb list-tables
名前付けルール
-
すべての名前は UTF-8 を使用してエンコードする必要があり、大文字と小文字が区別されます。
-
テーブル名とインデックス名の長さは 3~255 文字で、次の文字のみを含めることができます。
-
a-z
-
A-Z
-
0-9
-
_
(下線) -
-
(ダッシュ) -
.
(ドット)
-
-
属性名は 1 文字以上、64 KB 未満のサイズである必要があります。
詳細については、「命名規則」を参照してください。
サービスクォータの基本
読み込みユニットと書き込みユニット
-
読み込みキャパシティユニット (RCU) – 最大サイズが 4 KB の項目について、読み込みキャパシティユニット = 1 秒あたり 1 回の強力な整合性のある読み込み、あるいは 1 秒あたり 2 回の結果整合性のある読み込み。
-
書き込みキャパシティユニット (WCU) – 最大サイズが 1 KB の項目について、書き込みキャパシティユニット = 1 秒あたり 1 回の書き込み。
テーブルリミット
-
テーブルサイズ – テーブルのサイズには実用的な制限はありません。テーブルは項目数やバイト数について制限がありません。
-
テーブルの数 – AWS アカウントについては、AWS リージョンごとに 2,500 個のテーブルという初期クォータがあります。
-
クエリとスキャンのページサイズの制限 – クエリまたはスキャンごとに、1 ページあたり 1 MB に制限されています。クエリパラメータまたはテーブルでのスキャン操作の結果データが 1 MB を超える場合、DynamoDB は最初に一致した項目を返します。また、新しいリクエストで次のページを読むときに使用できる
LastEvaluatedKey
プロパティも返されます。
インデックス
-
ローカルセカンダリインデックス (LSI) – 最大 5 つのローカルセカンダリインデックスを定義できます。LSI は主に、インデックスがベーステーブルと強い一貫性を持たなければならない場合に役立ちます。
-
グローバルセカンダリインデックス (GSI) – デフォルトクォータとして、テーブルごとに 20 個のグローバルセカンダリインデックスがあります。
-
テーブル毎のセカンダリインデックス属性の射影 – 合計最大 100 の属性を、1 つのテーブルのすべてのグローバルセカンダリインデックスに射影することができます。これは、ユーザー指定の射影された属性だけに適用されます。
パーティションキー
-
パーティションキーと値の最小長は 1 バイトです。最大長は 2048 バイトです
-
テーブルまたはセカンダリインデックスについて、パーティションキー値の明確な数に関する実質的な制限はありません。
-
ソートキーと値の最小長は 1 バイトです。最大長は 1024 バイトです
-
一般的に、パーティションキーの値ごとのソートキーの値の数について、実質的に制限はありません。セカンダリインデックスを持つテーブルは例外です。
セカンダリインデックス、パーティションキー設計、ソートキー設計の詳細については、「ベストプラクティス」を参照してください。
一般的に使用されるデータ型の制限
-
文字列 – 文字列の長さは、項目の最大サイズである 400 KB に制約されます。文字列は、UTF-8 バイナリエンコードの Unicode です。
-
数値 – 数値は、最大 38 桁の精度であり、正、負、または 0 のいずれかです。
-
バイナリ – バイナリの長さは、項目の最大サイズである 400 KB に制約されます。バイナリ属性を操作するアプリケーションは、データを DynamoDB に送信する前に、base64 でエンコードする必要があります。
サポートされているデータ型のリストについては、「データ型」を参照してください。詳細については、「Service Quotas」(サービスクォータ) を参照してください。
項目、属性、式パラメータ
DynamoDB の項目の最大サイズは 400 KB で、属性名のバイナリの長さ (UTF-8 の長さ) と属性値の長さ (UTF-8 の長さ) を含みます。属性名はサイズ制限に反映されます。
値を含む項目が 400 KB の制限内である限り、リスト、マップ、またはセットにおける値の最大数の制限はありません。
式パラメータでは、式文字列の最大長は 4 KB です。
項目サイズ、属性、および式パラメータの詳細については、「Service Quotas」(サービスクォータ) を参照してください。