Boto3 > DynamoDB 各クラスのドキュメントについて、メソッドの概要部だけDeeplに突っ込んで翻訳しました。
Clientクラス(この記事)
Pagenatorクラス
Waitersクラス
Service Resourceクラス
Tableクラス
各メソッドの説明文のみ翻訳しています。引数とレスポンスもリファレンスにはまとまっていますが、その部分は翻訳してません。あくまでざっと全体を見て何ができるか、必要なメソッドはどれかを拾うために使ってください。
Client
class DynamoDB.Client
Amazon DynamoDBを表現する低レベルクライアント
Amazon DynamoDBは、高速で予測可能なパフォーマンスとシームレスなスケーラビリティを提供するフルマネージドNoSQLデータベースサービスです。DynamoDBは、分散データベースの運用とスケーリングにかかる管理負荷を軽減し、ハードウェアのプロビジョニング、設定と構成、レプリケーション、ソフトウェアのパッチ適用、クラスタのスケーリングに悩まされることはありません。
DynamoDBを使用すると、任意の量のデータを格納および取得し、任意のレベルのリクエストトラフィックに対応するデータベーステーブルを作成できます。テーブルのスループット容量は、ダウンタイムやパフォーマンスの低下なしにスケールアップまたはスケールダウンでき、Amazon Web Services Management Consoleを使用してリソースの使用率とパフォーマンス指標を監視することができます。
DynamoDBは、一貫した高速なパフォーマンスを維持しながら、スループットとストレージの要件を処理するのに十分な数のサーバーに、テーブルのデータとトラフィックを自動的に分散させます。すべてのデータはSSDに保存され、Amazon Web Servicesリージョン内の複数のAvailability Zoneに自動的に複製されるため、ビルトインの高可用性とデータの耐久性が実現されます。
import boto3
client = boto3.client('dynamodb')
以下が利用可能なmethodsです。
- batch_execute_statement()
- batch_get_item()
- batch_write_item()
- can_paginate()
- close()
- create_backup()
- create_global_table()
- create_table()
- delete_backup()
- delete_item()
- delete_table()
- describe_backup()
- describe_continuous_backups()
- describe_contributor_insights()
- describe_endpoints()
- describe_export()
- describe_global_table()
- describe_global_table_settings()
- describe_kinesis_streaming_destination()
- describe_limits()
- describe_table()
- describe_table_replica_auto_scaling()
- describe_time_to_live()
- disable_kinesis_streaming_destination()
- enable_kinesis_streaming_destination()
- execute_statement()
- execute_transaction()
- export_table_to_point_in_time()
- get_item()
- get_paginator()
- get_waiter()
- list_backups()
- list_contributor_insights()
- list_exports()
- list_global_tables()
- list_tables()
- list_tags_of_resource()
- put_item()
- query()
- restore_table_from_backup()
- restore_table_to_point_in_time()
- scan()
- tag_resource()
- transact_get_items()
- transact_write_items()
- untag_resource()
- update_continuous_backups()
- update_contributor_insights()
- update_global_table()
- update_global_table_settings()
- update_item()
- update_table()
- update_table_replica_auto_scaling()
- update_time_to_live()
batch_execute_statement(**kwargs)
DynamoDBに保存されているデータに対して、PartiQLを用いて一括で読み込み、または書き込みを行うことができる操作です。BatchExecuteStatementの各Read文は、すべてのkey属性に対して等号条件を指定する必要があります。これにより、バッチ内の各SELECT文は、最大でも1つの項目を返すことが強制されます。
Note
バッチ全体は、read文またはwrite文のどちらかで構成されている必要があり、1つのバッチに両方を混ぜることはできません。
Warning
HTTP 200レスポンスは、BatchExecuteStatement内のすべてのステートメントが成功したことを意味するものではありません。個々のステートメントのエラーの詳細は、各ステートメントのBatchStatementResponseのErrorフィールドに記載されています。
See also: AWS API Documentation
batch_get_item(**kwargs)
BatchGetItem操作は、1つ以上のテーブルから1つ以上の項目の属性を返します。要求された項目は主キーで識別される。
1回の操作で最大16MBのデータを取得することができ、その中には100個もの項目が含まれることがある。BatchGetItem は、応答サイズの制限を超えた場合、テーブルのプロビジョニングされたスループットを超えた場合、または内部処理の失敗が発生した場合に、部分的な結果を返します。部分的な結果が返された場合、この操作は UnprocessedKeys の値を返します。この値を使用して、取得する次の項目から操作を再試行することができます。
Warning
100以上のアイテムを要求した場合、BatchGetItemは "Too many items requested for the BatchGetItem call "というメッセージとともにValidationExceptionを返します。
例えば、100件の検索を要求した場合、各項目のサイズが300KBであれば、システムは52件を返します(16MBの制限を超えないように)。また、適切なUnprocessedKeysの値も返されるので、次のページの結果を取得することができます。必要であれば、アプリケーションに独自のロジックを組み込んで、結果のページを1つのデータセットにまとめることができます。
リクエストに含まれるすべてのテーブルでプロビジョニングされたスループットが不十分なため、どの項目も処理できない場合は、BatchGetItem は ProvisionedThroughputExceededException を返します。少なくとも 1 つの項目の処理が成功した場合、BatchGetItem は正常に終了し、未読項目のキーは UnprocessedKeys に返されます。
Warning
DynamoDBが未処理のアイテムを返した場合、それらのアイテムに対してバッチ処理を再試行する必要があります。ただし、指数関数的バックオフアルゴリズムを使用することを強く推奨します。バッチ処理をすぐに再試行すると、個々のテーブルのスロットルにより、読み取りまたは書き込みの基礎となる要求が失敗する可能性があります。指数関数的バックオフを使用してバッチ操作を遅らせると、バッチ内の個々の要求が成功する可能性が非常に高くなります。
詳細については、Amazon DynamoDB開発者ガイドの Batch Operations and Error Handling を参照してください。
デフォルトでは、BatchGetItem は、リクエスト内のすべてのテーブルに対して最終的に一貫性のある読み取りを行います。代わりに一貫性のある読み込みを行いたい場合は、 任意のテーブルあるいはすべてのテーブルで ConsistentRead を true に設定します。
レスポンスの待ち時間を最小限にするために、BatchGetItem は項目を並列に取得します。
アプリケーションを設計する際には、DynamoDBは特定の順序でアイテムを返さないことを念頭に置いてください。項目ごとの応答を解析するために、ProjectionExpressionパラメータにリクエストの項目の主キー値を含めます。
リクエストされたアイテムが存在しない場合、それは結果で返されません。存在しない項目に対する要求では、読み取りの種類に応じて最小限の読み取り容量単位が消費されます。詳細については、Amazon DynamoDB開発者ガイドのWorking with Tables を参照してください。
See also: AWS API Documentation
batch_write_item(**kwargs)
BatchWriteItem操作は、1つまたは複数のテーブルに複数の項目を置いたり、削除したりする。BatchWriteItemを1回呼び出すと、最大25個のアイテムのputまたはdelete操作からなる、最大16MBのデータをネットワーク経由で転送することができる。個々のアイテムは最大400KBまで保存できますが、API呼び出しのためにDynamoDBのJSON形式で送信されている間は、アイテムの表現が400KBより大きくなる可能性があることに注意することが重要です。この区別の詳細については、Naming Rules and Data Typesを参照してください。
Note
BatchWriteItemでは、アイテムを更新することはできません。アイテムを更新するには、UpdateItem アクションを使用します。
BatchWriteItem で指定された個々の PutItem および DeleteItem 操作はアトミックですが、BatchWriteItem 全体としてはアトミックではありません。テーブルのプロビジョニングされたスループットを超えるか、内部処理の失敗が発生したため、要求された操作が失敗した場合、失敗した操作はUnprocessedItems応答パラメータで返される。要求を調査し、オプションで再送信することができます。通常、BatchWriteItemをループで呼び出す。各反復は未処理の項目をチェックし、すべての項目が処理されるまで、それらの未処理項目で新しい BatchWriteItem リクエストを送信します。
リクエスト内のすべてのテーブルでプロビジョニングされたスループットが不十分なため、どのアイテムも処理できない場合、BatchWriteItem は ProvisionedThroughputExceededException を返します。
Warning
DynamoDBが未処理のアイテムを返した場合、それらのアイテムに対してバッチ処理を再試行する必要があります。ただし、指数関数的バックオフアルゴリズムを使用することを強く推奨します。バッチ処理をすぐに再試行すると、個々のテーブルのスロットルにより、読み取りまたは書き込み要求が失敗する可能性があります。指数関数的バックオフを使用してバッチ操作を遅らせると、バッチ内の個々の要求が成功する可能性が非常に高くなります。
詳細については、Amazon DynamoDB開発者ガイドのBatch Operations and Error Handlingを参照してください。
DynamoDBが未処理のアイテムを返した場合、それらのアイテムに対してバッチ処理を再試行する必要があります。ただし、指数関数的バックオフアルゴリズムを使用することを強く推奨します。バッチ処理をすぐに再試行すると、個々のテーブルのスロットルにより、読み取りまたは書き込み要求が失敗する可能性があります。指数関数的バックオフを使用してバッチ操作を遅らせると、バッチ内の個々の要求が成功する可能性が非常に高くなります。
詳細は、Amazon DynamoDB開発者ガイドの Batch Operations and Error Handlingを参照してください。
BatchWriteItemを使うと、Amazon EMRなどの大量のデータの書き込みや削除、他のデータベースからDynamoDBへのデータコピーなどを効率的に行うことができます。これらの大規模な操作のパフォーマンスを向上させるために、BatchWriteItemは個々のPutItemやDeleteItemの呼び出しと同じように動作しません。例えば、個々のputやdeleteのリクエストに条件を指定することはできませんし、BatchWriteItemはレスポンスで削除されたアイテムを返しません。
並行処理をサポートするプログラミング言語を使用している場合、スレッドを使用して並行して項目を書き込むことができます。アプリケーションには、スレッドを管理するために必要なロジックを含める必要があります。スレッドをサポートしない言語では、指定した項目を一度に一つずつ更新または削除する必要があります。どちらの場合でも、BatchWriteItem は指定された put および delete 操作を並列に実行するので、アプリケーションに複雑な処理を導入することなく、スレッドプールアプローチのパワーを得ることができます。
並列処理により待ち時間が短縮されますが、指定された put と delete の各要求は、並列処理するかどうかにかかわらず、同じ数の書き込み容量ユニットを消費します。存在しないアイテムに対する削除操作では、1つの書き込み容量ユニットが消費されます。
以下のいずれかに該当する場合、DynamoDBはバッチ書き込み操作全体を拒否します。
・BatchWriteItem リクエストで指定された 1 つ以上のテーブルが存在しない。
・リクエスト内のアイテムに指定された主キー属性が、対応するテーブルの主キースキーマの属性と一致しない。
・同じ BatchWriteItem リクエストで同じアイテムに対して複数の操作を実行しようとした。たとえば、同じ BatchWriteItem 要求で同じアイテムを配置および削除することはできません。
・あなたのリクエストには、同一のハッシュキーと範囲キーを持つアイテムが少なくとも2つ含まれています(これは本質的に2つのput操作です)。
・バッチ内の要求が25個以上ある。
・バッチ内の個々のアイテムが 400 KB を超えている。
・リクエストの合計サイズが 16 MB を超えている。
See also: AWS API Documentation
can_paginate(operation_name)
ある操作をページ分割できるかどうかを調べます。
close()
基礎となるエンドポイントコネクションを閉じます。
create_backup(**kwargs)
既存のテーブルのバックアップを作成する。
オンデマンドバックアップを作成するたびに、テーブルデータ全体がバックアップされる。オンデマンドバックアップの回数は無制限です。
オンデマンドバックアップを作成すると、リクエストのタイムマーカーがカタログ化され、リクエストの時点までのすべての変更を最後のフルテーブルスナップショットに適用して、バックアップが非同期的に作成されます。バックアップのリクエストは瞬時に処理され、数分以内に復元が可能になります。
CreateBackupは最大50回/秒の速度で呼び出すことができます。
DynamoDBのすべてのバックアップは、テーブルのプロビジョニングされたスループットを消費することなく動作します。
2018-12-14 14:25:00にバックアップ要求を送信した場合、バックアップには14:24:00までにテーブルにコミットされたすべてのデータが含まれることが保証され、14:26:00以降にコミットされたデータは含まれないことになります。バックアップには、14:24:00 から 14:26:00 の間に行われたデータの変更が含まれる場合があります。オンデマンドバックアップでは、因果関係整合性はサポートされません。
データとともに、以下もバックアップに含まれます。
・グローバルセカンダリーインデックス(GSI)
・ローカルセカンダリーインデックス(LSI)
・Streams
・プロビジョニングされたリードおよび書き込み容量
See also: AWS API Documentation
create_global_table(**kwargs)
既存のテーブルからグローバルテーブルを作成します。グローバルテーブルは、指定されたリージョンにある同じテーブル名の2つ以上のDynamoDBテーブルの間にレプリケーション関係を作成します。
Note
この操作は、グローバルテーブルのバージョン2017.11.29にのみ適用されます。
グローバルテーブルに新しいレプリカテーブルを追加する場合、以下の各条件が真である必要があります。
・テーブルの主キーは、他のすべてのレプリカと同じでなければなりません。
・他のすべてのレプリカと同じ名前のテーブルであること。
・テーブルがDynamoDB Streamsを有効にしており、ストリームにアイテムの新しいイメージと古いイメージの両方が含まれていなければならない。
・グローバルテーブルのレプリカテーブルは、どれもデータを含むことはできません。
グローバルセカンダリーインデックスを指定する場合、以下の条件も満たす必要があります。
・グローバルセカンダリインデックスは、同じ名前でなければなりません。
・グローバルセカンダリインデックスは、同じハッシュキーとソートキー(存在する場合)を持っていなければなりません。
ローカルセカンダリインデックスが指定された場合、以下の条件も満たさなければなりません。
・ローカルのセカンダリインデックスは、同じ名前でなければなりません。
・ローカルのセカンダリインデックスは、同じハッシュキーとソートキーを持たなければなりません (存在する場合)。
Warning
書き込み容量の設定は、レプリカテーブルとセカンダリインデックスで一貫して設定する必要があります。DynamoDBは、すべてのグローバルテーブルのレプリカとインデックスの書き込み容量を管理するために、オートスケーリングを有効にすることを強く推奨します。
書き込み容量の設定を手動で管理する場合は、レプリカテーブルに同じレプリケート書き込み容量単位をプロビジョニングする必要があります。また、グローバル・テーブル全体で一致するセカンダリ・インデックスにも、同じレプリケート書き込み容量ユニットをプロビジョニングする必要があります。
See also: AWS API Documentation
create_table(**kwargs)
CreateTable操作は、アカウントに新しいテーブルを追加します。Amazon Web Services のアカウントでは、テーブル名は各リージョンで一意でなければなりません。つまり、異なるリージョンでテーブルを作成しても、同じ名前のテーブルを2つ持つことができます。
CreateTableは非同期処理です。CreateTableのリクエストを受けると、DynamoDBは直ちにTableStatusがCREATINGであるレスポンスを返します。テーブルが作成されると、DynamoDBはTableStatusをACTIVEに設定します。ACTIVEテーブルに対してのみ、読み取りと書き込みの操作を行うことができます。
CreateTable操作の一部として、オプションで新しいテーブルにセカンダリインデックスを定義することができます。セカンダリインデックスを持つ複数のテーブルを作成する場合、テーブルを順番に作成する必要があります。セカンダリインデックスを持つテーブルは、常に 1 つだけ CREATING 状態にすることができます。
DescribeTable 操作を使用すると、テーブルの状態を確認することができます。
See also: AWS API Documentation
delete_backup(**kwargs)
テーブルの既存のバックアップを削除します。
DeleteBackupは、最大で1秒間に10回まで呼び出すことができます。
See also: AWS API Documentation
delete_item(**kwargs)
テーブル内の項目を主キーで一つ削除する。項目が存在する場合、あるいは期待される属性値を持つ場合に、その項目を削除する条件付き削除操作を行うことができる。
項目を削除するだけでなく、ReturnValues パラメータを使って項目の属性値も同じ操作で返すことができます。
条件を指定しない限り、DeleteItemはべき乗の操作です。同じアイテムや属性に対して複数回実行しても、エラー応答は発生しません。
条件付き削除は、特定の条件を満たした場合のみアイテムを削除するのに便利です。条件を満たした場合、DynamoDBは削除を実行します。それ以外の場合は、アイテムは削除されません。
See also: AWS API Documentation
delete_table(**kwargs)
DeleteTableオペレーションは、テーブルとそのすべてのアイテムを削除します。DeleteTableリクエスト後、DynamoDBが削除を完了するまで、指定されたテーブルはDELETINGの状態にあります。テーブルがACTIVE状態であれば、削除することができます。テーブルがCREATINGまたはUPDATINGの状態である場合、DynamoDBはResourceInUseExceptionを返します。指定されたテーブルが存在しない場合、DynamoDBはResourceNotFoundExceptionを返します。テーブルがすでにDELETINGの状態である場合は、エラーは返されません。
Note
DynamoDBは、テーブルの削除が完了するまで、DELETING状態のテーブルに対するGetItemおよびPutItemなどのデータの読み取りおよび書き込み操作を受け付け続けることがあります。
テーブルを削除すると、そのテーブル上のインデックスもすべて削除されます。
テーブル上でDynamoDB Streamsを有効にしている場合、そのテーブル上の対応するストリームはDISABLEDの状態になり、24時間後にストリームは自動的に削除されます。
テーブルの状態を確認するには、DescribeTableアクションを使用します。
See also: AWS API Documentation
describe_backup(**kwargs)
あるテーブルの既存のバックアップを説明します。
DescribeBackup は最大で 1 秒間に 10 回まで呼び出すことができます。
See also: AWS API Documentation
describe_continuous_backups(**kwargs)
指定されたテーブルの継続的バックアップとポイントインタイムリカバリーの状態を確認します。連続バックアップは、テーブル作成時にすべてのテーブルで有効になっています。ポイントインタイムリカバリーが有効な場合、PointInTimeRecoveryStatus は ENABLED に設定されます。
連続バックアップとポイントインタイムリカバリーが有効になると、EarliestRestorableDateTime および LatestRestorableDateTime 内の任意の時点に復元することができます。
LatestRestorableDateTimeは、通常、現在の時刻の5分前です。テーブルを過去 35 日間の任意の時点にリストアすることができます。
DescribeContinuousBackups は、最大で 1 秒間に 10 回まで呼び出すことができます。
See also: AWS API Documentation
describe_contributor_insights(**kwargs)
指定されたテーブルまたはグローバルセカンダリインデックスについて、 貢献者の洞察に関する情報を返します。
See also: AWS API Documentation
describe_endpoints()
リージョンのエンドポイント情報を返します。
See also: AWS API Documentation
describe_export(**kwargs)
既存のテーブルexportを説明します。
See also: AWS API Documentation
describe_global_table(**kwargs)
指定されたグローバルテーブルに関する情報を返します。
Note
この操作は、グローバルテーブルのVersion 2017.11.29にのみ適用されます。グローバルテーブルVersion 2019.11.21を使用している場合、代わりにDescribeTableを使用することができます。
See also: AWS API Documentation
describe_global_table_settings(**kwargs)
グローバルテーブルのリージョン固有の設定を記述します。
See also: AWS API Documentation
describe_kinesis_streaming_destination(**kwargs)
Kinesisストリーミングの状態に関する情報を返します。
See also: AWS API Documentation
describe_limits()
あるリージョンにおけるAmazon Web Servicesアカウントの現在のプロビジョニング済み容量クォータを、リージョン全体とそこに作成するDynamoDBテーブルの両方について返します。
Amazon Web Servicesアカウントを作成した場合、そのアカウントには、特定のRegion内のすべてのDynamoDBテーブルに対してプロビジョニングできる最大読み込み容量単位と最大書き込み容量単位の初期クォータが設定されています。また、テーブルを作成する際に適用されるテーブルごとのクォータもあります。詳細は、Amazon DynamoDB開発者ガイドのService, Account, and Table Quotasのページを参照してください。
これらのクォータは、Amazon Web Services Support Centerで申請することで増やすことができますが、すぐに増やせるわけではありません。DescribeLimitsアクションを使用すると、現在使用している容量とアカウントで指定されたクォータを比較し、クォータに達する前に増量を申請するのに十分な時間を確保するコードを記述することができます。
例えば、Amazon Web Services SDKの1つを使用して、次のようにすることができます。
・特定の Region で DescribeLimits を呼び、そこでプロビジョニングされた容量に対する現在のアカウントクォータを取得します。
その Region にあるすべてのテーブルに対してプロビジョニングされた読み込み容量の総計を保持する変数と、書き込み容量の総計を保持する変数を作成します。両方ともゼロにします。
・ListTablesを呼び出して、DynamoDBの全テーブルのリストを取得します。
ListTablesでリストアップされた各テーブル名について、以下を実行します。
・テーブル名を指定してDescribeTableを呼び出す。
・DescribeTable から返されたデータを使用して、テーブル自体にプロビジョニングされた 読み込み容量ユニットと書き込み容量ユニットを変数に追加します。
テーブルが 1 つ以上のグローバルセカンダリインデックス (GSI) を持つ場合、これらの GSI をループし、それらのプロビジョンされた容量値も変数に追加します。
・DescribeLimits によって返されたその地域のアカウントクォータを、計算した現在のプロビジョンされた容量 レベルの合計とともに報告する。
これにより、アカウントレベルのクォータに近づいているかどうかを確認することができます。
テーブルごとのクォータは、新しいテーブルを作成するときにのみ適用されます。新しいテーブルとそのグローバルセカンダリインデックスのプロビジョニング容量の合計が制限されます。
既存のテーブルとそのGSIについては、DynamoDBはプロビジョニング容量を極端に増やすことはできませんが、適用される唯一のクォータは、すべてのテーブルとGSIのプロビジョニング容量の合計が、アカウントごとのクォータのいずれかを超えることができないということです。
Note
DescribeLimits は定期的に呼び出す必要があります。1 分間に何度も呼び出すと、スロットリングエラーが発生する可能性があります。
DescribeLimitsリクエスト要素にコンテンツはありません。
See also: AWS API Documentation
describe_table(**kwargs)
テーブルの現在の状態、作成日、主キースキーマ、テーブル上のインデックスなどの情報を返します。
Note
CreateTableリクエストの直後にDescribeTableリクエストを発行した場合、DynamoDBはResourceNotFoundExceptionを返すことがあります。これは、DescribeTableが最終的に一貫性のあるクエリーを使用するため、その時点ではテーブルのメタデータが利用できない可能性があるためです。数秒待ってから、再度DescribeTableリクエストを実行してください。
See also: AWS API Documentation
describe_table_replica_auto_scaling(**kwargs)
グローバルテーブルのレプリカ全体のオートスケーリング設定を一度に記述します。
Note
この操作は、グローバルテーブルのバージョン 2019.11.21 にのみ適用されます。
See also: AWS API Documentation
describe_time_to_live(**kwargs)
指定されたテーブルの TTL (Time To Live) 状態の説明を与えます。
disable_kinesis_streaming_destination(**kwargs)
DynamoDBテーブルからKinesisデータストリームへのレプリケーションを停止します。これはどちらかのリソースを削除することなく行われます。
See also: AWS API Documentation
enable_kinesis_streaming_destination(**kwargs)
enableワークフローで選択したタイムスタンプで、指定したKinesisデータストリームへのテーブルデータレプリケーションを開始します。この操作がすぐに結果を返さない場合は、DescribeKinesisStreamingDestinationを使用して、KinesisデータストリームへのストリーミングがACTIVEであるかどうかを確認します。
See also: AWS API Documentation
execute_statement(**kwargs)
DynamoDBに格納されたデータに対して、PartiQLを用いてリードとシングルトンライトを実行するオペレーションです。
PartiQLによる読み込み(SELECT文)では、処理した項目の合計がデータセットの最大サイズ制限である1MBを超えると読み込みを停止し、結果をLastEvaluatedKey値としてユーザーに返し、次の操作で読み込みを継続することができます。WHERE句のフィルター基準がどのデータにもマッチしない場合、読み込みは空の結果セットを返す。
1つのSELECT文のレスポンスは、最大アイテム数(Limitパラメータを使用した場合)または最大1MBのデータを返すことができます(その後、WHERE句を使用して結果に任意のフィルタを適用します)。LastEvaluatedKey がレスポンスに存在する場合、結果セットをページ分割する必要があります。
See also: AWS API Documentation
execute_transaction(**kwargs)
DynamoDBに保存されているデータに対して、PartiQLを使用してトランザクションの読み書きを実行するオペレーションです。
Note
トランザクション全体は read 文か write 文のどちらかで構成されなければならず、1つのトランザクションに両方を混在させることはできない。EXISTS関数は例外で、TransactWriteItems APIのConditionCheckと同様に、アイテムの特定の属性の条件をチェックするために使用することができます。
See also: AWS API Documentation
export_table_to_point_in_time(**kwargs)
テーブルのデータをS3バケットにエクスポートします。テーブルはポイントインタイムリカバリーが有効である必要があり、ポイントインタイムリカバリーウィンドウ内の任意の時間からデータをエクスポートすることができます。
See also: AWS API Documentation
get_item(**kwargs)
GetItem 操作は、与えられた主キーを持つアイテムの属性セットを返す。一致する項目がない場合、GetItem はデータを返さず、応答には Item 要素は存在しない。
GetItem は、デフォルトで最終的に一貫性のある読み取りを行います。アプリケーションで強い一貫性のある読み取りを必要とする場合は、ConsistentRead を true に設定します。強い一貫性のある読み込みは、最終的な一貫性のある読み込みよりも時間がかかるかもしれませんが、常に最後に更新された値を返します。
See also: AWS API Documentation
get_pagenator()
操作のためのページネーターを作成します。
get_waiter()
ある条件下で待機可能なオブジェクトを返します。
list_backups()
Amazon Web Services アカウントに関連するバックアップを一覧表示します。指定したテーブルのバックアップを一覧表示するには、TableName を指定します。ListBackups は、1 ページに最大 1 MB 相当のアイテムを含む、ページ分割された結果リストを返します。また、1 ページに返される項目の最大数を指定することもできます。
リクエストでは、開始時刻は包括的ですが、終了時刻は排他的です。これらの境界は、元のバックアップが要求された時間であることに注意してください。
ListBackupsは、1秒間に最大5回まで呼び出すことができます。
See also: AWS API Documentation
list_contributor_insights(**kwargs)
テーブルとそのすべてのグローバルセカンダリインデックスに関する ContributorInsightsSummary の一覧を返します。
See also: AWS API Documentation
list_exports(**kwargs)
過去 90 日以内に完了したexportsをリストアップする。
See also: AWS API Documentation
list_global_tables(**kwargs)
指定された地域にレプリカを持つ全てのグローバルテーブルをリストアップします。
Note
この操作は、グローバルテーブルのバージョン2017.11.29にのみ適用されます。
See also: AWS API Documentation
list_tables(**kwargs)
現在のアカウントとエンドポイントに関連するテーブル名の配列を返します。ListTables の出力はページ分割され、各ページは最大 100 個のテーブル名を返します。
See also: AWS API Documentation
list_tags_of_resource(**kwargs)
Amazon DynamoDBリソースの全てのタグをリストアップします。ListTagsOfResourceは、1アカウントあたり1秒間に10回まで呼び出すことができます。
DynamoDBリソースへのタグ付けの概要については、Amazon DynamoDB開発者ガイドのTagging for DynamoDBを参照してください。
See also: AWS API Documentation
put_item(**kwargs)
新しい項目を作成するか、古い項目を新しい項目で置き換えます。新しい項目と同じ主キーを持つ項目が指定されたテーブルに既に存在する場合、新しい項目は既存の項目を完全に置き換える。条件付き put 操作 (指定した主キーを持つ項目が存在しない場合に新しい項目を追加する) や、 既存の項目が特定の属性値を持つ場合にその項目を置き換えることができます。ReturnValuesパラメータを使えば、同じ操作でアイテムの属性値を返すことができます。
項目を追加する場合、必須となる属性は主キー属性のみです。属性値にはNULLは使えません。
空のStringおよびBinary属性値は使用可能です。テーブルまたはインデックスのキー属性として使用する場合、StringおよびBinary型の属性値は0より大きい長さを持つ必要があります。セットタイプの属性は空にすることはできません。
空の値を持つ無効なリクエストは、ValidationException例外で拒否されます。
Note
新しい項目が既存の項目を置き換えるのを防ぐには、attribute_not_exists関数とテーブルのパーティションキーとして使用されている属性の名前を含む条件式を使用します。すべてのレコードはその属性を含んでいなければならないので、attribute_not_exists関数は一致する項目が存在しない場合にのみ成功します。
PutItemの詳細については、Amazon DynamoDB開発者ガイドのWorking with Itemsを参照してください。
See also: AWS API Documentation
query (**kwargs)
パーティションキー属性の名前と、その属性の値を1つだけ指定する必要があります。クエリは、そのパーティション・キー値を持つすべてのアイテムを返します。オプションで、ソートキー属性を指定し、比較演算子を使用して検索結果を絞り込むことができます。
KeyConditionExpression パラメータを使用して、パーティション・キーに特定の値を指定すると、クエリ操作は、そのパーティション・キー値を持つテーブルまたはインデックスからすべての項目を返します。オプションで、KeyConditionExpression にソート・キー値および比較演算子を指定して、クエリ操作の範囲を狭めることができます。FilterExpression は、結果内のどの項目が返されるかを決定します。それ以外の結果はすべて破棄されます。
Query 操作は常に結果セットを返します。一致する項目がない場合、結果セットは空になります。結果を返さないクエリは、そのタイプの読み取り操作のための最小限の読み取り容量ユニットを消費します。
restore_table_from_backup(**kwargs)
既存のバックアップから新しいテーブルを作成します。任意の数のユーザーが、指定されたアカウントで最大4つの同時リストア(あらゆるタイプのリストア)を実行することができます。
RestoreTableFromBackup は、最大で 1 秒間に 10 回まで呼び出すことができます。
リストアされたテーブルに対して、手動で以下の設定を行う必要があります。
・オートスケーリングポリシー
・IAMポリシー
・Amazon CloudWatchのメトリクスとアラーム
・タグ
・ストリームの設定
・Time to Live(TTL)設定
See also: AWS API Documentation
restore_table_to_point_in_time(**kwargs)
指定されたテーブルを、EarliestRestorableDateTime および LatestRestorableDateTime の範囲内の指定された時点にリストアします。過去 35 日間の任意の時点にテーブルをリストアすることができます。任意の数のユーザーが、指定されたアカウントで最大4つの同時リストア(あらゆるタイプのリストア)を実行できます。
ポイントインタイムリカバリーを使用してリストアすると、DynamoDBはテーブルのデータを選択した日時(日:時:分:秒)に基づいた状態に新しいテーブルへリストアします。
ポイントインタイムリカバリーを使用してリストアされた新しいテーブルには、データとともに、次のものも含まれます。
・グローバルセカンダリインデックス (GSI)
・ローカルセカンダリインデックス(LSI)
・プロビジョニングされた読み取りおよび書き込み容量
・暗号化設定
Warning
これらの設定はすべて、リストア時のソース・テーブルの現在の設定に由来しています。
復元されたテーブルには、以下を手動で設定する必要があります。
・オートスケーリングポリシー
・IAMポリシー
・Amazon CloudWatchのメトリクスとアラーム
・タグ
・ストリームの設定
・タイムトゥライブ(TTL)の設定
・ポイントインタイムリカバリーの設定
See also: AWS API Documentation
scan(**kwargs)
Scanオペレーションは、テーブルまたはセカンダリインデックス内のすべてのアイテムにアクセスして、1つまたは複数のアイテムおよびアイテムの属性を返します。DynamoDBが返すアイテムの数を減らすには、FilterExpressionオペレーションを指定します。
スキャンされたアイテムの合計数がデータセットの最大サイズ制限である1MBを超えた場合、スキャンは停止し、結果はLastEvaluatedKey値としてユーザーに返され、次の操作でスキャンを継続することができます。結果には、制限を超えたアイテムの数も含まれます。スキャンの結果、フィルタ条件を満たすテーブルデータがない場合もあります。
1 回のスキャン操作で、設定された最大項目数 (Limit パラメータを使用した場合) または最大 1 MB のデータを読み取り、その結果に対して FilterExpression を使用して任意のフィルタリングを適用します。応答に LastEvaluatedKey が存在する場合、結果セットをページ分割する必要があります。詳細は、Amazon DynamoDB Developer Guide の Paginating the Results を参照してください。
Scan操作はシーケンシャルに進みますが、大きなテーブルやセカンダリインデックスでより速いパフォーマンスを得るために、アプリケーションはSegmentとTotalSegmentsパラメータを指定して、パラレルScan操作を要求することができます。詳細については、Amazon DynamoDB開発者ガイドのParallel Scanを参照してください。
Scanは、テーブルのデータにアクセスする際に最終的に一貫した読み込みを使用するため、結果セットには操作の開始直前のテーブルのデータへの変更が含まれない場合があります。Scan開始時点の一貫したデータコピーが必要な場合は、ConsistentReadパラメータをtrueに設定します。
See also: AWS API Documentation
tag_resource(**kwargs)
Amazon DynamoDBリソースにタグのセットを関連付けます。そして、これらのユーザー定義タグを有効にして、コスト配分の追跡のためにBilling and Cost Managementコンソールに表示させることができます。TagResourceは、1アカウントあたり1秒間に5回まで呼び出すことができます。
DynamoDBリソースへのタグ付けの概要については、Amazon DynamoDB Developer Guideの Tagging for DynamoDBを参照してください。
See also: AWS API Documentation
transact_get_items(**kwargs)
TransactGetItems は同期操作で、1つのアカウントとリージョン内の1つ以上のテーブルから複数のアイテムをアトミックに取得する(ただし、インデックスからは取得できない)。TransactGetItems の呼び出しは最大25個の TransactGetItem オブジェクトを含むことができ、それぞれのオブジェクトは口座と地域のテーブルから取得する項目を指定する Get 構造を含む。TransactGetItemsの呼び出しは、複数のAmazon Web Servicesアカウントまたはリージョン内のテーブルからアイテムを取得することはできません。トランザクション内のアイテムの合計サイズは4MBを超えることはできません。
以下のいずれかに該当する場合、DynamoDBはTransactGetItemsのリクエスト全体を拒否します。
競合する操作が、読み取り対象のアイテムを更新している最中である。
トランザクションを完了させるためのプロビジョニング容量が不足している。
無効なデータ形式など、ユーザーエラーがある。
トランザクション内のアイテムの合計サイズが 4 MB を超えてはならない。
See also: AWS API Documentation
transact_write_items(**kwargs)
TransactWriteItemsは、最大25のアクション要求をグループ化する同期書き込み操作です。これらのアクションは、異なるテーブル内のアイテムをターゲットにすることができますが、異なるAmazon Web Servicesアカウントまたはリージョン内ではできませんし、2つのアクションが同じアイテムをターゲットにすることはできません。例えば、同じアイテムにConditionCheckとUpdateの両方を行うことはできません。トランザクション内のアイテムの合計サイズは、4MBを超えることはできません。
アクションはアトミックに完了し、すべて成功するか、すべて失敗するかのどちらかである。これらのアクションは以下のオブジェクトで定義される。
・Put - 新しい項目を書き込むために PutItem オペレーションを開始します。この構造体では、書き込む項目の主キー、書き込むテーブルの名前、書き込みが成功するために満たす必要のあるオプションの条件式、項目の属性のリスト、および条件が満たされない場合に項目の属性を取得するかどうかを示すフィールドを指定します。
・Update - 既存の項目を更新するために UpdateItem 操作を開始します。この構造体では、更新する項目の主キー、その項目が存在するテーブルの名前、更新が成功するために満たす必要のある条件式(オプション)、更新する 1 つまたは複数の属性を定義する式、および条件を満たさない場合に項目の属性を取得するかどうかを示すフィールドを指定します。
Delete - 既存の項目を削除するために DeleteItem 操作を開始します。この構造体では、削除する項目の主キー、その項目が存在するテーブルの名前、削除が成功するために満たさなければならないオプションの条件式、および条件が満たされない場合に項目の属性を取得するかどうかを示すフィールドを指定します。
ConditionCheck - トランザクションによって変更されていない項目に対して条件を適用します。この構造体は、チェックする項目の主キー、その項目が存在するテーブル名、トランザクションが成功するために満たさなければならない条件式、および条件を満たさない場合にその項目の属性を取得するかどうかを示すフィールドを指定します。
DynamoDBは、以下のいずれかに該当する場合、TransactWriteItemsリクエストを全て拒否します。
・いずれかの条件式の条件を満たさない。
・進行中のオペレーションが同じ項目の更新処理中である。
・トランザクションを完了するためのプロビジョニングされた容量が不足しています。
・トランザクションによる変更で、項目サイズが大きくなりすぎた(400 KB より大きい)、ローカルセカンダリインデックス(LSI)が大きくなりすぎた、または同様の検証エラーが発生した。
・トランザクション内のアイテムの合計サイズが4MBを超えた。
・無効なデータ形式などのユーザーエラーが発生しました。
See also: AWS API Documentation
untag_resource(**kwargs)
Amazon DynamoDBリソースからタグの関連付けを解除します。UntagResourceは1アカウントあたり、1秒間に5回まで呼び出すことができます。
DynamoDBリソースのタグ付けの概要については、Amazon DynamoDB Developer GuideのTagging for DynamoDBを参照してください。
See also: AWS API Documentation
update_continuous_backups(**kwargs)
UpdateContinuousBackups は、指定されたテーブルのポイントインタイムリカバリーを有効または無効にします。UpdateContinuousBackups の呼び出しに成功すると、現在の ContinuousBackupsDescription が返されます。連続バックアップは、テーブル作成時にすべてのテーブルで有効化されます。ポイントインタイムリカバリーが有効な場合、PointInTimeRecoveryStatus は ENABLED に設定されます。
連続バックアップとポイントインタイムリカバリーが有効になると、EarliestRestorableDateTime および LatestRestorableDateTime 内の任意の時点に復元することができます。
LatestRestorableDateTimeは、通常、現在の時刻の5分前です。過去 35 日間の任意の時点にテーブルをリストアすることができます。
See also: AWS API Documentation
update_contributor_insights(**kwargs)
特定のテーブルまたはインデックスのコントリビューターインサイトのステータスを更新します。CloudWatch Contributor Insights for DynamoDBグラフは、頻繁にアクセスされるアイテムおよび頻繁にスロットルされるアイテムのパーティションキーおよび(該当する場合)ソートキーを平文で表示します。このテーブルのパーティションキーとソートキーのデータをAmazon Web Servicesマネージドキーまたはカスタマーマネージドキーで暗号化するためにAmazon Web Servicesキーマネジメントサービス(KMS)の使用を必要とする場合、このテーブルのCloudWatch Contributor Insights for DynamoDBは有効にしないでください。
See also: AWS API Documentation
update_global_table(**kwargs)
指定されたグローバルテーブルのレプリカを追加または削除します。この操作を行うには、グローバルテーブルが既に存在している必要があります。追加するレプリカは空であること、グローバルテーブルと同じ名前であること、同じキースキーマであること、DynamoDB Streamsが有効であること、プロビジョニング単位と最大書き込み容量単位が同じであることが必要です。
Note
UpdateGlobalTableを使用して、1つのリクエストでレプリカの追加と削除を行うこともできますが、簡略化のために、レプリカの追加と削除は別々のリクエストを発行することをお勧めします。
グローバルセカンダリーインデックスを指定する場合、以下の条件も満たす必要があります。
・グローバルセカンダリインデックスは、同じ名前でなければなりません。
・グローバルセカンダリインデックスは、同じハッシュキーとソートキー(存在する場合)を持っている必要があります。
・グローバルセカンダリインデックスは、同じプロビジョニング単位と最大書き込み容量単位を持たなければなりません。
See also: AWS API Documentation
update_global_table_settings(**kwargs)
グローバルテーブルの設定を更新します。
See also: AWS API Documentation
update_item(**kwargs)
既存の項目の属性を編集し、まだ存在しない場合は新しい項目をテーブルに追加する。属性値の設定、削除、追加が可能です。また、既存の項目に対して条件付き更新を行うこともできます(存在しない場合は新しい属性の名前と値のペアを挿入し、特定の期待される属性値を持っている場合は既存の名前と値のペアを置き換えます)。
また、ReturnValues パラメータを使用して、同じ UpdateItem 操作でアイテムの属性値を返すこともできます。
See also: AWS API Documentation
update_table(**kwargs)
指定したテーブルのプロビジョニングスループット設定、グローバルセカンダリインデックス、DynamoDB Streamsの設定を変更します。
一度に実行できるのは、以下の操作のいずれか1つだけです。
・テーブルのプロビジョニングスループット設定を変更します。
・テーブルからグローバルセカンダリーインデックスを削除する。
・テーブル上に新しいグローバルセカンダリインデックスを作成します。インデックスのバックフィルを開始した後、UpdateTable を使用して他の操作を実行することができます。
UpdateTableは非同期処理であり、実行中にテーブルの状態がACTIVEからUPDATINGに変わります。UPDATING の間は、別の UpdateTable 要求を発行することはできません。テーブルが ACTIVE 状態に戻ると、UpdateTable 操作は完了します。
See also: AWS API Documentation
update_table_replica_auto_scaling(**kwargs)
グローバルテーブルのオートスケーリング設定を一度に更新します。
Note
この操作は、グローバルテーブルのバージョン 2019.11.21 にのみ適用されます。
See also: AWS API Documentation
update_time_to_live(**kwargs)
UpdateTimeToLive メソッドは、指定されたテーブルの Time To Live (TTL) を有効または無効にします。UpdateTimeToLiveの呼び出しに成功すると、現在のTimeToLiveSpecificationが返されます。変更が完全に処理されるまで、最大で 1 時間かかることがあります。この 1 時間の間に、同じテーブルに対して追加の UpdateTimeToLive 呼び出しを行うと、ValidationException が発生します。
TTLは、エポックタイム形式の現在時刻と、アイテムのTTL属性に格納されている時刻を比較します。この属性に格納されているエポックタイム値が現在時刻より小さい場合、そのアイテムは期限切れとしてマークされ、その後削除されます。
Note
エポックタイム形式は、1970年1月1日12時00分00秒(UTC)からの経過秒数です。
DynamoDBは、他のデータ操作のためのスループットを確保するために、期限切れのアイテムをベストエフォートで削除します。
Warning
DynamoDBは通常、有効期限切れのアイテムを2日以内に削除します。期限切れ後にアイテムが削除される正確な期間は、ワークロードの性質に依存します。有効期限が切れても削除されないアイテムは、読み取り、クエリ、およびスキャンで表示されます。
アイテムが削除されると、標準的な削除操作と同じ最終的に一貫した方法で、任意のローカルセカンダリインデックスとグローバルセカンダリインデックスから直ちに削除されます。
詳細については、Amazon DynamoDB開発者ガイドのTime To Live を参照してください。
See also: AWS API Documentation