メニュー
Amazon DynamoDB
開発者ガイド (API Version 2012-08-10)

DynamoDB のドキュメント履歴

以下の表はドキュメントの重要な変更点をまとめたものです。

  • API バージョン: 2012-08-10

変更 説明 変更日
DAX の Node.js のサポート

Node.js 開発者は Node.js の DAX クライアントを使用して Amazon DynamoDB Accelerator (DAX) を活用できます。詳細については、「インメモリアクセラレーションと DAX」を参照してください。

2017 年 10 月 5 日
DynamoDB における VPC エンドポイント

DynamoDB エンドポイントにより、Amazon VPC の Amazon EC2 インスタンスはパブリックインターネットに公開されることなく、DynamoDB にアクセスできます。VPC と DynamoDB 間のネットワークトラフィックは、Amazon ネットワークを離れません。詳細については、「DynamoDB における Amazon VPC エンドポイント」を参照してください。

2017 年 8 月 16 日
DynamoDB の Auto Scaling

DynamoDB Auto Scaling では、プロビジョニングされたスループットの設定を手動で定義または調整する必要はありません。代わりに、DynamoDB Auto Scaling は実際のトラフィックパターンに応じて読み込みおよび書き込みキャパシティーを動的に調整します。これにより、テーブルまたはグローバルセカンダリインデックスで、プロビジョニングされた読み込みおよび書き込みキャパシティーが拡張され、トラフィックの急激な増加をスロットリングなしに処理できるようになります。ワークロードが減った場合、DynamoDB Auto Scaling はプロビジョニングされたキャパシティーを減らします。詳細については、「DynamoDB Auto Scaling によるスループットキャパシティの自動管理」を参照してください。

2017 年 6 月 14 日
Amazon DynamoDB Accelerator (DAX)

Amazon DynamoDB Accelerator (DAX) は、フルマネージド型で可用性の高い、DynamoDB 用のインメモリキャッシュで、1 秒あたりのリクエスト数が数百万におよぶ場合であっても、最大 10 倍のパフォーマンス向上 (ミリセカンドからマイクロセカンド) を実現します。詳細については、「インメモリアクセラレーションと DAX」を参照してください。

2017 年 4 月 19 日
DynamoDB が Time-to-Live (TTL) による項目の自動的な期限切れをサポート

Amazon DynamoDB の Time-to-Live (TTL) では、追加料金なしに有効期限が切れた項目をテーブルから自動的に削除することができます。詳細については、「Time To Live」を参照してください。

2017 年 2 月 27 日
DynamoDB が Cost Allocation Tags をサポート

使用量の類別と細分化したコストレポートの改善に、Amazon DynamoDB にタグを追加できるようになりました。詳細については、「DynamoDB のタグ付け」を参照してください。

2017 年 1 月 19 日
DynamoDB DescribeLimits の新しい API

DescribeLimits API は、リージョンの AWS アカウント用に現在プロビジョニングされた容量の制限を返します。この対象はリージョン全体と、そこで作成した任意の DynamoDB テーブルの両方です。これにより、現在のアカウントレベルの制限を判断し、現在使用中のプロビジョニングされた容量と比較できるようになります。また、制限に達する前に引き上げを申請するために十分な時間が得られます。詳細については、『Amazon DynamoDB API Reference』の「DynamoDB での制限」および「DescribeLimits」を参照してください。

2016 年 3 月 1 日
DynamoDB コンソールの更新とプライマリキー属性の新しい用語

DynamoDB マネジメントコンソールは、より直感的に、より使いやすくするために設計し直されました。この更新の一部であるプライマリキー属性の新しい用語について説明します。

  • パーティションキー: ハッシュ属性とも呼ばれます。

  • ソートキー: 範囲属性とも呼ばれます。

名前のみが変更され、機能は同じです。

テーブルまたはセカンダリインデックスを作成するときは、シンプルなプライマリキー (パーティションキーのみ) を選択するか、複合プライマリキー (パーティションキーおよびソートキー) を選択できます。DynamoDB ドキュメントは、これらの変更を反映するために更新されました。

2015 年 12 月 11 日
Amazon DynamoDB Storage Backend for Titan

DynamoDB Storage Backend for Titan は、Amazon DynamoDB 上に実装される Titan グラフデータベース用のストレージバックエンドです。DynamoDB Storage Backend for Titan を使用した場合、Amazon の可用性の高いデータセンターにかけて実行される DynamoDB の保護がデータに利点をもたらします。プラグインは、Titan バージョン0.4.4 (主に既存のアプリケーションに対応) と Titan バージョン 0.5.4 (新しいアプリケーションに推奨) で使用できます。このプラグインは、Titan 用の他のストレージバックエンドのように、Blueprints API および Gremlin シェルを含めて、Tinkerpop スタック (バージョン 2.4 および 2.5) をサポートします。詳細については、「Amazon DynamoDB Storage Backend for Titan」を参照してください。

2015 年 8 月 20 日
DynamoDB ストリーム、クロスリージョンレプリケーション、および強い整合性のある読み込みを使用したスキャン DynamoDB ストリーム は、DynamoDB テーブル内の項目レベルの変更の時系列シーケンスをキャプチャし、この情報を最大 24 時間ログに保存します。アプリケーションは、このログにアクセスし、データ項目の変更前および変更後の内容をほぼリアルタイムで参照できます。詳細については、「DynamoDB ストリーム を使用したテーブルアクティビティのキャプチャ」および「DynamoDB ストリーム API リファレンス」を参照してください。

DynamoDB クロスリージョンレプリケーションは、さまざまな AWS リージョンにまたがる DynamoDB テーブルの同一コピーをほぼリアルタイムで維持するためのクライアント側ソリューションです。クロスリージョンレプリケーションを使用すると、DynamoDB テーブルをバックアップしたり、またはユーザーが地理的に分散されたデータへの低レイテンシーアクセスを実現できます。詳細については、「クロスリージョンレプリケーション」を参照してください。

DynamoDB Scan オペレーションは、デフォルトでは結果整合性のある読み込みを使用します。代わりに、ConsistentRead パラメータを true に設定することによって、強い整合性のある読み込みを使用できます。詳細については、「Scan の読み込み整合性」と、『Amazon DynamoDB API Reference』の「スキャン」を参照してください。

2015 年 7 月 16 日
AWS CloudTrail による Amazon DynamoDB のサポート DynamoDB が CloudTrail と統合されました。CloudTrail は、DynamoDB コンソールまたは DynamoDB API から行われた API 呼び出しを記録し、ログファイルに記録します。詳細については、「AWS CloudTrail を使用した DynamoDB オペレーションのログ記録」と『AWS CloudTrail User Guide』を参照してください。 2015 年 5 月 28 日
クエリ式のサポートの向上 このリリースでは、Query API に新しい KeyConditionExpression パラメータが追加されました。Query は、プライマリキー値を使用してテーブルまたはインデックスから項目を読み込みます。KeyConditionExpression パラメータは、プライマリキーの名前、さらにキー値に適用される条件を特定する文字列です。Query は、式を満たすこれらの項目のみを取り出します。KeyConditionExpression の構文は、DynamoDB の他の式パラメータのものに似ています。この構文により、式内の名前や値の置換変数を定義できます。詳細については、「クエリの操作」を参照してください。 2015 年 4 月 27 日
条件付き書き込みの新しい比較関数 DynamoDB では、ConditionExpression パラメーターが、PutItemUpdateItem、または DeleteItem の成否を決定します。項目は、条件が true に評価された場合にのみ書き込まれます。このリリースでは、ConditionExpression で使用するための 2 つの新しい機能、attribute_typesize が追加されました。これらの機能により、テーブルの属性のデータの型やサイズに基づいて条件付き書き込みを実行できます。詳細については、「条件式」を参照してください。 2015 年 4 月 27 日
セカンダリインデックスのスキャン API DynamoDB では、Scan オペレーションはテーブルのすべての項目を読み込み、ユーザー定義のフィルタ基準を適用して、選択されたデータ項目をアプリケーションに返します。この同じ機能は、セカンダリインデックスでも使用できるようになりました。ローカルセカンダリインデックスまたはグローバルセカンダリインデックスをスキャンするには、インデックス名と親テーブルの名前を指定します。デフォルトでは、インデックス Scan はインデックス内のすべてのデータを返します。フィルタ式を使用して、アプリケーションに返される結果を絞り込むことができます。詳細については、「スキャンの使用」を参照してください。 2015 年 2 月 10 日
グローバルセカンダリインデックスのオンラインオペレーション オンラインインデックスでは、既存のテーブルにグローバルセカンダリインデックスを追加または削除することができます。オンラインインデックスを使用すれば、テーブルの作成時にテーブルのすべてのインデックスを定義する必要はありません。代わりに、いつでも新しいインデックスを追加できます。同様に、インデックスが不要であると判断した場合は、いつでもそのインデックスを削除できます。オンラインインデックスオペレーションはノンブロッキングであるため、インデックスの追加または削除中に、テーブルは読み取りまたは書き込みアクティビティに利用できる状態になります。詳細については、「グローバルセカンダリインデックスの管理」を参照してください。 2015 年 1 月 27 日
JSON によるドキュメントモデルのサポート DynamoDB は、ドキュメントモデルをフルサポートし、ドキュメントを保存し取得することができます。新しいデータ型は、JSON 標準と完全互換で、ドキュメント要素を互いに入れ子にすることができます。ドキュメントパスの逆参照演算子を使用して、ドキュメント全体を取得しなくても個々の要素を読み書きすることができます。今回のリリースでは、データ項目の読み書き時に射影、条件、更新アクションを指定する新しい式パラメータも導入されました。JSON によるドキュメントモデルのサポートについて詳しくは、「データ型」と「DynamoDB での式の使用」を参照してください。 2014 年 10 月 7 日
柔軟なスケーリング テーブルおよびグローバルセカンダリインデックスについては、テーブルごと、および、アカウントごとの制限内であれば、プロビジョニングされた読み書きスループットキャパシティーを任意の量だけ増やすことができます。詳細については、「DynamoDB での制限」を参照してください。 2014 年 10 月 7 日
項目サイズの拡大 DynamoDB の最大項目サイズが 64 KB から 400 KB に拡大されました。詳細については、「DynamoDB での制限」を参照してください。 2014 年 10 月 7 日
強化された条件式 DynamoDB では、条件式に使用できる演算子が強化されて、条件付きの入力、更新、削除をより柔軟に行えるようになりました。新たに使用可能になった演算子では、属性が存在するかしないか、特定の値より大きいか小さいか、2 つ値の範囲内にあるか、特定の文字で始まるかなどを調べることができます。DynamoDB では、複数の条件の評価に OR 演算子も必要に応じて使用できます。デフォルトでは、式内の複数の条件は AND 演算が行われるため、それらのすべての条件が true になる場合にのみ、式は true と評価されます。代わりに OR を指定すると、少なくとも 1 つ の条件が true になる場合に、式は true と評価されます。詳細については、「DynamoDB での項目の操作」を参照してください。 2014 年 4 月 24 日
クエリフィルター DynamoDB QueryFilter API では、新しい Query オプションがサポートされています。デフォルトでは、Query は、特定のパーティションキー値とオプションのソートキー条件 (省略可能) に一致する項目を検索します。Query フィルターはキー以外の属性(非キー属性)に条件式を適用します。Query フィルターがある場合は、フィルター条件に一致しない項目が除外されてから、Query の結果がアプリケーションに返されます。詳細については、「クエリの操作」を参照してください。 2014 年 4 月 24 日
AWS Management Console を使用したデータのエクスポートとインポート DynamoDB コンソールは強化されて、DynamoDB テーブルのデータのエクスポートとインポートが簡略化されました。数回クリックするだけで、AWS Data Pipeline を設定して、ワークフローのオーケストレーションが可能です。また、Amazon Elastic MapReduce クラスターを設定して、DynamoDB のテーブルから Amazon S3 バケットに、またはその逆にデータをコピーできます。エクスポートまたはインポートを 1 回のみ実行するか、日次エクスポートジョブを設定することができます。クロスリージョンのエクスポートとインポートを実行して、DynamoDB データを 1 つの AWS リージョン内のテーブルから 別の AWS リージョン内のテーブルにコピーすることもできます。詳細については、「AWS Data Pipeline を使用して DynamoDB データをエクスポートおよびインポートする」を参照してください。 2014 年 3 月 6 日
高レベル API のドキュメントの再構成 次の API に関する情報が見つけやすくなりました。
  • Java: DynamoDBMappper

  • .NET ドキュメントモデルとオブジェクト永続性モデル

この高レベル API は、「DynamoDB 用の高レベルプログラミングインターフェイス」に記載されています。
2014 年 1 月 20 日2014 年 1 月 3 日
グローバルセカンダリインデックス DynamoDB では、グローバルセカンダリインデックスのサポートが追加されています。ローカルセカンダリインデックスと同様、テーブルからの代替キーを使用して、インデックスに対してクエリリクエストを発行することで、グローバルセカンダリインデックスを定義します。ローカルセカンダリインデックスとは異なり、グローバルセカンダリインデックスのパーティションキーは、テーブルのパーティションキーと同じである必要がありません。テーブルからの任意のスカラー属性にすることができます。ソートキーはオプションです。このキーも任意のスカラーテーブル属性にすることができます。グローバルセカンダリインデックスにも独自のプロビジョニングされたスループット設定があり、親テーブルの設定から独立しています。詳細については、「セカンダリインデックスを使用したデータアクセス性の向上」および「グローバルセカンダリインデックス」を参照してください。 2013年12月12日
きめ細かなアクセス制御 DynamoDB では、きめ細かなアクセス制御のサポートを追加しました。この機能により、お客様は、DynamoDB テーブルまたはセカンダリインデックスの各項目と属性にアクセスできるプリンシパル(ユーザー、グループ、またはロール)を指定できます。また、アプリケーションでは、ウェブアイデンティティフェデレーションを利用して、Facebook、Google、Login with Amazon などのサードパーティのアイデンティティプロバイダーにユーザー認証タスクを任せることができます。こうすることで、アプリケーション(モバイルアプリケーションを含む)は、多数のユーザーを処理できると同時に、権限のないユーザーが DynamoDB データ項目にアクセスできないようにすることができます。詳細については、「詳細に設定されたアクセスコントロールのための IAM ポリシー条件の使用」を参照してください。 2013 年 10 月 29 日
4 KB の読み込みキャパシティーユニットのサイズ 読み込み用のキャパシティーユニットのサイズが 1 KB から 4 KB に増加しました。この拡張により、多くのアプリケーションで必要な、プロビジョニングされる読み込みキャパシティーユニットの数が少なくなります。たとえば、これより前のリリースでは、10 KB の項目を読み取る場合に 10 個の読み込みキャパシティーユニットが消費されていました。現在のリリースでは、同じ 10 KB の読み込みでも消費されるのは 3 ユニット(10 KB / 4 KB、次の 4 KB 境界に切り上げ)だけです。詳細については、「読み取りと書き込みのスループットキャパシティー」を参照してください。 2013 年 5 月 14 日
並列スキャン DynamoDB では、並列スキャンオペレーションのサポートが追加されています。各アプリケーションでは、1 つのテーブルを論理的なセグメントに分割して、すべてのセグメントを同時にスキャンすることができます。この機能によって、スキャンが完了するまでの時間が短縮され、テーブルにプロビジョニングされた読み込みキャパシティーが完全に利用されます。詳細については、「スキャンの使用」を参照してください。 2013 年 5 月 14 日
ローカルセカンダリインデックス DynamoDB はlocal secondary indexのサポートを追加します。非キー属性にソートキーインデックスを定義し、それらのインデックスをクエリリクエストで使用することができます。local secondary indexによって、アプリケーションが複数のディメンションにわたってデータ項目を効率的に取り出すことが可能になります。詳細については、「ローカルセカンダリインデックス」を参照してください。 2013 年 4 月 18 日
API の新バージョン このリリースの DynamoDB では、新しいバージョンの API (2012-08-10)が導入されています。以前のバージョンの API(2011-12-05)も、既存のアプリケーションとの下位互換性のために引き続きサポートされています。新しいアプリケーションでは、最新の API バージョン 2012-08-10 を使用してください。既存のアプリケーションも API バージョン 2012-08-10 に移行することをお勧めします。DynamoDB の新機能(ローカルセカンダリインデックスなど)は以前の API バージョンにバックポートされないためです。API バージョン 2012-08-10 の詳細については、Amazon DynamoDB API Reference を参照してください。 2013 年 4 月 18 日
IAM ポリシー変数のサポート

IAM アクセスポリシー言語では、変数がサポートされるようになりました。ポリシーが評価されると、認証ユーザーのセッションから得たコンテキストベースの情報に基づく値にポリシー変数が置き換えられます。ポリシー変数を使用すれば、ポリシーのすべての構成要素を明示的にリストしなくても、汎用的なポリシーを定義できます。ポリシー変数の詳細については、AWS Identity and Access Management Using IAM ガイドの Policy Variables を参照してください。

DynamoDB のポリシー変数の例については、Amazon DynamoDB に対する認証とアクセスコントロール を参照してください。

2013 年 4 月 4 日
AWS SDK for PHP バージョン 2 用に更新された PHP コードのサンプル AWS SDK for PHP のバージョン 2 が利用できるようになりました。Amazon DynamoDB 開発者ガイド の PHP コードサンプルもこの新しい SDK を使用するように更新しました。SDK のバージョン 2 の詳細については、AWS SDK for PHP を参照してください。 2013 年 1 月 23 日
新しいエンドポイント DynamoDB が AWS GovCloud (米国) リージョンに拡張されます。現在のサービスエンドポイントとプロトコルのリストについては、リージョンとエンドポイントに関する章を参照してください。 2012 年 12 月 3 日
新しいエンドポイント DynamoDB が 南米 (サンパウロ) リージョンに拡張されます。現在サポートされているエンドポイントのリストについては、リージョンとエンドポイントに関する章を参照してください。 2012 年 12 月 3 日
新しいエンドポイント DynamoDB が アジアパシフィック (シドニー) リージョンに拡張されます。現在サポートされているエンドポイントのリストについては、リージョンとエンドポイントに関する章を参照してください。 2012 年 11 月 13 日

DynamoDB では CRC32 チェックサムのサポートが実装され、強力な整合性のあるバッチ取得がサポートされ、テーブルの同時更新に対する制限が廃止されています。

  • DynamoDB は HTTP ペイロードの CRC32 チェックサムを計算し、このチェックサムを新しいヘッダー x-amz-crc32 で返します。詳細については、「DynamoDB 低レベル API」を参照してください。

  • デフォルトでは、BatchGetItem API が実行する読み込みオペレーションは、結果整合性がとられます。BatchGetItem の新しい ConsistentRead パラメータを使用すれば、リクエスト内の任意のテーブルに対して、強力な読み込み整合性を選択できます。詳細については、「説明」を参照してください。

  • このリリースでは、多数のテーブルを同時に更新する場合の制限がいくつか廃止されています。一度に更新できるテーブルの合計数は 10 のままですが、これらのテーブルのステータスについては、CREATINGUPDATING、または DELETING を任意に組み合わせることが可能になりました。さらに、1 つのテーブルの ReadCapacityUnits または WriteCapacityUnits を増減できる最小値の制限もなくなりました。詳細については、「DynamoDB での制限」を参照してください。

2012 年 11 月 2 日

ベストプラクティスに関するドキュメント

Amazon DynamoDB 開発者ガイド では、テーブルや項目の使用に関するベストプラクティスを紹介し、クエリおよびスキャンオペレーションに関する推奨事項も示しています。

2012 年 9 月 28 日

バイナリデータ型のサポート

Number および String 型に加えて、DynamoDB では Binary データ型がサポートされるようになりました。

これより前のリリースでは、バイナリデータを格納するには、バイナリデータを文字列形式に変換して DynamoDB に格納していました。クライアント側で変換作業が必要なだけでなく、変換によってデータ項目のサイズが大きくなり、より多くのストレージが必要になり、スループットキャパシティーを追加でプロビジョニングしなければならない場合もありました。

バイナリタイプの属性を使用することで、圧縮データ、暗号化データ、イメージなど、任意のバイナリデータを格納できるようになりました。詳細については、「データ型」を参照してください。AWS SDK を使用してバイナリタイプのデータを処理する実例については、以下のセクションを参照してください。

AWS SDK でサポートされるバイナリデータのタイプを追加するには、最新の SDK をダウンロードする必要があります。既存のアプリケーションの更新が必要になる場合もあります。AWS SDK のダウンロードの詳細については、「.NET コードサンプル」を参照してください。

2012 年 8 月 21 日

DynamoDB テーブル項目は DynamoDB コンソールを使用して更新およびコピーが可能

DynamoDB のユーザーは DynamoDB コンソールを使用して、テーブル項目の追加と削除に加えて、更新とコピーができるようになりました。この新機能によって、コンソールを使用した個々の項目の変更が容易になりました。

2012 年 8 月 14 日

DynamoDB ではテーブルスループットの最小要件が低減

DynamoDB では、従来より低いテーブルスループット最小要件、つまり 1 書き込みキャパシティーユニットと 1 読み込みキャパシティーユニットをサポートするようになりました。詳細については、Amazon DynamoDB 開発者ガイド の DynamoDB での制限 トピックを参照してください。

2012 年 8 月 9 日

Signature Version 4 のサポート

DynamoDB では、リクエストの認証用に Signature Version 4 がサポートされるようになりました。

2012 年 7 月 5 日

DynamoDB コンソールでテーブルエクスプローラーをサポート

DynamoDB コンソールで、テーブル内のデータの参照とクエリが可能な、テーブルエクスプローラーがサポートされるようになりました。新しい項目の挿入や既存の項目の削除も可能です。テーブルの作成とサンプルデータのロード および コンソールを使用する セクションは、これらの機能を反映して更新されています。

2012 年 5 月 22 日

新しいエンドポイント

DynamoDB のアベイラビリティーが、米国西部 (北カリフォルニア) リージョン、米国西部 (オレゴン) リージョン、アジアパシフィック (シンガポール) リージョンの新しいエンドポイントで拡張されます。

現在サポートされているエンドポイントのリストについては、リージョンとエンドポイントに関する章を参照してください。

2012 年 4 月 24 日

BatchWriteItem API のサポート

DynamoDB でバッチ書き込み API がサポートされ、1 回の API 呼び出しによって、1 つ以上のテーブルで複数の項目の入力と削除が可能になりました。DynamoDB のバッチ書き込み API の詳細については、「BatchWriteItem」を参照してください。

AWS SDK による項目の操作とバッチ書き込み機能の詳細については、「DynamoDB での項目の操作」および「.NET コードサンプル」を参照してください。

2012 年 4 月 19 日

エラーコードの追加

詳細については、「エラー処理」を参照してください。

2012 年 4 月 5 日

新しいエンドポイント

DynamoDB が アジアパシフィック (東京) リージョンに拡張されます。現在サポートされているエンドポイントのリストについては、リージョンとエンドポイントに関する章を参照してください。

2012 年 2 月 29 日

ReturnedItemCount メトリクスの追加

新たにメトリクス ReturnedItemCount を追加し、DynamoDB に対するクエリまたはスキャンオペレーションの結果として返された項目数を CloudWatch でモニタリングできるようになりました。詳細については、「DynamoDB のモニタリング」を参照してください。

2012 年 2 月 24 日

値を増加させる例を追加

DynamoDB では、既存の数値の増減がサポートされています。以下のドキュメントの「項目の更新」セクションでは、既存の値を増加させる例を示しています。

項目の操作 : Java

項目の操作 : .NET

2012 年 1 月 25 日

初回製品リリース

DynamoDB はベータリリースの新しいサービスとして導入されました。

2012 年 1 月 18 日