Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した DynamoDB の例 AWS CLI
次のコード例は、DynamoDB AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には、完全なソースコードへのリンクが含まれています。ここでは、コンテキストでコードを設定および実行する方法の手順を確認できます。
トピック
アクション
次のコード例は、batch-get-item
を使用する方法を示しています。
- AWS CLI
-
テーブルから複数の項目を取得するには
次の
batch-get-items
の例では、3 つのGetItem
リクエストのバッチを使用してMusicCollection
テーブルから複数の項目を読み込み、この操作で使用された読み込み容量ユニットの数を取得します。このコマンドはAlbumTitle
属性のみを返します。aws dynamodb batch-get-item \ --request-items
file://request-items.json
\ --return-consumed-capacityTOTAL
request-items.json
の内容:{ "MusicCollection": { "Keys": [ { "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"} }, { "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }, { "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Scared of My Shadow"} } ], "ProjectionExpression":"AlbumTitle" } }
出力:
{ "Responses": { "MusicCollection": [ { "AlbumTitle": { "S": "Somewhat Famous" } }, { "AlbumTitle": { "S": "Blue Sky Blues" } }, { "AlbumTitle": { "S": "Louder Than Ever" } } ] }, "UnprocessedKeys": {}, "ConsumedCapacity": [ { "TableName": "MusicCollection", "CapacityUnits": 1.5 } ] }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「バッチオペレーション」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のBatchGetItem
」を参照してください。
-
次の例は、batch-write-item
を使用する方法を説明しています。
- AWS CLI
-
テーブルに複数の項目を追加するには
次の
batch-write-item
の例は、3 つのPutItem
リクエストのバッチを使用して、MusicCollection
テーブルに 3 つの新しい項目を追加します。また、このオペレーションによって消費される書き込み容量ユニットの数、およびオペレーションによって変更されるアイテムコレクションに関する情報も要求します。aws dynamodb batch-write-item \ --request-items
file://request-items.json
\ --return-consumed-capacityINDEXES
\ --return-item-collection-metricsSIZE
request-items.json
の内容:{ "MusicCollection": [ { "PutRequest": { "Item": { "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"} } } }, { "PutRequest": { "Item": { "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"}, "AlbumTitle": {"S": "Songs About Life"} } } }, { "PutRequest": { "Item": { "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Scared of My Shadow"}, "AlbumTitle": {"S": "Blue Sky Blues"} } } } ] }
出力:
{ "UnprocessedItems": {}, "ItemCollectionMetrics": { "MusicCollection": [ { "ItemCollectionKey": { "Artist": { "S": "No One You Know" } }, "SizeEstimateRangeGB": [ 0.0, 1.0 ] }, { "ItemCollectionKey": { "Artist": { "S": "Acme Band" } }, "SizeEstimateRangeGB": [ 0.0, 1.0 ] } ] }, "ConsumedCapacity": [ { "TableName": "MusicCollection", "CapacityUnits": 6.0, "Table": { "CapacityUnits": 3.0 }, "LocalSecondaryIndexes": { "AlbumTitleIndex": { "CapacityUnits": 3.0 } } } ] }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「バッチオペレーション」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のBatchWriteItem
」を参照してください。
-
次のコード例は、create-backup
を使用する方法を示しています。
- AWS CLI
-
既存の DynamoDB テーブルのバックアップを作成するには
次の
create-backup
例では、MusicCollection
テーブルのバックアップを作成します。aws dynamodb create-backup \ --table-name
MusicCollection
\ --backup-nameMusicCollectionBackup
出力:
{ "BackupDetails": { "BackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a", "BackupName": "MusicCollectionBackup", "BackupSizeBytes": 0, "BackupStatus": "CREATING", "BackupType": "USER", "BackupCreationDateTime": 1576616366.715 } }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のオンデマンドバックアップと復元」を参照してください。 DynamoDB
-
API の詳細については、 AWS CLI コマンドリファレンスの CreateBackup
を参照してください。
-
次のコード例は、create-global-table
を使用する方法を示しています。
- AWS CLI
-
グローバルテーブルを作成するには
次の
create-global-table
例では、指定された別々の AWS リージョン内の 2 つの同じテーブルからグローバルテーブルを作成します。aws dynamodb create-global-table \ --global-table-name
MusicCollection
\ --replication-groupRegionName=us-east-2
RegionName=us-east-1
\ --regionus-east-2
出力:
{ "GlobalTableDescription": { "ReplicationGroup": [ { "RegionName": "us-east-2" }, { "RegionName": "us-east-1" } ], "GlobalTableArn": "arn:aws:dynamodb::123456789012:global-table/MusicCollection", "CreationDateTime": 1576625818.532, "GlobalTableStatus": "CREATING", "GlobalTableName": "MusicCollection" } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「DynamoDB グローバルテーブル」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のCreateGlobalTable
」を参照してください。
-
次の例は、create-table
を使用する方法を説明しています。
- AWS CLI
-
例 1: タグ付きのテーブルを作成するには
次の
create-table
の例では、指定された属性とキースキーマを使用して、MusicCollection
という名前のテーブルを作成します。このテーブルはプロビジョニングされたスループットを使用し、保管時にはデフォルト AWS 所有の CMK を使用して暗号化されます。またこのコマンドは、Owner
キーとblueTeam
値を使用して、テーブルにタグを適用します。aws dynamodb create-table \ --table-name
MusicCollection
\ --attribute-definitionsAttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S
\ --key-schemaAttributeName=Artist,KeyType=HASH
AttributeName=SongTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=5,WriteCapacityUnits=5
\ --tagsKey=Owner,Value=blueTeam
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "WriteCapacityUnits": 5, "ReadCapacityUnits": 5 }, "TableSizeBytes": 0, "TableName": "MusicCollection", "TableStatus": "CREATING", "KeySchema": [ { "KeyType": "HASH", "AttributeName": "Artist" }, { "KeyType": "RANGE", "AttributeName": "SongTitle" } ], "ItemCount": 0, "CreationDateTime": "2020-05-26T16:04:41.627000-07:00", "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB テーブルの基本的なオペレーション」を参照してください。
例 2: オンデマンドモードでテーブルを作成するには
次の例は、プロビジョニングされたスループットモードではなく、オンデマンドモードを使用して
MusicCollection
というテーブルを作成します。これは、ワークロードが予測できないテーブルに役立ちます。aws dynamodb create-table \ --table-name
MusicCollection
\ --attribute-definitionsAttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S
\ --key-schemaAttributeName=Artist,KeyType=HASH
AttributeName=SongTitle,KeyType=RANGE
\ --billing-modePAY_PER_REQUEST
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "TableName": "MusicCollection", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": "2020-05-27T11:44:10.807000-07:00", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 0, "WriteCapacityUnits": 0 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "BillingModeSummary": { "BillingMode": "PAY_PER_REQUEST" } } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB テーブルの基本的なオペレーション」を参照してください。
例 3: テーブルを作成して Customer Managed CMK で暗号化するには
次の例では、 という名前のテーブルを作成し
MusicCollection
、カスタマーマネージド CMK を使用して暗号化します。aws dynamodb create-table \ --table-name
MusicCollection
\ --attribute-definitionsAttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S
\ --key-schemaAttributeName=Artist,KeyType=HASH
AttributeName=SongTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=5,WriteCapacityUnits=5
\ --sse-specificationEnabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "TableName": "MusicCollection", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": "2020-05-27T11:12:16.431000-07:00", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "SSEDescription": { "Status": "ENABLED", "SSEType": "KMS", "KMSMasterKeyArn": "arn:aws:kms:us-west-2:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234" } } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB テーブルの基本的なオペレーション」を参照してください。
例 4: ローカルセカンダリインデックスを持つテーブルを作成するには
次の例では、指定された属性とキースキーマを使用して、
AlbumTitleIndex
という名前のローカルセカンダリインデックスを持つMusicCollection
という名前のテーブルを作成します。aws dynamodb create-table \ --table-name
MusicCollection
\ --attribute-definitionsAttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S
AttributeName=AlbumTitle,AttributeType=S
\ --key-schemaAttributeName=Artist,KeyType=HASH
AttributeName=SongTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --local-secondary-indexes \ "[ { \"IndexName\": \"AlbumTitleIndex\", \"KeySchema\": [ {\"AttributeName\": \"Artist\",\"KeyType\":\"HASH\"}, {\"AttributeName\": \"AlbumTitle\",\"KeyType\":\"RANGE\"} ], \"Projection\": { \"ProjectionType\": \"INCLUDE\", \"NonKeyAttributes\": [\"Genre\", \"Year\"] } } ]"出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "AlbumTitle", "AttributeType": "S" }, { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "TableName": "MusicCollection", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": "2020-05-26T15:59:49.473000-07:00", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 5 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "LocalSecondaryIndexes": [ { "IndexName": "AlbumTitleIndex", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "AlbumTitle", "KeyType": "RANGE" } ], "Projection": { "ProjectionType": "INCLUDE", "NonKeyAttributes": [ "Genre", "Year" ] }, "IndexSizeBytes": 0, "ItemCount": 0, "IndexArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/index/AlbumTitleIndex" } ] } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB テーブルの基本的なオペレーション」を参照してください。
例 5: グローバルセカンダリインデックスを持つテーブルを作成するには
次の例では、
GameTitleIndex
という名前のグローバルセカンダリインデックスを持つGameScores
という名前のテーブルを作成します。ベーステーブルには のパーティションキーUserId
と のソートキーがありGameTitle
、特定のゲームの個々のユーザーの最適なスコアを効率的に見つけることができます。一方、GSI には のパーティションキーGameTitle
と のソートキーがありTopScore
、特定のゲームの全体的な最高スコアをすばやく見つけることができます。aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
AttributeName=TopScore,AttributeType=N
\ --key-schemaAttributeName=UserId,KeyType=HASH
\AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --global-secondary-indexes \ "[ { \"IndexName\": \"GameTitleIndex\", \"KeySchema\": [ {\"AttributeName\":\"GameTitle\",\"KeyType\":\"HASH\"}, {\"AttributeName\":\"TopScore\",\"KeyType\":\"RANGE\"} ], \"Projection\": { \"ProjectionType\":\"INCLUDE\", \"NonKeyAttributes\":[\"UserId\"] }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": 10, \"WriteCapacityUnits\": 5 } } ]"出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "GameTitle", "AttributeType": "S" }, { "AttributeName": "TopScore", "AttributeType": "N" }, { "AttributeName": "UserId", "AttributeType": "S" } ], "TableName": "GameScores", "KeySchema": [ { "AttributeName": "UserId", "KeyType": "HASH" }, { "AttributeName": "GameTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": "2020-05-26T17:28:15.602000-07:00", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 5 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "GlobalSecondaryIndexes": [ { "IndexName": "GameTitleIndex", "KeySchema": [ { "AttributeName": "GameTitle", "KeyType": "HASH" }, { "AttributeName": "TopScore", "KeyType": "RANGE" } ], "Projection": { "ProjectionType": "INCLUDE", "NonKeyAttributes": [ "UserId" ] }, "IndexStatus": "CREATING", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 5 }, "IndexSizeBytes": 0, "ItemCount": 0, "IndexArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores/index/GameTitleIndex" } ] } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB テーブルの基本的なオペレーション」を参照してください。
例 6: 複数のグローバルセカンダリインデックスを持つテーブルを一度に作成するには
次の例では、2 つのグローバルセカンダリインデックスを持つ
GameScores
という名前のテーブルを作成します。GSI スキーマは、コマンドラインではなく ファイルを介して渡されます。aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
AttributeName=TopScore,AttributeType=N
AttributeName=Date,AttributeType=S
\ --key-schemaAttributeName=UserId,KeyType=HASH
AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --global-secondary-indexesfile://gsi.json
gsi.json
の内容:[ { "IndexName": "GameTitleIndex", "KeySchema": [ { "AttributeName": "GameTitle", "KeyType": "HASH" }, { "AttributeName": "TopScore", "KeyType": "RANGE" } ], "Projection": { "ProjectionType": "ALL" }, "ProvisionedThroughput": { "ReadCapacityUnits": 10, "WriteCapacityUnits": 5 } }, { "IndexName": "GameDateIndex", "KeySchema": [ { "AttributeName": "GameTitle", "KeyType": "HASH" }, { "AttributeName": "Date", "KeyType": "RANGE" } ], "Projection": { "ProjectionType": "ALL" }, "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 } } ]
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "Date", "AttributeType": "S" }, { "AttributeName": "GameTitle", "AttributeType": "S" }, { "AttributeName": "TopScore", "AttributeType": "N" }, { "AttributeName": "UserId", "AttributeType": "S" } ], "TableName": "GameScores", "KeySchema": [ { "AttributeName": "UserId", "KeyType": "HASH" }, { "AttributeName": "GameTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": "2020-08-04T16:40:55.524000-07:00", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 5 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "GlobalSecondaryIndexes": [ { "IndexName": "GameTitleIndex", "KeySchema": [ { "AttributeName": "GameTitle", "KeyType": "HASH" }, { "AttributeName": "TopScore", "KeyType": "RANGE" } ], "Projection": { "ProjectionType": "ALL" }, "IndexStatus": "CREATING", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 5 }, "IndexSizeBytes": 0, "ItemCount": 0, "IndexArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores/index/GameTitleIndex" }, { "IndexName": "GameDateIndex", "KeySchema": [ { "AttributeName": "GameTitle", "KeyType": "HASH" }, { "AttributeName": "Date", "KeyType": "RANGE" } ], "Projection": { "ProjectionType": "ALL" }, "IndexStatus": "CREATING", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "IndexSizeBytes": 0, "ItemCount": 0, "IndexArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores/index/GameDateIndex" } ] } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB テーブルの基本的なオペレーション」を参照してください。
例 7: ストリームが有効なテーブルを作成するには
次の例では、DynamoDB ストリームを有効にした状態の
GameScores
という名前のテーブルを作成します。各アイテムの新しいイメージと古いイメージの両方がストリームに書き込まれます。aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
\ --key-schemaAttributeName=UserId,KeyType=HASH
AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --stream-specificationStreamEnabled=TRUE,StreamViewType=NEW_AND_OLD_IMAGES
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "GameTitle", "AttributeType": "S" }, { "AttributeName": "UserId", "AttributeType": "S" } ], "TableName": "GameScores", "KeySchema": [ { "AttributeName": "UserId", "KeyType": "HASH" }, { "AttributeName": "GameTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": "2020-05-27T10:49:34.056000-07:00", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 5 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "StreamSpecification": { "StreamEnabled": true, "StreamViewType": "NEW_AND_OLD_IMAGES" }, "LatestStreamLabel": "2020-05-27T17:49:34.056", "LatestStreamArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores/stream/2020-05-27T17:49:34.056" } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB テーブルの基本的なオペレーション」を参照してください。
例 8: Keys-Only ストリームが有効なテーブルを作成するには
次の例では、DynamoDB ストリームを有効にした状態の
GameScores
という名前のテーブルを作成します。変更された項目のキー属性のみがストリームに書き込まれます。aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
\ --key-schemaAttributeName=UserId,KeyType=HASH
AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --stream-specificationStreamEnabled=TRUE,StreamViewType=KEYS_ONLY
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "GameTitle", "AttributeType": "S" }, { "AttributeName": "UserId", "AttributeType": "S" } ], "TableName": "GameScores", "KeySchema": [ { "AttributeName": "UserId", "KeyType": "HASH" }, { "AttributeName": "GameTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": "2023-05-25T18:45:34.140000+00:00", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 5 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "StreamSpecification": { "StreamEnabled": true, "StreamViewType": "KEYS_ONLY" }, "LatestStreamLabel": "2023-05-25T18:45:34.140", "LatestStreamArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores/stream/2023-05-25T18:45:34.140", "DeletionProtectionEnabled": false } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB Streams の変更データキャプチャ」を参照してください。
例 9: Standard Infrequent Access クラスでテーブルを作成するには
次の例は、
GameScores
という名前のテーブルを作成し、Standard-Infrequent Access (DynamoDB Standard-IA) テーブルクラスを割り当てます。このテーブルクラスは、ストレージが主なコストとなるように最適化されています。aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
\ --key-schemaAttributeName=UserId,KeyType=HASH
AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --table-classSTANDARD_INFREQUENT_ACCESS
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "GameTitle", "AttributeType": "S" }, { "AttributeName": "UserId", "AttributeType": "S" } ], "TableName": "GameScores", "KeySchema": [ { "AttributeName": "UserId", "KeyType": "HASH" }, { "AttributeName": "GameTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": "2023-05-25T18:33:07.581000+00:00", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 5 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "TableClassSummary": { "TableClass": "STANDARD_INFREQUENT_ACCESS" }, "DeletionProtectionEnabled": false } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「テーブルクラス」を参照してください。
例 10: 削除保護を有効にしたテーブルを作成するには
次の例では、
GameScores
というテーブルを作成し、削除保護を有効にします。aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
\ --key-schemaAttributeName=UserId,KeyType=HASH
AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --deletion-protection-enabled出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "GameTitle", "AttributeType": "S" }, { "AttributeName": "UserId", "AttributeType": "S" } ], "TableName": "GameScores", "KeySchema": [ { "AttributeName": "UserId", "KeyType": "HASH" }, { "AttributeName": "GameTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": "2023-05-25T23:02:17.093000+00:00", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 5 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "DeletionProtectionEnabled": true } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「削除保護の使用」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のCreateTable
」を参照してください。
-
次の例は、delete-backup
を使用する方法を説明しています。
- AWS CLI
-
既存の DynamoDB バックアップを削除するには
次の
delete-backup
例では、指定された既存のバックアップを削除します。aws dynamodb delete-backup \ --backup-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a
出力:
{ "BackupDescription": { "BackupDetails": { "BackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a", "BackupName": "MusicCollectionBackup", "BackupSizeBytes": 0, "BackupStatus": "DELETED", "BackupType": "USER", "BackupCreationDateTime": 1576616366.715 }, "SourceTableDetails": { "TableName": "MusicCollection", "TableId": "b0c04bcc-309b-4352-b2ae-9088af169fe2", "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "TableSizeBytes": 0, "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableCreationDateTime": 1576615228.571, "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "ItemCount": 0, "BillingMode": "PROVISIONED" }, "SourceTableFeatureDetails": {} } }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のオンデマンドバックアップと復元」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteBackup
」を参照してください。
-
次の例は、delete-item
を使用する方法を説明しています。
- AWS CLI
-
例 1: 項目を削除するには
次の
delete-item
の例は、MusicCollection
テーブルから項目を削除し、削除した項目とそのリクエストで使用された容量に関する詳細を取得します。aws dynamodb delete-item \ --table-name
MusicCollection
\ --keyfile://key.json
\ --return-valuesALL_OLD
\ --return-consumed-capacityTOTAL
\ --return-item-collection-metricsSIZE
key.json
の内容:{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Scared of My Shadow"} }
出力:
{ "Attributes": { "AlbumTitle": { "S": "Blue Sky Blues" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Scared of My Shadow" } }, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 2.0 }, "ItemCollectionMetrics": { "ItemCollectionKey": { "Artist": { "S": "No One You Know" } }, "SizeEstimateRangeGB": [ 0.0, 1.0 ] } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「項目を書き込みます」を参照してください。
例 2: 条件付きで項目を削除するには
次の例では、
ProductCategory
がSporting Goods
またはGardening Supplies
で、その価格が 500 および 600 の場合のみ、ProductCatalog
テーブルから項目を削除します。削除された項目に関する詳細が返されます。aws dynamodb delete-item \ --table-name
ProductCatalog
\ --key '{"Id":{"N":"456"}}
' \ --condition-expression"(ProductCategory IN (:cat1, :cat2)) and (#P between :lo and :hi)"
\ --expression-attribute-namesfile://names.json
\ --expression-attribute-valuesfile://values.json
\ --return-valuesALL_OLD
names.json
の内容:{ "#P": "Price" }
values.json
の内容:{ ":cat1": {"S": "Sporting Goods"}, ":cat2": {"S": "Gardening Supplies"}, ":lo": {"N": "500"}, ":hi": {"N": "600"} }
出力:
{ "Attributes": { "Id": { "N": "456" }, "Price": { "N": "550" }, "ProductCategory": { "S": "Sporting Goods" } } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「項目を書き込みます」を参照してください。
-
API の詳細については、 AWS CLI コマンドリファレンスの DeleteItem
を参照してください。
-
次の例は、delete-table
を使用する方法を説明しています。
- AWS CLI
-
テーブルを削除するには
以下の
delete-table
の例はMusicCollection
テーブルを削除します。aws dynamodb delete-table \ --table-name
MusicCollection
出力:
{ "TableDescription": { "TableStatus": "DELETING", "TableSizeBytes": 0, "ItemCount": 0, "TableName": "MusicCollection", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "WriteCapacityUnits": 5, "ReadCapacityUnits": 5 } } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「テーブルの削除」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDeleteTable
」を参照してください。
-
次のコード例は、describe-backup
を使用する方法を示しています。
- AWS CLI
-
テーブルの既存のバックアップに関する情報を取得するには
次の
describe-backup
例は、指定された既存のバックアップに関する情報を示しています。aws dynamodb describe-backup \ --backup-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a
出力:
{ "BackupDescription": { "BackupDetails": { "BackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a", "BackupName": "MusicCollectionBackup", "BackupSizeBytes": 0, "BackupStatus": "AVAILABLE", "BackupType": "USER", "BackupCreationDateTime": 1576616366.715 }, "SourceTableDetails": { "TableName": "MusicCollection", "TableId": "b0c04bcc-309b-4352-b2ae-9088af169fe2", "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "TableSizeBytes": 0, "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableCreationDateTime": 1576615228.571, "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "ItemCount": 0, "BillingMode": "PROVISIONED" }, "SourceTableFeatureDetails": {} } }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のオンデマンドバックアップと復元」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeBackup
」を参照してください。
-
次のコード例は、describe-continuous-backups
を使用する方法を示しています。
- AWS CLI
-
DynamoDB テーブルの継続的バックアップに関する情報を取得するには
次の
describe-continuous-backups
例では、MusicCollection
テーブルの連続バックアップ設定の詳細を表示します。aws dynamodb describe-continuous-backups \ --table-name
MusicCollection
出力:
{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "ENABLED", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "DISABLED" } } }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB の Point-in-Time Recovery」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeContinuousBackups
」を参照してください。
-
次の例は、describe-contributor-insights
を使用する方法を説明しています。
- AWS CLI
-
DynamoDB テーブルの Contributor Insights 設定を表示するには
次の
describe-contributor-insights
例は、MusicCollection
テーブルとAlbumTitle-index
グローバルセカンダリインデックスの Contributor Insights 設定を示しています。aws dynamodb describe-contributor-insights \ --table-name
MusicCollection
\ --index-nameAlbumTitle-index
出力:
{ "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsRuleList": [ "DynamoDBContributorInsights-PKC-MusicCollection-1576629651520", "DynamoDBContributorInsights-SKC-MusicCollection-1576629651520", "DynamoDBContributorInsights-PKT-MusicCollection-1576629651520", "DynamoDBContributorInsights-SKT-MusicCollection-1576629651520" ], "ContributorInsightsStatus": "ENABLED", "LastUpdateDateTime": 1576629654.78 }
詳細については、Amazon DynamoDB デベロッパーガイドの CloudWatch Contributor Insights for DynamoDB を使用したデータアクセスの分析」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeContributorInsights
」を参照してください。
-
次の例は、describe-endpoints
を使用する方法を説明しています。
- AWS CLI
-
リージョンエンドポイント情報を表示するには
次の
describe-endpoints
例は、現在の AWS リージョンのエンドポイントの詳細を示しています。aws dynamodb describe-endpoints
出力:
{ "Endpoints": [ { "Address": "dynamodb.us-west-2.amazonaws.com", "CachePeriodInMinutes": 1440 } ] }
詳細については、 AWS 全般リファレンスの「Amazon DynamoDB エンドポイントとクォータ」を参照してください。
-
API の詳細については、 AWS CLI コマンドリファレンスの DescribeEndpoints
を参照してください。
-
次の例は、describe-global-table-settings
を使用する方法を説明しています。
- AWS CLI
-
DynamoDB グローバルテーブルの設定に関する情報を取得するには
次の
describe-global-table-settings
例は、MusicCollection
グローバルテーブルの設定を示しています。aws dynamodb describe-global-table-settings \ --global-table-name
MusicCollection
出力:
{ "GlobalTableName": "MusicCollection", "ReplicaSettings": [ { "RegionName": "us-east-1", "ReplicaStatus": "ACTIVE", "ReplicaProvisionedReadCapacityUnits": 10, "ReplicaProvisionedReadCapacityAutoScalingSettings": { "AutoScalingDisabled": true }, "ReplicaProvisionedWriteCapacityUnits": 5, "ReplicaProvisionedWriteCapacityAutoScalingSettings": { "AutoScalingDisabled": true } }, { "RegionName": "us-east-2", "ReplicaStatus": "ACTIVE", "ReplicaProvisionedReadCapacityUnits": 10, "ReplicaProvisionedReadCapacityAutoScalingSettings": { "AutoScalingDisabled": true }, "ReplicaProvisionedWriteCapacityUnits": 5, "ReplicaProvisionedWriteCapacityAutoScalingSettings": { "AutoScalingDisabled": true } } ] }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「DynamoDB グローバルテーブル」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeGlobalTableSettings
」を参照してください。
-
次の例は、describe-global-table
を使用する方法を説明しています。
- AWS CLI
-
DynamoDB グローバルテーブルに関する情報を表示するには
次の
describe-global-table
例では、MusicCollection
グローバルテーブルの詳細を表示します。aws dynamodb describe-global-table \ --global-table-name
MusicCollection
出力:
{ "GlobalTableDescription": { "ReplicationGroup": [ { "RegionName": "us-east-2" }, { "RegionName": "us-east-1" } ], "GlobalTableArn": "arn:aws:dynamodb::123456789012:global-table/MusicCollection", "CreationDateTime": 1576625818.532, "GlobalTableStatus": "ACTIVE", "GlobalTableName": "MusicCollection" } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「DynamoDB グローバルテーブル」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeGlobalTable
」を参照してください。
-
次のコード例は、describe-limits
を使用する方法を示しています。
- AWS CLI
-
プロビジョンドキャパシティの制限を表示するには
次の
describe-limits
例では、現在の AWS リージョンのアカウントのプロビジョニングされたキャパシティー制限を表示します。aws dynamodb describe-limits
出力:
{ "AccountMaxReadCapacityUnits": 80000, "AccountMaxWriteCapacityUnits": 80000, "TableMaxReadCapacityUnits": 40000, "TableMaxWriteCapacityUnits": 40000 }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「DynamoDB の制限」を参照してください。 DynamoDB
-
API の詳細については、 AWS CLI コマンドリファレンスの DescribeLimits
を参照してください。
-
次の例は、describe-table-replica-auto-scaling
を使用する方法を説明しています。
- AWS CLI
-
グローバルテーブルのレプリカ間で自動スケーリング設定を表示するには
次の
describe-table-replica-auto-scaling
例では、MusicCollection
グローバルテーブルのレプリカ間での自動スケーリング設定を表示します。aws dynamodb describe-table-replica-auto-scaling \ --table-name
MusicCollection
出力:
{ "TableAutoScalingDescription": { "TableName": "MusicCollection", "TableStatus": "ACTIVE", "Replicas": [ { "RegionName": "us-east-1", "GlobalSecondaryIndexes": [], "ReplicaProvisionedReadCapacityAutoScalingSettings": { "MinimumUnits": 5, "MaximumUnits": 40000, "AutoScalingRoleArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", "ScalingPolicies": [ { "PolicyName": "DynamoDBReadCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 70.0 } } ] }, "ReplicaProvisionedWriteCapacityAutoScalingSettings": { "MinimumUnits": 5, "MaximumUnits": 40000, "AutoScalingRoleArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", "ScalingPolicies": [ { "PolicyName": "DynamoDBWriteCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 70.0 } } ] }, "ReplicaStatus": "ACTIVE" }, { "RegionName": "us-east-2", "GlobalSecondaryIndexes": [], "ReplicaProvisionedReadCapacityAutoScalingSettings": { "MinimumUnits": 5, "MaximumUnits": 40000, "AutoScalingRoleArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", "ScalingPolicies": [ { "PolicyName": "DynamoDBReadCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 70.0 } } ] }, "ReplicaProvisionedWriteCapacityAutoScalingSettings": { "MinimumUnits": 5, "MaximumUnits": 40000, "AutoScalingRoleArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", "ScalingPolicies": [ { "PolicyName": "DynamoDBWriteCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 70.0 } } ] }, "ReplicaStatus": "ACTIVE" } ] } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「DynamoDB グローバルテーブル」を参照してください。 DynamoDB
-
API の詳細については、 AWS CLI コマンドリファレンスの DescribeTableReplicaAutoScaling
を参照してください。
-
次の例は、describe-table
を使用する方法を説明しています。
- AWS CLI
-
テーブルを記述するには
次の
describe-table
の例は、MusicCollection
テーブルを記述します。aws dynamodb describe-table \ --table-name
MusicCollection
出力:
{ "Table": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "WriteCapacityUnits": 5, "ReadCapacityUnits": 5 }, "TableSizeBytes": 0, "TableName": "MusicCollection", "TableStatus": "ACTIVE", "KeySchema": [ { "KeyType": "HASH", "AttributeName": "Artist" }, { "KeyType": "RANGE", "AttributeName": "SongTitle" } ], "ItemCount": 0, "CreationDateTime": 1421866952.062 } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「表の説明」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeTable
」を参照してください。
-
次の例は、describe-time-to-live
を使用する方法を説明しています。
- AWS CLI
-
テーブルの Time to Live 設定を表示するには
次の
describe-time-to-live
の例は、MusicCollection
テーブルの Time to Live 設定を表示します。aws dynamodb describe-time-to-live \ --table-name
MusicCollection
出力:
{ "TimeToLiveDescription": { "TimeToLiveStatus": "ENABLED", "AttributeName": "ttl" } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「Time to Live (TTL)」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のDescribeTimeToLive
」を参照してください。
-
次のコード例は、get-item
を使用する方法を示しています。
- AWS CLI
-
例 1: テーブル内の項目を読み込むには
次の
get-item
の例は、MusicCollection
テーブルから項目を取得します。テーブルには hash-and-range プライマリキー (Artist
とSongTitle
) があるため、これらの属性の両方を指定する必要があります。このコマンドは、オペレーションによって消費される読み込み容量に関する情報も要求します。aws dynamodb get-item \ --table-name
MusicCollection
\ --keyfile://key.json
\ --return-consumed-capacityTOTAL
key.json
の内容:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }
出力:
{ "Item": { "AlbumTitle": { "S": "Songs About Life" }, "SongTitle": { "S": "Happy Day" }, "Artist": { "S": "Acme Band" } }, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 0.5 } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「項目の読み込み」を参照してください。
例 2: 整合性のある読み込みを使用して項目を読み込むには
次の例では、強力な整合性のある読み込みを使用して
MusicCollection
テーブルから項目を読み込みます。aws dynamodb get-item \ --table-name
MusicCollection
\ --keyfile://key.json
\ --consistent-read \ --return-consumed-capacityTOTAL
key.json
の内容:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }
出力:
{ "Item": { "AlbumTitle": { "S": "Songs About Life" }, "SongTitle": { "S": "Happy Day" }, "Artist": { "S": "Acme Band" } }, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「項目の読み込み」を参照してください。
例 3: 項目の特定の属性を取得するには
次の例は、射影式を使用して目的のアイテムの 3 つの属性のみを取得します。
aws dynamodb get-item \ --table-name
ProductCatalog
\ --key '{"Id": {"N": "102"}}
' \ --projection-expression"#T, #C, #P"
\ --expression-attribute-namesfile://names.json
names.json
の内容:{ "#T": "Title", "#C": "ProductCategory", "#P": "Price" }
出力:
{ "Item": { "Price": { "N": "20" }, "Title": { "S": "Book 102 Title" }, "ProductCategory": { "S": "Book" } } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「項目の読み込み」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のGetItem
」を参照してください。
-
次の例は、list-backups
を使用する方法を説明しています。
- AWS CLI
-
例 1: 既存の DynamoDB バックアップをすべて一覧表示するには
次の
list-backups
例では、既存のバックアップをすべて一覧表示します。aws dynamodb list-backups
出力:
{ "BackupSummaries": [ { "TableName": "MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "BackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01234567890123-a1bcd234", "BackupName": "MusicCollectionBackup1", "BackupCreationDateTime": "2020-02-12T14:41:51.617000-08:00", "BackupStatus": "AVAILABLE", "BackupType": "USER", "BackupSizeBytes": 170 }, { "TableName": "MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "BackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01234567890123-b2abc345", "BackupName": "MusicCollectionBackup2", "BackupCreationDateTime": "2020-06-26T11:08:35.431000-07:00", "BackupStatus": "AVAILABLE", "BackupType": "USER", "BackupSizeBytes": 400 } ] }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のオンデマンドバックアップと復元」を参照してください。 DynamoDB
例 2: ユーザーが作成したバックアップを特定の時間範囲で一覧表示するには
次の例では、2020 年 1 月 1 日から 2020 年 3 月 1 日の間に作成日を持つ、ユーザーによって作成された
MusicCollection
テーブルのバックアップ (DynamoDB によって自動的に作成されたバックアップではない) のみを一覧表示します。aws dynamodb list-backups \ --table-name
MusicCollection
\ --time-range-lower-bound1577836800
\ --time-range-upper-bound1583020800
\ --backup-typeUSER
出力:
{ "BackupSummaries": [ { "TableName": "MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "BackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01234567890123-a1bcd234", "BackupName": "MusicCollectionBackup1", "BackupCreationDateTime": "2020-02-12T14:41:51.617000-08:00", "BackupStatus": "AVAILABLE", "BackupType": "USER", "BackupSizeBytes": 170 } ] }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のオンデマンドバックアップと復元」を参照してください。 DynamoDB
例 3: ページサイズを制限するには
次の例では、既存のすべてのバックアップのリストを返しますが、呼び出しごとに 1 つの項目のみを取得し、リスト全体を取得するために必要に応じて複数の呼び出しを実行します。デフォルトのページサイズ (1000) を使用して大量のリソースに対してリストコマンドを実行する際に「タイムアウト」が発生する場合、ページサイズを制限してください。
aws dynamodb list-backups \ --page-size
1
出力:
{ "BackupSummaries": [ { "TableName": "MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "BackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01234567890123-a1bcd234", "BackupName": "MusicCollectionBackup1", "BackupCreationDateTime": "2020-02-12T14:41:51.617000-08:00", "BackupStatus": "AVAILABLE", "BackupType": "USER", "BackupSizeBytes": 170 }, { "TableName": "MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "BackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01234567890123-b2abc345", "BackupName": "MusicCollectionBackup2", "BackupCreationDateTime": "2020-06-26T11:08:35.431000-07:00", "BackupStatus": "AVAILABLE", "BackupType": "USER", "BackupSizeBytes": 400 } ] }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のオンデマンドバックアップと復元」を参照してください。 DynamoDB
例 4: 返される項目の数を制限するには
次の例では、返されるアイテムの数を 1 に制限しています。レスポンスには、次の結果ページの取得に使用する
NextToken
値が含まれます。aws dynamodb list-backups \ --max-items
1
出力:
{ "BackupSummaries": [ { "TableName": "MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "BackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01234567890123-a1bcd234", "BackupName": "MusicCollectionBackup1", "BackupCreationDateTime": "2020-02-12T14:41:51.617000-08:00", "BackupStatus": "AVAILABLE", "BackupType": "USER", "BackupSizeBytes": 170 } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のオンデマンドバックアップと復元」を参照してください。 DynamoDB
例 5: 結果の次のページを取得するには
次のコマンドは、
list-backups
コマンドへの前の呼び出しのNextToken
値を使用して、次の結果ページを取得します。この場合のレスポンスにはNextToken
値が含まれていないため、結果の最後のページに達したことがわかります。aws dynamodb list-backups \ --starting-token
abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9
出力
{ "BackupSummaries": [ { "TableName": "MusicCollection", "TableId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "BackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01234567890123-b2abc345", "BackupName": "MusicCollectionBackup2", "BackupCreationDateTime": "2020-06-26T11:08:35.431000-07:00", "BackupStatus": "AVAILABLE", "BackupType": "USER", "BackupSizeBytes": 400 } ] }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のオンデマンドバックアップと復元」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListBackups
」を参照してください。
-
次のコード例は、list-contributor-insights
を使用する方法を示しています。
- AWS CLI
-
例 1: Contributor Insights の概要のリストを表示するには
次の
list-contributor-insights
例は、Contributor Insights の概要のリストを示しています。aws dynamodb list-contributor-insights
出力:
{ "ContributorInsightsSummaries": [ { "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "ProductCatalog", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Forum", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Reply", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Thread", "ContributorInsightsStatus": "ENABLED" } ] }
詳細については、Amazon DynamoDB デベロッパーガイドの CloudWatch Contributor Insights for DynamoDB を使用したデータアクセスの分析」を参照してください。 DynamoDB
例 2: 返される項目の数を制限するには
次の例では、返されるアイテムの数を 4 に制限しています。レスポンスには、次の結果ページの取得に使用する
NextToken
値が含まれます。aws dynamodb list-contributor-insights \ --max-results
4
出力:
{ "ContributorInsightsSummaries": [ { "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "ProductCatalog", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Forum", "ContributorInsightsStatus": "ENABLED" } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }
詳細については、Amazon DynamoDB デベロッパーガイドの CloudWatch Contributor Insights for DynamoDB を使用したデータアクセスの分析」を参照してください。 DynamoDB
例 3: 結果の次のページを取得するには
次のコマンドは、
list-contributor-insights
コマンドへの前の呼び出しのNextToken
値を使用して、次の結果ページを取得します。この場合のレスポンスにはNextToken
値が含まれていないため、結果の最後のページに達したことがわかります。aws dynamodb list-contributor-insights \ --max-results
4
\ --next-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9
出力:
{ "ContributorInsightsSummaries": [ { "TableName": "Reply", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Thread", "ContributorInsightsStatus": "ENABLED" } ] }
詳細については、Amazon DynamoDB デベロッパーガイドの CloudWatch Contributor Insights for DynamoDB を使用したデータアクセスの分析」を参照してください。 DynamoDB
-
API の詳細については、 AWS CLI コマンドリファレンスの ListContributorInsights
を参照してください。
-
次の例は、list-global-tables
を使用する方法を説明しています。
- AWS CLI
-
既存の DynamoDB グローバルテーブルを一覧表示するには
次の
list-global-tables
例では、既存のすべてのグローバルテーブルを一覧表示します。aws dynamodb list-global-tables
出力:
{ "GlobalTables": [ { "GlobalTableName": "MusicCollection", "ReplicationGroup": [ { "RegionName": "us-east-2" }, { "RegionName": "us-east-1" } ] } ] }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「DynamoDB グローバルテーブル」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のListGlobalTables
」を参照してください。
-
次の例は、list-tables
を使用する方法を説明しています。
- AWS CLI
-
例 1: テーブルを一覧表示するには
次の
list-tables
例では、現在の AWS アカウントとリージョンに関連付けられているすべてのテーブルを一覧表示します。aws dynamodb list-tables
出力:
{ "TableNames": [ "Forum", "ProductCatalog", "Reply", "Thread" ] }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「テーブル名のリスト化」を参照してください。
例 2: ページサイズを制限するには
次の例は、既存のすべてのテーブルのリストを返しますが、1 回の呼び出しで 1 つの項目のみを取得し、必要な場合は複数の呼び出しを実行してリスト全体を取得します。デフォルトのページサイズ (1000) を使用して大量のリソースに対してリストコマンドを実行する際に「タイムアウト」が発生する場合、ページサイズを制限してください。
aws dynamodb list-tables \ --page-size
1
出力:
{ "TableNames": [ "Forum", "ProductCatalog", "Reply", "Thread" ] }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「テーブル名のリスト化」を参照してください。
例 3: 返される項目の数を制限するには
次の例は、返される項目の数を 2 に制限します。レスポンスには、次の結果ページの取得に使用する
NextToken
値が含まれます。aws dynamodb list-tables \ --max-items
2
出力:
{ "TableNames": [ "Forum", "ProductCatalog" ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「テーブル名のリスト化」を参照してください。
例 4: 次の結果ページを取得するには
次のコマンドは、
list-tables
コマンドへの前の呼び出しのNextToken
値を使用して、次の結果ページを取得します。この場合のレスポンスにはNextToken
値が含まれていないため、結果の最後のページに達したことがわかります。aws dynamodb list-tables \ --starting-token
abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9
出力:
{ "TableNames": [ "Reply", "Thread" ] }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「テーブル名のリスト化」を参照してください。
-
API の詳細については、 AWS CLI コマンドリファレンスの ListTables
を参照してください。
-
次の例は、list-tags-of-resource
を使用する方法を説明しています。
- AWS CLI
-
例 1: DynamoDB リソースのタグを一覧表示するには
次の
list-tags-of-resource
例では、MusicCollection
テーブルのタグを表示します。aws dynamodb list-tags-of-resource \ --resource-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection
出力:
{ "Tags": [ { "Key": "Owner", "Value": "blueTeam" }, { "Key": "Environment", "Value": "Production" } ] }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のタグ付け」を参照してください。 DynamoDB
例 2: 返されるタグの数を制限するには
次の例では、返されるタグの数を 1 に制限しています。レスポンスには、次の結果ページの取得に使用する
NextToken
値が含まれます。aws dynamodb list-tags-of-resource \ --resource-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection
\ --max-items1
出力:
{ "Tags": [ { "Key": "Owner", "Value": "blueTeam" } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のタグ付け」を参照してください。 DynamoDB
例 3: 結果の次のページを取得するには
次のコマンドは、
list-tags-of-resource
コマンドへの前の呼び出しのNextToken
値を使用して、次の結果ページを取得します。この場合のレスポンスにはNextToken
値が含まれていないため、結果の最後のページに達したことがわかります。aws dynamodb list-tags-of-resource \ --resource-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection
\ --starting-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9
出力:
{ "Tags": [ { "Key": "Environment", "Value": "Production" } ] }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のタグ付け」を参照してください。 DynamoDB
-
API の詳細については、 AWS CLI コマンドリファレンスの ListTagsOfResource
を参照してください。
-
次のコード例は、put-item
を使用する方法を示しています。
- AWS CLI
-
例 1: テーブルに項目を追加するには
次の
put-item
例では、MusicCollection テーブルに新しい項目を追加します。aws dynamodb put-item \ --table-name
MusicCollection
\ --itemfile://item.json
\ --return-consumed-capacityTOTAL
\ --return-item-collection-metricsSIZE
item.json
の内容:{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Greatest Hits"} }
出力:
{ "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 }, "ItemCollectionMetrics": { "ItemCollectionKey": { "Artist": { "S": "No One You Know" } }, "SizeEstimateRangeGB": [ 0.0, 1.0 ] } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「項目を書き込みます」を参照してください。
例 2: テーブル内の項目を条件付きで上書きするには
次の
put-item
の例は、MusicCollection
テーブル内の既存の項目にGreatest Hits
の値を持つAlbumTitle
属性がある場合にのみ、その項目を上書きします。このコマンドは、その項目の以前の値を返します。aws dynamodb put-item \ --table-name
MusicCollection
\ --itemfile://item.json
\ --condition-expression"#A = :A"
\ --expression-attribute-namesfile://names.json
\ --expression-attribute-valuesfile://values.json
\ --return-valuesALL_OLD
item.json
の内容:{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"} }
names.json
の内容:{ "#A": "AlbumTitle" }
values.json
の内容:{ ":A": {"S": "Greatest Hits"} }
出力:
{ "Attributes": { "AlbumTitle": { "S": "Greatest Hits" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } } }
キーが存在する場合は、次のような出力が表示されます。
A client error (ConditionalCheckFailedException) occurred when calling the PutItem operation: The conditional request failed.
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「項目を書き込みます」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のPutItem
」を参照してください。
-
次の例は、query
を使用する方法を説明しています。
- AWS CLI
-
例 1: テーブルにクエリを実行するには
次の
query
の例では、MusicCollection
テーブルの項目にクエリを実行します。テーブルには hash-and-range プライマリキー (Artist
とSongTitle
) がありますが、このクエリはハッシュキー値のみを指定します。「No One You Know」という名前のアーティストの曲タイトルが返されます。aws dynamodb query \ --table-name
MusicCollection
\ --projection-expression"SongTitle"
\ --key-condition-expression"Artist = :v1"
\ --expression-attribute-valuesfile://expression-attributes.json
\ --return-consumed-capacityTOTAL
expression-attributes.json
の内容:{ ":v1": {"S": "No One You Know"} }
出力:
{ "Items": [ { "SongTitle": { "S": "Call Me Today" }, "SongTitle": { "S": "Scared of My Shadow" } } ], "Count": 2, "ScannedCount": 2, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 0.5 } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB のクエリオペレーション」を参照してください。
例 2: 強力な整合性のある読み込みを使用してテーブルにクエリを実行し、インデックスを降順で走査するには
次の例では、最初の例と同じクエリを実行しますが、結果は逆の順序で返され、強力な整合性のある読み込みが使用されます。
aws dynamodb query \ --table-name
MusicCollection
\ --projection-expression"SongTitle"
\ --key-condition-expression"Artist = :v1"
\ --expression-attribute-valuesfile://expression-attributes.json
\ --consistent-read \ --no-scan-index-forward \ --return-consumed-capacityTOTAL
expression-attributes.json
の内容:{ ":v1": {"S": "No One You Know"} }
出力:
{ "Items": [ { "SongTitle": { "S": "Scared of My Shadow" } }, { "SongTitle": { "S": "Call Me Today" } } ], "Count": 2, "ScannedCount": 2, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB のクエリオペレーション」を参照してください。
例 3: 特定の結果を除外するには
次の例は、
MusicCollection
をクエリしますが、AlbumTitle
属性に特定の値を含む結果を除外します。このフィルターは項目が読み込まれた後に適用されるため、ScannedCount
またはConsumedCapacity
には影響しないことに注意してください。aws dynamodb query \ --table-name
MusicCollection
\ --key-condition-expression"#n1 = :v1"
\ --filter-expression"NOT (#n2 IN (:v2, :v3))"
\ --expression-attribute-namesfile://names.json
\ --expression-attribute-valuesfile://values.json
\ --return-consumed-capacityTOTAL
values.json
の内容:{ ":v1": {"S": "No One You Know"}, ":v2": {"S": "Blue Sky Blues"}, ":v3": {"S": "Greatest Hits"} }
names.json
の内容:{ "#n1": "Artist", "#n2": "AlbumTitle" }
出力:
{ "Items": [ { "AlbumTitle": { "S": "Somewhat Famous" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } } ], "Count": 1, "ScannedCount": 2, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 0.5 } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB のクエリオペレーション」を参照してください。
例 4: 項目数だけを取得するには
次の例は、クエリに一致する項目数を取得しますが、項目自体は取得しません。
aws dynamodb query \ --table-name
MusicCollection
\ --selectCOUNT
\ --key-condition-expression"Artist = :v1"
\ --expression-attribute-valuesfile://expression-attributes.json
expression-attributes.json
の内容:{ ":v1": {"S": "No One You Know"} }
出力:
{ "Count": 2, "ScannedCount": 2, "ConsumedCapacity": null }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB のクエリオペレーション」を参照してください。
例 5: インデックスをクエリするには
次の例は、ローカルセカンダリインデックス
AlbumTitleIndex
をクエリします。クエリは、ローカルセカンダリインデックスに射影されたベーステーブルのすべての属性を返します。ローカルセカンダリインデックスまたはグローバルセカンダリインデックスをクエリする場合は、table-name
パラメータを使用してベーステーブルの名前も指定する必要があることに注意してください。aws dynamodb query \ --table-name
MusicCollection
\ --index-nameAlbumTitleIndex
\ --key-condition-expression"Artist = :v1"
\ --expression-attribute-valuesfile://expression-attributes.json
\ --selectALL_PROJECTED_ATTRIBUTES
\ --return-consumed-capacityINDEXES
expression-attributes.json
の内容:{ ":v1": {"S": "No One You Know"} }
出力:
{ "Items": [ { "AlbumTitle": { "S": "Blue Sky Blues" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Scared of My Shadow" } }, { "AlbumTitle": { "S": "Somewhat Famous" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } } ], "Count": 2, "ScannedCount": 2, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 0.5, "Table": { "CapacityUnits": 0.0 }, "LocalSecondaryIndexes": { "AlbumTitleIndex": { "CapacityUnits": 0.5 } } } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB のクエリオペレーション」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」の「クエリ
」を参照してください。
-
次の例は、restore-table-from-backup
を使用する方法を説明しています。
- AWS CLI
-
既存のバックアップから DynamoDB テーブルを復元するには
次の
restore-table-from-backup
例では、既存のバックアップから指定されたテーブルを復元します。aws dynamodb restore-table-from-backup \ --target-table-name
MusicCollection
\ --backup-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "TableName": "MusicCollection2", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": 1576618274.326, "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection2", "TableId": "114865c9-5ef3-496c-b4d1-c4cbdd2d44fb", "BillingModeSummary": { "BillingMode": "PROVISIONED" }, "RestoreSummary": { "SourceBackupArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a", "SourceTableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "RestoreDateTime": 1576616366.715, "RestoreInProgress": true } } }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のオンデマンドバックアップと復元」を参照してください。 DynamoDB
-
API の詳細については、 AWS CLI コマンドリファレンスの RestoreTableFromBackup
を参照してください。
-
次の例は、restore-table-to-point-in-time
を使用する方法を説明しています。
- AWS CLI
-
DynamoDB テーブルをポイントインタイムに復元するには
次の
restore-table-to-point-in-time
例では、MusicCollection
テーブルを指定された時点に復元します。aws dynamodb restore-table-to-point-in-time \ --source-table-name
MusicCollection
\ --target-table-nameMusicCollectionRestore
\ --restore-date-time1576622404.0
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "TableName": "MusicCollectionRestore", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableStatus": "CREATING", "CreationDateTime": 1576623311.86, "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "TableSizeBytes": 0, "ItemCount": 0, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollectionRestore", "TableId": "befd9e0e-1843-4dc6-a147-d6d00e85cb1f", "BillingModeSummary": { "BillingMode": "PROVISIONED" }, "RestoreSummary": { "SourceTableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "RestoreDateTime": 1576622404.0, "RestoreInProgress": true } } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「DynamoDB の Point-in-Time Recovery」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のRestoreTableToPointInTime
」を参照してください。
-
次の例は、scan
を使用する方法を説明しています。
- AWS CLI
-
テーブルをスキャンするには
次の
scan
の例は、MusicCollection
テーブル全体をスキャンし、その結果をアーティスト「No One You Know」の曲に絞り込みます。各項目について、アルバムタイトルと曲タイトルのみが返されます。aws dynamodb scan \ --table-name
MusicCollection
\ --filter-expression"Artist = :a"
\ --projection-expression"#ST, #AT"
\ --expression-attribute-namesfile://expression-attribute-names.json
\ --expression-attribute-valuesfile://expression-attribute-values.json
expression-attribute-names.json
の内容:{ "#ST": "SongTitle", "#AT":"AlbumTitle" }
expression-attribute-values.json
の内容:{ ":a": {"S": "No One You Know"} }
出力:
{ "Count": 2, "Items": [ { "SongTitle": { "S": "Call Me Today" }, "AlbumTitle": { "S": "Somewhat Famous" } }, { "SongTitle": { "S": "Scared of My Shadow" }, "AlbumTitle": { "S": "Blue Sky Blues" } } ], "ScannedCount": 3, "ConsumedCapacity": null }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「DynamoDB でのスキャンの使用」を参照してください。
-
API の詳細については、 AWS CLI コマンドリファレンスの「スキャン
」を参照してください。
-
次のコード例は、tag-resource
を使用する方法を示しています。
- AWS CLI
-
DynamoDB リソースにタグを追加するには
次の
tag-resource
例では、タグキーと値のペアをMusicCollection
テーブルに追加します。aws dynamodb tag-resource \ --resource-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection
\ --tagsKey=Owner,Value=blueTeam
このコマンドでは何も出力されません。
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のタグ付け」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のTagResource
」を参照してください。
-
次のコード例は、transact-get-items
を使用する方法を示しています。
- AWS CLI
-
1 つ以上のテーブルから複数の項目をアトミックに取得するには
次の
transact-get-items
例では、複数の項目をアトミックに取得します。aws dynamodb transact-get-items \ --transact-items
file://transact-items.json
\ --return-consumed-capacityTOTAL
transact-items.json
の内容:[ { "Get": { "Key": { "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }, "TableName": "MusicCollection" } }, { "Get": { "Key": { "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"} }, "TableName": "MusicCollection" } } ]
出力:
{ "ConsumedCapacity": [ { "TableName": "MusicCollection", "CapacityUnits": 4.0, "ReadCapacityUnits": 4.0 } ], "Responses": [ { "Item": { "AlbumTitle": { "S": "Songs About Life" }, "Artist": { "S": "Acme Band" }, "SongTitle": { "S": "Happy Day" } } }, { "Item": { "AlbumTitle": { "S": "Somewhat Famous" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } } } ] }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB トランザクションによる複雑なワークフローの管理」を参照してください。 DynamoDB
-
API の詳細については、 AWS CLI コマンドリファレンスの TransactGetItems
を参照してください。
-
次の例は、transact-write-items
を使用する方法を説明しています。
- AWS CLI
-
例 1: 1 つ以上のテーブルに項目をアトミックに書き込むには
次の
transact-write-items
例では、1 つの項目を更新し、別の項目を削除します。いずれかのオペレーションが失敗した場合、またはいずれかの項目にRating
属性が含まれている場合、オペレーションは失敗します。aws dynamodb transact-write-items \ --transact-items
file://transact-items.json
\ --return-consumed-capacityTOTAL
\ --return-item-collection-metricsSIZE
transact-items.json
ファイルの内容:[ { "Update": { "Key": { "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }, "UpdateExpression": "SET AlbumTitle = :newval", "ExpressionAttributeValues": { ":newval": {"S": "Updated Album Title"} }, "TableName": "MusicCollection", "ConditionExpression": "attribute_not_exists(Rating)" } }, { "Delete": { "Key": { "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"} }, "TableName": "MusicCollection", "ConditionExpression": "attribute_not_exists(Rating)" } } ]
出力:
{ "ConsumedCapacity": [ { "TableName": "MusicCollection", "CapacityUnits": 10.0, "WriteCapacityUnits": 10.0 } ], "ItemCollectionMetrics": { "MusicCollection": [ { "ItemCollectionKey": { "Artist": { "S": "No One You Know" } }, "SizeEstimateRangeGB": [ 0.0, 1.0 ] }, { "ItemCollectionKey": { "Artist": { "S": "Acme Band" } }, "SizeEstimateRangeGB": [ 0.0, 1.0 ] } ] } }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB トランザクションによる複雑なワークフローの管理」を参照してください。 DynamoDB
例 2: クライアントリクエストトークンを使用してアイテムをアトミックに書き込むには
次のコマンドは、クライアントリクエストトークンを使用して idempotent
transact-write-items
を呼び出します。つまり、複数の呼び出しは 1 回の呼び出しと同じ効果を持ちます。aws dynamodb transact-write-items \ --transact-items
file://transact-items.json
\ --client-request-tokenabc123
transact-items.json
ファイルの内容:[ { "Update": { "Key": { "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }, "UpdateExpression": "SET AlbumTitle = :newval", "ExpressionAttributeValues": { ":newval": {"S": "Updated Album Title"} }, "TableName": "MusicCollection", "ConditionExpression": "attribute_not_exists(Rating)" } }, { "Delete": { "Key": { "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"} }, "TableName": "MusicCollection", "ConditionExpression": "attribute_not_exists(Rating)" } } ]
このコマンドでは何も出力されません。
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB トランザクションによる複雑なワークフローの管理」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のTransactWriteItems
」を参照してください。
-
次の例は、untag-resource
を使用する方法を説明しています。
- AWS CLI
-
DynamoDB リソースからタグを削除するには
次の
untag-resource
例では、 キーを持つ タグをMusicCollection
テーブルOwner
から削除します。aws dynamodb untag-resource \ --resource-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection
\ --tag-keysOwner
このコマンドでは何も出力されません。
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB のタグ付け」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUntagResource
」を参照してください。
-
次の例は、update-continuous-backups
を使用する方法を説明しています。
- AWS CLI
-
DynamoDB テーブルの継続的バックアップ設定を更新するには
次の
update-continuous-backups
例では、MusicCollection
テーブルの point-in-time リカバリを有効にします。aws dynamodb update-continuous-backups \ --table-name
MusicCollection
\ --point-in-time-recovery-specificationPointInTimeRecoveryEnabled=true
出力:
{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "ENABLED", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1576622404.0, "LatestRestorableDateTime": 1576622404.0 } } }
詳細については、Amazon DynamoDB デベロッパーガイドの「DynamoDB の Point-in-Time Recovery」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUpdateContinuousBackups
」を参照してください。
-
次の例は、update-contributor-insights
を使用する方法を説明しています。
- AWS CLI
-
テーブルで Contributor Insights を有効にするには
次の
update-contributor-insights
例では、MusicCollection
テーブルとAlbumTitle-index
グローバルセカンダリインデックスで Contributor Insights を有効にします。aws dynamodb update-contributor-insights \ --table-name
MusicCollection
\ --index-nameAlbumTitle-index
\ --contributor-insights-actionENABLE
出力:
{ "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLING" }
詳細については、Amazon DynamoDB デベロッパーガイドの CloudWatch Contributor Insights for DynamoDB を使用したデータアクセスの分析」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUpdateContributorInsights
」を参照してください。
-
次のコード例は、update-global-table-settings
を使用する方法を示しています。
- AWS CLI
-
DynamoDB グローバルテーブルのプロビジョニングされた書き込み容量設定を更新するには
次の
update-global-table-settings
例では、MusicCollection
グローバルテーブルのプロビジョニングされた書き込み容量を 15 に設定します。aws dynamodb update-global-table-settings \ --global-table-name
MusicCollection
\ --global-table-provisioned-write-capacity-units15
出力:
{ "GlobalTableName": "MusicCollection", "ReplicaSettings": [ { "RegionName": "eu-west-1", "ReplicaStatus": "UPDATING", "ReplicaProvisionedReadCapacityUnits": 10, "ReplicaProvisionedReadCapacityAutoScalingSettings": { "AutoScalingDisabled": true }, "ReplicaProvisionedWriteCapacityUnits": 10, "ReplicaProvisionedWriteCapacityAutoScalingSettings": { "AutoScalingDisabled": true } }, { "RegionName": "us-east-1", "ReplicaStatus": "UPDATING", "ReplicaProvisionedReadCapacityUnits": 10, "ReplicaProvisionedReadCapacityAutoScalingSettings": { "AutoScalingDisabled": true }, "ReplicaProvisionedWriteCapacityUnits": 10, "ReplicaProvisionedWriteCapacityAutoScalingSettings": { "AutoScalingDisabled": true } }, { "RegionName": "us-east-2", "ReplicaStatus": "UPDATING", "ReplicaProvisionedReadCapacityUnits": 10, "ReplicaProvisionedReadCapacityAutoScalingSettings": { "AutoScalingDisabled": true }, "ReplicaProvisionedWriteCapacityUnits": 10, "ReplicaProvisionedWriteCapacityAutoScalingSettings": { "AutoScalingDisabled": true } } ] }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「DynamoDB グローバルテーブル」を参照してください。 DynamoDB
-
API の詳細については、 AWS CLI コマンドリファレンスの UpdateGlobalTableSettings
を参照してください。
-
次の例は、update-global-table
を使用する方法を説明しています。
- AWS CLI
-
DynamoDB グローバルテーブルを更新するには
次の
update-global-table
例では、指定されたリージョンのレプリカをMusicCollection
グローバルテーブルに追加します。aws dynamodb update-global-table \ --global-table-name
MusicCollection
\ --replica-updatesCreate={RegionName=eu-west-1}
出力:
{ "GlobalTableDescription": { "ReplicationGroup": [ { "RegionName": "eu-west-1" }, { "RegionName": "us-east-2" }, { "RegionName": "us-east-1" } ], "GlobalTableArn": "arn:aws:dynamodb::123456789012:global-table/MusicCollection", "CreationDateTime": 1576625818.532, "GlobalTableStatus": "ACTIVE", "GlobalTableName": "MusicCollection" } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「DynamoDB グローバルテーブル」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUpdateGlobalTable
」を参照してください。
-
次の例は、update-item
を使用する方法を説明しています。
- AWS CLI
-
例 1: テーブル内の項目を更新するには
次の
update-item
の例では、MusicCollection
テーブルの項目を更新します。新しい属性 (Year
) を追加して、AlbumTitle
属性を更新します。更新後に表示される項目内の属性はすべて、レスポンスで返されます。aws dynamodb update-item \ --table-name
MusicCollection
\ --keyfile://key.json
\ --update-expression"SET #Y = :y, #AT = :t"
\ --expression-attribute-namesfile://expression-attribute-names.json
\ --expression-attribute-valuesfile://expression-attribute-values.json
\ --return-valuesALL_NEW
\ --return-consumed-capacityTOTAL
\ --return-item-collection-metricsSIZE
key.json
の内容:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }
expression-attribute-names.json
の内容:{ "#Y":"Year", "#AT":"AlbumTitle" }
expression-attribute-values.json
の内容:{ ":y":{"N": "2015"}, ":t":{"S": "Louder Than Ever"} }
出力:
{ "Attributes": { "AlbumTitle": { "S": "Louder Than Ever" }, "Awards": { "N": "10" }, "Artist": { "S": "Acme Band" }, "Year": { "N": "2015" }, "SongTitle": { "S": "Happy Day" } }, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 3.0 }, "ItemCollectionMetrics": { "ItemCollectionKey": { "Artist": { "S": "Acme Band" } }, "SizeEstimateRangeGB": [ 0.0, 1.0 ] } }
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「項目を書き込みます」を参照してください。
例 2: 項目を条件付きで更新するには
次の例は、既存の項目に
Year
属性がない場合にのみ、MusicCollection
テーブル内の項目を更新します。aws dynamodb update-item \ --table-name
MusicCollection
\ --keyfile://key.json
\ --update-expression"SET #Y = :y, #AT = :t"
\ --expression-attribute-namesfile://expression-attribute-names.json
\ --expression-attribute-valuesfile://expression-attribute-values.json
\ --condition-expression"attribute_not_exists(#Y)"
key.json
の内容:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }
expression-attribute-names.json
の内容:{ "#Y":"Year", "#AT":"AlbumTitle" }
expression-attribute-values.json
の内容:{ ":y":{"N": "2015"}, ":t":{"S": "Louder Than Ever"} }
項目にすでに
Year
属性がある場合、DynamoDB は次の出力を返します。An error occurred (ConditionalCheckFailedException) when calling the UpdateItem operation: The conditional request failed
詳細については、「Amazon DynamoDB ディベロッパーガイド」の「項目を書き込みます」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUpdateItem
」を参照してください。
-
次の例は、update-table-replica-auto-scaling
を使用する方法を説明しています。
- AWS CLI
-
グローバルテーブルのレプリカ間で自動スケーリング設定を更新するには
次の
update-table-replica-auto-scaling
例では、指定されたグローバルテーブルのレプリカ間で書き込み容量の自動スケーリング設定を更新します。aws dynamodb update-table-replica-auto-scaling \ --table-name
MusicCollection
\ --provisioned-write-capacity-auto-scaling-updatefile://auto-scaling-policy.json
auto-scaling-policy.json
の内容:{ "MinimumUnits": 10, "MaximumUnits": 100, "AutoScalingDisabled": false, "ScalingPolicyUpdate": { "PolicyName": "DynamoDBWriteCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 80 } } }
出力:
{ "TableAutoScalingDescription": { "TableName": "MusicCollection", "TableStatus": "ACTIVE", "Replicas": [ { "RegionName": "eu-central-1", "GlobalSecondaryIndexes": [], "ReplicaProvisionedReadCapacityAutoScalingSettings": { "MinimumUnits": 5, "MaximumUnits": 40000, "AutoScalingRoleArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", "ScalingPolicies": [ { "PolicyName": "DynamoDBReadCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 70.0 } } ] }, "ReplicaProvisionedWriteCapacityAutoScalingSettings": { "MinimumUnits": 10, "MaximumUnits": 100, "AutoScalingRoleArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", "ScalingPolicies": [ { "PolicyName": "DynamoDBWriteCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 80.0 } } ] }, "ReplicaStatus": "ACTIVE" }, { "RegionName": "us-east-1", "GlobalSecondaryIndexes": [], "ReplicaProvisionedReadCapacityAutoScalingSettings": { "MinimumUnits": 5, "MaximumUnits": 40000, "AutoScalingRoleArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", "ScalingPolicies": [ { "PolicyName": "DynamoDBReadCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 70.0 } } ] }, "ReplicaProvisionedWriteCapacityAutoScalingSettings": { "MinimumUnits": 10, "MaximumUnits": 100, "AutoScalingRoleArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", "ScalingPolicies": [ { "PolicyName": "DynamoDBWriteCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 80.0 } } ] }, "ReplicaStatus": "ACTIVE" }, { "RegionName": "us-east-2", "GlobalSecondaryIndexes": [], "ReplicaProvisionedReadCapacityAutoScalingSettings": { "MinimumUnits": 5, "MaximumUnits": 40000, "AutoScalingRoleArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", "ScalingPolicies": [ { "PolicyName": "DynamoDBReadCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 70.0 } } ] }, "ReplicaProvisionedWriteCapacityAutoScalingSettings": { "MinimumUnits": 10, "MaximumUnits": 100, "AutoScalingRoleArn": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", "ScalingPolicies": [ { "PolicyName": "DynamoDBWriteCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 80.0 } } ] }, "ReplicaStatus": "ACTIVE" } ] } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「DynamoDB グローバルテーブル」を参照してください。 DynamoDB
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUpdateTableReplicaAutoScaling
」を参照してください。
-
次の例は、update-table
を使用する方法を説明しています。
- AWS CLI
-
例 1: テーブルの請求モードを変更するには
次の
update-table
例は、MusicCollection
テーブルにプロビジョニングされた読み取り/書き込みキャパシティを増やします。aws dynamodb update-table \ --table-name
MusicCollection
\ --billing-modePROVISIONED
\ --provisioned-throughputReadCapacityUnits=15,WriteCapacityUnits=10
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "AlbumTitle", "AttributeType": "S" }, { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "TableName": "MusicCollection", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableStatus": "UPDATING", "CreationDateTime": "2020-05-26T15:59:49.473000-07:00", "ProvisionedThroughput": { "LastIncreaseDateTime": "2020-07-28T13:18:18.921000-07:00", "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 15, "WriteCapacityUnits": 10 }, "TableSizeBytes": 182, "ItemCount": 2, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "TableId": "abcd0123-01ab-23cd-0123-abcdef123456", "BillingModeSummary": { "BillingMode": "PROVISIONED", "LastUpdateToPayPerRequestDateTime": "2020-07-28T13:14:48.366000-07:00" } } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「テーブルの更新」を参照してください。
例 2: グローバルセカンダリインデックスを作成するには
次の例は、
MusicCollection
テーブルにグローバルセカンダリインデックスを追加します。aws dynamodb update-table \ --table-name
MusicCollection
\ --attribute-definitionsAttributeName=AlbumTitle,AttributeType=S
\ --global-secondary-index-updatesfile://gsi-updates.json
gsi-updates.json
の内容:[ { "Create": { "IndexName": "AlbumTitle-index", "KeySchema": [ { "AttributeName": "AlbumTitle", "KeyType": "HASH" } ], "ProvisionedThroughput": { "ReadCapacityUnits": 10, "WriteCapacityUnits": 10 }, "Projection": { "ProjectionType": "ALL" } } } ]
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "AlbumTitle", "AttributeType": "S" }, { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "TableName": "MusicCollection", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableStatus": "UPDATING", "CreationDateTime": "2020-05-26T15:59:49.473000-07:00", "ProvisionedThroughput": { "LastIncreaseDateTime": "2020-07-28T12:59:17.537000-07:00", "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 15, "WriteCapacityUnits": 10 }, "TableSizeBytes": 182, "ItemCount": 2, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "TableId": "abcd0123-01ab-23cd-0123-abcdef123456", "BillingModeSummary": { "BillingMode": "PROVISIONED", "LastUpdateToPayPerRequestDateTime": "2020-07-28T13:14:48.366000-07:00" }, "GlobalSecondaryIndexes": [ { "IndexName": "AlbumTitle-index", "KeySchema": [ { "AttributeName": "AlbumTitle", "KeyType": "HASH" } ], "Projection": { "ProjectionType": "ALL" }, "IndexStatus": "CREATING", "Backfilling": false, "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 10 }, "IndexSizeBytes": 0, "ItemCount": 0, "IndexArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/index/AlbumTitle-index" } ] } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「テーブルの更新」を参照してください。
例 3: テーブルで DynamoDB Streams を有効化するには
次のコマンドは、
MusicCollection
テーブルで DynamoDB Streams を有効化します。aws dynamodb update-table \ --table-name
MusicCollection
\ --stream-specificationStreamEnabled=true,StreamViewType=NEW_IMAGE
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "AlbumTitle", "AttributeType": "S" }, { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "TableName": "MusicCollection", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableStatus": "UPDATING", "CreationDateTime": "2020-05-26T15:59:49.473000-07:00", "ProvisionedThroughput": { "LastIncreaseDateTime": "2020-07-28T12:59:17.537000-07:00", "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 15, "WriteCapacityUnits": 10 }, "TableSizeBytes": 182, "ItemCount": 2, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "TableId": "abcd0123-01ab-23cd-0123-abcdef123456", "BillingModeSummary": { "BillingMode": "PROVISIONED", "LastUpdateToPayPerRequestDateTime": "2020-07-28T13:14:48.366000-07:00" }, "LocalSecondaryIndexes": [ { "IndexName": "AlbumTitleIndex", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "AlbumTitle", "KeyType": "RANGE" } ], "Projection": { "ProjectionType": "INCLUDE", "NonKeyAttributes": [ "Year", "Genre" ] }, "IndexSizeBytes": 139, "ItemCount": 2, "IndexArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/index/AlbumTitleIndex" } ], "GlobalSecondaryIndexes": [ { "IndexName": "AlbumTitle-index", "KeySchema": [ { "AttributeName": "AlbumTitle", "KeyType": "HASH" } ], "Projection": { "ProjectionType": "ALL" }, "IndexStatus": "ACTIVE", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 10 }, "IndexSizeBytes": 0, "ItemCount": 0, "IndexArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/index/AlbumTitle-index" } ], "StreamSpecification": { "StreamEnabled": true, "StreamViewType": "NEW_IMAGE" }, "LatestStreamLabel": "2020-07-28T21:53:39.112", "LatestStreamArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/stream/2020-07-28T21:53:39.112" } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「テーブルの更新」を参照してください。
例 4: サーバー側の暗号化を有効化するには
次の例は、
MusicCollection
テーブルでサーバー側の暗号化を有効します。aws dynamodb update-table \ --table-name
MusicCollection
\ --sse-specificationEnabled=true,SSEType=KMS
出力:
{ "TableDescription": { "AttributeDefinitions": [ { "AttributeName": "AlbumTitle", "AttributeType": "S" }, { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "TableName": "MusicCollection", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "TableStatus": "ACTIVE", "CreationDateTime": "2020-05-26T15:59:49.473000-07:00", "ProvisionedThroughput": { "LastIncreaseDateTime": "2020-07-28T12:59:17.537000-07:00", "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 15, "WriteCapacityUnits": 10 }, "TableSizeBytes": 182, "ItemCount": 2, "TableArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection", "TableId": "abcd0123-01ab-23cd-0123-abcdef123456", "BillingModeSummary": { "BillingMode": "PROVISIONED", "LastUpdateToPayPerRequestDateTime": "2020-07-28T13:14:48.366000-07:00" }, "LocalSecondaryIndexes": [ { "IndexName": "AlbumTitleIndex", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "AlbumTitle", "KeyType": "RANGE" } ], "Projection": { "ProjectionType": "INCLUDE", "NonKeyAttributes": [ "Year", "Genre" ] }, "IndexSizeBytes": 139, "ItemCount": 2, "IndexArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/index/AlbumTitleIndex" } ], "GlobalSecondaryIndexes": [ { "IndexName": "AlbumTitle-index", "KeySchema": [ { "AttributeName": "AlbumTitle", "KeyType": "HASH" } ], "Projection": { "ProjectionType": "ALL" }, "IndexStatus": "ACTIVE", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "ReadCapacityUnits": 10, "WriteCapacityUnits": 10 }, "IndexSizeBytes": 0, "ItemCount": 0, "IndexArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/index/AlbumTitle-index" } ], "StreamSpecification": { "StreamEnabled": true, "StreamViewType": "NEW_IMAGE" }, "LatestStreamLabel": "2020-07-28T21:53:39.112", "LatestStreamArn": "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/stream/2020-07-28T21:53:39.112", "SSEDescription": { "Status": "UPDATING" } } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「テーブルの更新」を参照してください。
-
API の詳細については、 AWS CLI コマンドリファレンスの UpdateTable
を参照してください。
-
次の例は、update-time-to-live
を使用する方法を説明しています。
- AWS CLI
-
テーブルの Time to Live 設定を更新するには
次の
update-time-to-live
例は、指定したテーブルの Time to Live を有効にします。aws dynamodb update-time-to-live \ --table-name
MusicCollection
\ --time-to-live-specificationEnabled=true,AttributeName=ttl
出力:
{ "TimeToLiveSpecification": { "Enabled": true, "AttributeName": "ttl" } }
詳細については、「Amazon DynamoDB デベロッパーガイド」の「Time to Live (TTL)」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」のUpdateTimeToLive
」を参照してください。
-