Esempi di utilizzo di DynamoDB AWS CLI - AWS Command Line Interface

Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di utilizzo di DynamoDB AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con DynamoDB.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Mentre le azioni mostrano come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarebatch-get-item.

AWS CLI

Per recuperare più elementi da una tabella

L'batch-get-itemsesempio seguente legge più elementi dalla MusicCollection tabella utilizzando un batch di tre GetItem richieste e richiede il numero di unità di capacità di lettura utilizzate dall'operazione. Il comando restituisce solo l'AlbumTitleattributo.

aws dynamodb batch-get-item \ --request-items file://request-items.json \ --return-consumed-capacity TOTAL

Contenuto di 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" } }

Output:

{ "Responses": { "MusicCollection": [ { "AlbumTitle": { "S": "Somewhat Famous" } }, { "AlbumTitle": { "S": "Blue Sky Blues" } }, { "AlbumTitle": { "S": "Louder Than Ever" } } ] }, "UnprocessedKeys": {}, "ConsumedCapacity": [ { "TableName": "MusicCollection", "CapacityUnits": 1.5 } ] }

Per ulteriori informazioni, consulta Batch Operations nella Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta AWS CLI Command BatchGetItemReference.

Il seguente esempio di codice mostra come utilizzarebatch-write-item.

AWS CLI

Per aggiungere più elementi a una tabella

L'batch-write-itemesempio seguente aggiunge tre nuovi elementi alla MusicCollection tabella utilizzando un batch di tre PutItem richieste. Richiede inoltre informazioni sul numero di unità di capacità di scrittura utilizzate dall'operazione e sulle eventuali raccolte di elementi modificate dall'operazione.

aws dynamodb batch-write-item \ --request-items file://request-items.json \ --return-consumed-capacity INDEXES \ --return-item-collection-metrics SIZE

Contenuto di 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"} } } } ] }

Output:

{ "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 } } } ] }

Per ulteriori informazioni, consulta Batch Operations nella Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta AWS CLI Command BatchWriteItemReference.

Il seguente esempio di codice mostra come utilizzarecreate-backup.

AWS CLI

Per creare un backup per una tabella DynamoDB esistente

L'create-backupesempio seguente crea un backup della MusicCollection tabella.

aws dynamodb create-backup \ --table-name MusicCollection \ --backup-name MusicCollectionBackup

Output:

{ "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 } }

Per ulteriori informazioni, consulta Backup e ripristino su richiesta per DynamoDB nella Amazon DynamoDB Developer Guide.

  • Per i API dettagli, consulta Command Reference. CreateBackupAWS CLI

Il seguente esempio di codice mostra come utilizzarecreate-global-table.

AWS CLI

Per creare una tabella globale

L'create-global-tableesempio seguente crea una tabella globale da due tabelle identiche nelle AWS regioni separate specificate.

aws dynamodb create-global-table \ --global-table-name MusicCollection \ --replication-group RegionName=us-east-2 RegionName=us-east-1 \ --region us-east-2

Output:

{ "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" } }

Per ulteriori informazioni, consulta DynamoDB Global Tables nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-table.

AWS CLI

Esempio 1: creare una tabella con tag

L'create-tableesempio seguente utilizza gli attributi e lo schema chiave specificati per creare una tabella denominataMusicCollection. Questa tabella utilizza la velocità effettiva assegnata ed è crittografata a riposo utilizzando la velocità di trasmissione predefinita AWS . CMK Il comando applica anche un tag alla tabella, con una chiave di Owner e un valore di. blueTeam

aws dynamodb create-table \ --table-name MusicCollection \ --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ --tags Key=Owner,Value=blueTeam

Output:

{ "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" } }

Per ulteriori informazioni, consulta Basic Operations for Tables nella Amazon DynamoDB Developer Guide.

Esempio 2: creare una tabella in modalità On-Demand

L'esempio seguente crea una tabella chiamata MusicCollection utilizzando la modalità on-demand, anziché la modalità throughput assegnata. Questa funzionalità è utile per le tabelle con carichi di lavoro imprevedibili.

aws dynamodb create-table \ --table-name MusicCollection \ --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --billing-mode PAY_PER_REQUEST

Output:

{ "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" } } }

Per ulteriori informazioni, consulta Basic Operations for Tables nella Amazon DynamoDB Developer Guide.

Esempio 3: creare una tabella e crittografarla con un Customer Managed CMK

L'esempio seguente crea una tabella denominata MusicCollection e la crittografa utilizzando una tabella gestita dal cliente. CMK

aws dynamodb create-table \ --table-name MusicCollection \ --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ --sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234

Output:

{ "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" } } }

Per ulteriori informazioni, consulta Basic Operations for Tables nella Amazon DynamoDB Developer Guide.

Esempio 4: creare una tabella con un indice secondario locale

L'esempio seguente utilizza gli attributi e lo schema chiave specificati per creare una tabella denominata MusicCollection con un indice secondario locale denominatoAlbumTitleIndex.

aws dynamodb create-table \ --table-name MusicCollection \ --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S AttributeName=AlbumTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=10,WriteCapacityUnits=5 \ --local-secondary-indexes \ "[ { \"IndexName\": \"AlbumTitleIndex\", \"KeySchema\": [ {\"AttributeName\": \"Artist\",\"KeyType\":\"HASH\"}, {\"AttributeName\": \"AlbumTitle\",\"KeyType\":\"RANGE\"} ], \"Projection\": { \"ProjectionType\": \"INCLUDE\", \"NonKeyAttributes\": [\"Genre\", \"Year\"] } } ]"

Output:

{ "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" } ] } }

Per ulteriori informazioni, consulta Basic Operations for Tables nella Amazon DynamoDB Developer Guide.

Esempio 5: creare una tabella con un indice secondario globale

L'esempio seguente crea una tabella denominata GameScores con un indice secondario globale chiamatoGameTitleIndex. La tabella base ha una chiave di partizione UserId e una chiave di ordinamento diGameTitle, che consentono di trovare il punteggio migliore di un singolo utente per un gioco specifico in modo efficiente, mentre GSI ha una chiave di partizione GameTitle e una chiave di ordinamento diTopScore, che consentono di trovare rapidamente il punteggio complessivo più alto per un determinato gioco.

aws dynamodb create-table \ --table-name GameScores \ --attribute-definitions AttributeName=UserId,AttributeType=S AttributeName=GameTitle,AttributeType=S AttributeName=TopScore,AttributeType=N \ --key-schema AttributeName=UserId,KeyType=HASH \ AttributeName=GameTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=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 } } ]"

Output:

{ "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" } ] } }

Per ulteriori informazioni, consulta Basic Operations for Tables nella Amazon DynamoDB Developer Guide.

Esempio 6: creare una tabella con più indici secondari globali contemporaneamente

L'esempio seguente crea una tabella denominata GameScores con due indici secondari globali. Gli GSI schemi vengono passati tramite un file, anziché sulla riga di comando.

aws dynamodb create-table \ --table-name GameScores \ --attribute-definitions AttributeName=UserId,AttributeType=S AttributeName=GameTitle,AttributeType=S AttributeName=TopScore,AttributeType=N AttributeName=Date,AttributeType=S \ --key-schema AttributeName=UserId,KeyType=HASH AttributeName=GameTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=10,WriteCapacityUnits=5 \ --global-secondary-indexes file://gsi.json

Contenuto di 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 } } ]

Output:

{ "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" } ] } }

Per ulteriori informazioni, consulta Basic Operations for Tables nella Amazon DynamoDB Developer Guide.

Esempio 7: creare una tabella con Streams abilitato

L'esempio seguente crea una tabella chiamata GameScores con DynamoDB Streams abilitato. Sia le immagini nuove che quelle vecchie di ogni elemento verranno scritte nello stream.

aws dynamodb create-table \ --table-name GameScores \ --attribute-definitions AttributeName=UserId,AttributeType=S AttributeName=GameTitle,AttributeType=S \ --key-schema AttributeName=UserId,KeyType=HASH AttributeName=GameTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=10,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=TRUE,StreamViewType=NEW_AND_OLD_IMAGES

Output:

{ "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" } }

Per ulteriori informazioni, consulta Basic Operations for Tables nella Amazon DynamoDB Developer Guide.

Esempio 8: creare una tabella con Keys-Only Stream abilitato

L'esempio seguente crea una tabella chiamata GameScores con DynamoDB Streams abilitato. Nel flusso vengono scritti solo gli attributi chiave degli elementi modificati.

aws dynamodb create-table \ --table-name GameScores \ --attribute-definitions AttributeName=UserId,AttributeType=S AttributeName=GameTitle,AttributeType=S \ --key-schema AttributeName=UserId,KeyType=HASH AttributeName=GameTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=10,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=TRUE,StreamViewType=KEYS_ONLY

Output:

{ "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 } }

Per ulteriori informazioni, consulta Change data capture for DynamoDB Streams nella Amazon DynamoDB Developer Guide.

Esempio 9: creare una tabella con la classe Standard Infrequent Access

L'esempio seguente crea una tabella chiamata GameScores e assegna la classe di tabella Standard-Infrequent Access (DynamoDB Standard-IA). Questa classe di tabelle è ottimizzata perché lo storage è il costo principale.

aws dynamodb create-table \ --table-name GameScores \ --attribute-definitions AttributeName=UserId,AttributeType=S AttributeName=GameTitle,AttributeType=S \ --key-schema AttributeName=UserId,KeyType=HASH AttributeName=GameTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=10,WriteCapacityUnits=5 \ --table-class STANDARD_INFREQUENT_ACCESS

Output:

{ "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 } }

Per ulteriori informazioni, consulta Table classes nella Amazon DynamoDB Developer Guide.

Esempio 10: creare una tabella con la protezione da eliminazione abilitata

L'esempio seguente crea una tabella denominata GameScores e abilita la protezione da eliminazione.

aws dynamodb create-table \ --table-name GameScores \ --attribute-definitions AttributeName=UserId,AttributeType=S AttributeName=GameTitle,AttributeType=S \ --key-schema AttributeName=UserId,KeyType=HASH AttributeName=GameTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=10,WriteCapacityUnits=5 \ --deletion-protection-enabled

Output:

{ "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 } }

Per ulteriori informazioni, consulta Using Delection Protection nella Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta AWS CLI Command CreateTableReference.

Il seguente esempio di codice mostra come utilizzaredelete-backup.

AWS CLI

Per eliminare un backup DynamoDB esistente

L'delete-backupesempio seguente elimina il backup esistente specificato.

aws dynamodb delete-backup \ --backup-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a

Output:

{ "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": {} } }

Per ulteriori informazioni, consulta Backup e ripristino su richiesta per DynamoDB nella Amazon DynamoDB Developer Guide.

  • Per i API dettagli, consulta Command Reference. DeleteBackupAWS CLI

Il seguente esempio di codice mostra come utilizzaredelete-item.

AWS CLI

Esempio 1: Per eliminare un elemento

L'delete-itemesempio seguente elimina un elemento dalla MusicCollection tabella e richiede i dettagli sull'elemento che è stato eliminato e sulla capacità utilizzata dalla richiesta.

aws dynamodb delete-item \ --table-name MusicCollection \ --key file://key.json \ --return-values ALL_OLD \ --return-consumed-capacity TOTAL \ --return-item-collection-metrics SIZE

Contenuto di key.json.

{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Scared of My Shadow"} }

Output:

{ "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 ] } }

Per ulteriori informazioni, consulta Writing an Item in Amazon DynamoDB Developer Guide.

Esempio 2: eliminare un elemento in modo condizionale

L'esempio seguente elimina un articolo dalla ProductCatalog tabella solo se ProductCategory è uno Sporting Goods o l'altro Gardening Supplies e il suo prezzo è compreso tra 500 e 600. Restituisce i dettagli sull'elemento che è stato eliminato.

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-names file://names.json \ --expression-attribute-values file://values.json \ --return-values ALL_OLD

Contenuto di names.json.

{ "#P": "Price" }

Contenuto di values.json.

{ ":cat1": {"S": "Sporting Goods"}, ":cat2": {"S": "Gardening Supplies"}, ":lo": {"N": "500"}, ":hi": {"N": "600"} }

Output:

{ "Attributes": { "Id": { "N": "456" }, "Price": { "N": "550" }, "ProductCategory": { "S": "Sporting Goods" } } }

Per ulteriori informazioni, consulta Writing an Item in Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta AWS CLI Command DeleteItemReference.

Il seguente esempio di codice mostra come utilizzaredelete-table.

AWS CLI

Per eliminare una tabella

L'delete-tableesempio seguente elimina la MusicCollection tabella.

aws dynamodb delete-table \ --table-name MusicCollection

Output:

{ "TableDescription": { "TableStatus": "DELETING", "TableSizeBytes": 0, "ItemCount": 0, "TableName": "MusicCollection", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "WriteCapacityUnits": 5, "ReadCapacityUnits": 5 } } }

Per ulteriori informazioni, consulta Eliminazione di una tabella nella Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta Command DeleteTableReference AWS CLI .

Il seguente esempio di codice mostra come utilizzaredescribe-backup.

AWS CLI

Per ottenere informazioni su un backup esistente di una tabella

L'describe-backupesempio seguente visualizza informazioni sul backup esistente specificato.

aws dynamodb describe-backup \ --backup-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a

Output:

{ "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": {} } }

Per ulteriori informazioni, consulta Backup e ripristino su richiesta per DynamoDB nella Amazon DynamoDB Developer Guide.

  • Per i API dettagli, consulta Command Reference. DescribeBackupAWS CLI

Il seguente esempio di codice mostra come utilizzaredescribe-continuous-backups.

AWS CLI

Per ottenere informazioni sui backup continui per una tabella DynamoDB

L'describe-continuous-backupsesempio seguente mostra i dettagli sulle impostazioni di backup continuo per la tabella. MusicCollection

aws dynamodb describe-continuous-backups \ --table-name MusicCollection

Output:

{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "ENABLED", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "DISABLED" } } }

Per ulteriori informazioni, consulta Point-in-Time Recovery for DynamoDB nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-contributor-insights.

AWS CLI

Per visualizzare le impostazioni di Contributor Insights per una tabella DynamoDB

L'describe-contributor-insightsesempio seguente visualizza le impostazioni di Contributor Insights per la MusicCollection tabella e l'AlbumTitle-indexindice secondario globale.

aws dynamodb describe-contributor-insights \ --table-name MusicCollection \ --index-name AlbumTitle-index

Output:

{ "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 }

Per ulteriori informazioni, consulta Analyzing Data Access Using CloudWatch Contributor Insights for DynamoDB nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-endpoints.

AWS CLI

Per visualizzare le informazioni sugli endpoint regionali

L'describe-endpointsesempio seguente mostra i dettagli sugli endpoint per la regione corrente AWS .

aws dynamodb describe-endpoints

Output:

{ "Endpoints": [ { "Address": "dynamodb.us-west-2.amazonaws.com", "CachePeriodInMinutes": 1440 } ] }

Per ulteriori informazioni, consulta Amazon DynamoDB Endpoints and Quotas nella Guida generale.AWS

Il seguente esempio di codice mostra come utilizzaredescribe-global-table-settings.

AWS CLI

Per ottenere informazioni sulle impostazioni di una tabella globale DynamoDB

L'describe-global-table-settingsesempio seguente mostra le impostazioni per la tabella MusicCollection globale.

aws dynamodb describe-global-table-settings \ --global-table-name MusicCollection

Output:

{ "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 } } ] }

Per ulteriori informazioni, consulta DynamoDB Global Tables nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-global-table.

AWS CLI

Per visualizzare informazioni su una tabella globale DynamoDB

L'describe-global-tableesempio seguente mostra i dettagli sulla tabella MusicCollection globale.

aws dynamodb describe-global-table \ --global-table-name MusicCollection

Output:

{ "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" } }

Per ulteriori informazioni, consulta DynamoDB Global Tables nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-limits.

AWS CLI

Per visualizzare i limiti di capacità assegnati

L'describe-limitsesempio seguente mostra i limiti di capacità prevista per il tuo account nella regione corrente. AWS

aws dynamodb describe-limits

Output:

{ "AccountMaxReadCapacityUnits": 80000, "AccountMaxWriteCapacityUnits": 80000, "TableMaxReadCapacityUnits": 40000, "TableMaxWriteCapacityUnits": 40000 }

Per ulteriori informazioni, consulta Limits in DynamoDB nella Amazon DynamoDB Developer Guide.

  • Per i API dettagli, consulta DescribeLimitsCommand Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzaredescribe-table-replica-auto-scaling.

AWS CLI

Per visualizzare le impostazioni di ridimensionamento automatico tra le repliche di una tabella globale

L'describe-table-replica-auto-scalingesempio seguente visualizza le impostazioni di ridimensionamento automatico tra le repliche della tabella MusicCollection globale.

aws dynamodb describe-table-replica-auto-scaling \ --table-name MusicCollection

Output:

{ "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" } ] } }

Per ulteriori informazioni, consulta DynamoDB Global Tables nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-table.

AWS CLI

Per descrivere una tabella

L'describe-tableesempio seguente descrive la MusicCollection tabella.

aws dynamodb describe-table \ --table-name MusicCollection

Output:

{ "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 } }

Per ulteriori informazioni, consulta Describing a Table nella Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta Command DescribeTableReference AWS CLI .

Il seguente esempio di codice mostra come utilizzaredescribe-time-to-live.

AWS CLI

Per visualizzare le impostazioni Time to Live per una tabella

L'describe-time-to-liveesempio seguente visualizza le impostazioni Time to Live per la MusicCollection tabella.

aws dynamodb describe-time-to-live \ --table-name MusicCollection

Output:

{ "TimeToLiveDescription": { "TimeToLiveStatus": "ENABLED", "AttributeName": "ttl" } }

Per ulteriori informazioni, consulta Time to Live nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-item.

AWS CLI

Esempio 1: leggere un elemento in una tabella

L'get-itemesempio seguente recupera un elemento dalla MusicCollection tabella. La tabella ha una chiave hash-and-range primaria (ArtisteSongTitle), quindi è necessario specificare entrambi questi attributi. Il comando richiede anche informazioni sulla capacità di lettura consumata dall'operazione.

aws dynamodb get-item \ --table-name MusicCollection \ --key file://key.json \ --return-consumed-capacity TOTAL

Contenuto di key.json.

{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }

Output:

{ "Item": { "AlbumTitle": { "S": "Songs About Life" }, "SongTitle": { "S": "Happy Day" }, "Artist": { "S": "Acme Band" } }, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 0.5 } }

Per ulteriori informazioni, consulta Reading an Item nella Amazon DynamoDB Developer Guide.

Esempio 2: leggere un elemento utilizzando una lettura coerente

L'esempio seguente recupera un elemento dalla MusicCollection tabella utilizzando letture fortemente coerenti.

aws dynamodb get-item \ --table-name MusicCollection \ --key file://key.json \ --consistent-read \ --return-consumed-capacity TOTAL

Contenuto di key.json.

{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }

Output:

{ "Item": { "AlbumTitle": { "S": "Songs About Life" }, "SongTitle": { "S": "Happy Day" }, "Artist": { "S": "Acme Band" } }, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 } }

Per ulteriori informazioni, consulta Reading an Item nella Amazon DynamoDB Developer Guide.

Esempio 3: recuperare attributi specifici di un articolo

L'esempio seguente utilizza un'espressione di proiezione per recuperare solo tre attributi dell'elemento desiderato.

aws dynamodb get-item \ --table-name ProductCatalog \ --key '{"Id": {"N": "102"}}' \ --projection-expression "#T, #C, #P" \ --expression-attribute-names file://names.json

Contenuto di names.json.

{ "#T": "Title", "#C": "ProductCategory", "#P": "Price" }

Output:

{ "Item": { "Price": { "N": "20" }, "Title": { "S": "Book 102 Title" }, "ProductCategory": { "S": "Book" } } }

Per ulteriori informazioni, consulta Reading an Item nella Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta AWS CLI Command GetItemReference.

Il seguente esempio di codice mostra come utilizzarelist-backups.

AWS CLI

Esempio 1: Per elencare tutti i backup DynamoDB esistenti

L'list-backupsesempio seguente elenca tutti i backup esistenti.

aws dynamodb list-backups

Output:

{ "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 } ] }

Per ulteriori informazioni, consulta Backup e ripristino su richiesta per DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 2: per elencare i backup creati dall'utente in un intervallo di tempo specifico

L'esempio seguente elenca solo i backup della MusicCollection tabella creati dall'utente (non quelli creati automaticamente da DynamoDB) con una data di creazione compresa tra il 1° gennaio 2020 e il 1° marzo 2020.

aws dynamodb list-backups \ --table-name MusicCollection \ --time-range-lower-bound 1577836800 \ --time-range-upper-bound 1583020800 \ --backup-type USER

Output:

{ "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 } ] }

Per ulteriori informazioni, consulta Backup e ripristino su richiesta per DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 3: limitare le dimensioni della pagina

L'esempio seguente restituisce un elenco di tutti i backup esistenti, ma recupera solo un elemento in ogni chiamata, eseguendo più chiamate se necessario per ottenere l'intero elenco. La limitazione delle dimensioni della pagina è utile quando si eseguono comandi di elenco su un numero elevato di risorse, il che può causare un errore di «timeout» quando si utilizza la dimensione di pagina predefinita di 1000.

aws dynamodb list-backups \ --page-size 1

Output:

{ "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 } ] }

Per ulteriori informazioni, consulta Backup e ripristino su richiesta per DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 4: limitare il numero di articoli restituiti

L'esempio seguente limita il numero di articoli restituiti a 1. La risposta include un NextToken valore con cui recuperare la pagina successiva di risultati.

aws dynamodb list-backups \ --max-items 1

Output:

{ "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" }

Per ulteriori informazioni, consulta Backup e ripristino su richiesta per DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 5: per recuperare la pagina successiva dei risultati

Il comando seguente utilizza il NextToken valore di una precedente chiamata al list-backups comando per recuperare un'altra pagina di risultati. Poiché la risposta in questo caso non include un NextToken valore, sappiamo di aver raggiunto la fine dei risultati.

aws dynamodb list-backups \ --starting-token abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9

Output

{ "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 } ] }

Per ulteriori informazioni, consulta Backup e ripristino su richiesta per DynamoDB nella Amazon DynamoDB Developer Guide.

  • Per i API dettagli, consulta Command Reference. ListBackupsAWS CLI

Il seguente esempio di codice mostra come utilizzarelist-contributor-insights.

AWS CLI

Esempio 1: per visualizzare un elenco di riepiloghi di Contributor Insights

L'list-contributor-insightsesempio seguente visualizza un elenco di riepiloghi di Contributor Insights.

aws dynamodb list-contributor-insights

Output:

{ "ContributorInsightsSummaries": [ { "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "ProductCatalog", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Forum", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Reply", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Thread", "ContributorInsightsStatus": "ENABLED" } ] }

Per ulteriori informazioni, consulta Analyzing Data Access Using CloudWatch Contributor Insights for DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 2: limitare il numero di articoli restituiti

L'esempio seguente limita il numero di articoli restituiti a 4. La risposta include un NextToken valore con cui recuperare la pagina successiva di risultati.

aws dynamodb list-contributor-insights \ --max-results 4

Output:

{ "ContributorInsightsSummaries": [ { "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "ProductCatalog", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Forum", "ContributorInsightsStatus": "ENABLED" } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }

Per ulteriori informazioni, consulta Analyzing Data Access Using CloudWatch Contributor Insights for DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 3: per recuperare la pagina successiva dei risultati

Il comando seguente utilizza il NextToken valore di una precedente chiamata al list-contributor-insights comando per recuperare un'altra pagina di risultati. Poiché la risposta in questo caso non include un NextToken valore, sappiamo di aver raggiunto la fine dei risultati.

aws dynamodb list-contributor-insights \ --max-results 4 \ --next-token abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9

Output:

{ "ContributorInsightsSummaries": [ { "TableName": "Reply", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Thread", "ContributorInsightsStatus": "ENABLED" } ] }

Per ulteriori informazioni, consulta Analyzing Data Access Using CloudWatch Contributor Insights for DynamoDB nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-global-tables.

AWS CLI

Per elencare le tabelle globali DynamoDB esistenti

L'list-global-tablesesempio seguente elenca tutte le tabelle globali esistenti.

aws dynamodb list-global-tables

Output:

{ "GlobalTables": [ { "GlobalTableName": "MusicCollection", "ReplicationGroup": [ { "RegionName": "us-east-2" }, { "RegionName": "us-east-1" } ] } ] }

Per ulteriori informazioni, consulta DynamoDB Global Tables nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-tables.

AWS CLI

Esempio 1: Per elencare le tabelle

L'list-tablesesempio seguente elenca tutte le tabelle associate all' AWS account corrente e alla regione.

aws dynamodb list-tables

Output:

{ "TableNames": [ "Forum", "ProductCatalog", "Reply", "Thread" ] }

Per ulteriori informazioni, consulta Listing Table Names nella Amazon DynamoDB Developer Guide.

Esempio 2: limitare le dimensioni della pagina

L'esempio seguente restituisce un elenco di tutte le tabelle esistenti, ma recupera solo un elemento in ogni chiamata, eseguendo più chiamate se necessario per ottenere l'intero elenco. La limitazione delle dimensioni della pagina è utile quando si eseguono comandi di elenco su un numero elevato di risorse, il che può causare un errore di «timeout» quando si utilizza la dimensione di pagina predefinita di 1000.

aws dynamodb list-tables \ --page-size 1

Output:

{ "TableNames": [ "Forum", "ProductCatalog", "Reply", "Thread" ] }

Per ulteriori informazioni, consulta Listing Table Names nella Amazon DynamoDB Developer Guide.

Esempio 3: limitare il numero di articoli restituiti

L'esempio seguente limita il numero di articoli restituiti a 2. La risposta include un NextToken valore con cui recuperare la pagina successiva di risultati.

aws dynamodb list-tables \ --max-items 2

Output:

{ "TableNames": [ "Forum", "ProductCatalog" ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }

Per ulteriori informazioni, consulta Listing Table Names nella Amazon DynamoDB Developer Guide.

Esempio 4: per recuperare la pagina successiva dei risultati

Il comando seguente utilizza il NextToken valore di una precedente chiamata al list-tables comando per recuperare un'altra pagina di risultati. Poiché la risposta in questo caso non include un NextToken valore, sappiamo di aver raggiunto la fine dei risultati.

aws dynamodb list-tables \ --starting-token abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9

Output:

{ "TableNames": [ "Reply", "Thread" ] }

Per ulteriori informazioni, consulta Listing Table Names nella Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta AWS CLI Command ListTablesReference.

Il seguente esempio di codice mostra come utilizzarelist-tags-of-resource.

AWS CLI

Esempio 1: elencare i tag di una risorsa DynamoDB

L'list-tags-of-resourceesempio seguente visualizza i tag per la MusicCollection tabella.

aws dynamodb list-tags-of-resource \ --resource-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection

Output:

{ "Tags": [ { "Key": "Owner", "Value": "blueTeam" }, { "Key": "Environment", "Value": "Production" } ] }

Per ulteriori informazioni, consulta Tagging for DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 2: limitare il numero di tag restituiti

L'esempio seguente limita il numero di tag restituiti a 1. La risposta include un NextToken valore con cui recuperare la pagina successiva di risultati.

aws dynamodb list-tags-of-resource \ --resource-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection \ --max-items 1

Output:

{ "Tags": [ { "Key": "Owner", "Value": "blueTeam" } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }

Per ulteriori informazioni, consulta Tagging for DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 3: per recuperare la pagina successiva dei risultati

Il comando seguente utilizza il NextToken valore di una precedente chiamata al list-tags-of-resource comando per recuperare un'altra pagina di risultati. Poiché la risposta in questo caso non include un NextToken valore, sappiamo di aver raggiunto la fine dei risultati.

aws dynamodb list-tags-of-resource \ --resource-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection \ --starting-token abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9

Output:

{ "Tags": [ { "Key": "Environment", "Value": "Production" } ] }

Per ulteriori informazioni, consulta Tagging for DynamoDB nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzareput-item.

AWS CLI

Esempio 1: aggiungere un elemento a una tabella

L'put-itemesempio seguente aggiunge un nuovo elemento alla MusicCollectiontabella.

aws dynamodb put-item \ --table-name MusicCollection \ --item file://item.json \ --return-consumed-capacity TOTAL \ --return-item-collection-metrics SIZE

Contenuto di item.json.

{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Greatest Hits"} }

Output:

{ "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 }, "ItemCollectionMetrics": { "ItemCollectionKey": { "Artist": { "S": "No One You Know" } }, "SizeEstimateRangeGB": [ 0.0, 1.0 ] } }

Per ulteriori informazioni, consulta Writing an Item in Amazon DynamoDB Developer Guide.

Esempio 2: sovrascrivere in modo condizionale un elemento in una tabella

L'put-itemesempio seguente sovrascrive un elemento esistente nella MusicCollection tabella solo se tale elemento esistente ha un AlbumTitle attributo con un valore di. Greatest Hits Il comando restituisce il valore precedente dell'elemento.

aws dynamodb put-item \ --table-name MusicCollection \ --item file://item.json \ --condition-expression "#A = :A" \ --expression-attribute-names file://names.json \ --expression-attribute-values file://values.json \ --return-values ALL_OLD

Contenuto di item.json.

{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"} }

Contenuto di names.json.

{ "#A": "AlbumTitle" }

Contenuto di values.json.

{ ":A": {"S": "Greatest Hits"} }

Output:

{ "Attributes": { "AlbumTitle": { "S": "Greatest Hits" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } } }

Se la chiave esiste già, dovresti vedere il seguente risultato:

A client error (ConditionalCheckFailedException) occurred when calling the PutItem operation: The conditional request failed.

Per ulteriori informazioni, consulta Writing an Item in Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta AWS CLI Command PutItemReference.

Il seguente esempio di codice mostra come utilizzarequery.

AWS CLI

Esempio 1: interrogare una tabella

L'queryesempio seguente interroga gli elementi della MusicCollection tabella. La tabella ha una chiave hash-and-range primaria (ArtisteSongTitle), ma questa query specifica solo il valore della chiave hash. Restituisce i titoli delle canzoni dell'artista chiamato «No One You Know».

aws dynamodb query \ --table-name MusicCollection \ --projection-expression "SongTitle" \ --key-condition-expression "Artist = :v1" \ --expression-attribute-values file://expression-attributes.json \ --return-consumed-capacity TOTAL

Contenuto di expression-attributes.json.

{ ":v1": {"S": "No One You Know"} }

Output:

{ "Items": [ { "SongTitle": { "S": "Call Me Today" }, "SongTitle": { "S": "Scared of My Shadow" } } ], "Count": 2, "ScannedCount": 2, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 0.5 } }

Per ulteriori informazioni, consulta Working with Queries in DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 2: interrogare una tabella utilizzando letture fortemente coerenti e attraversare l'indice in ordine decrescente

L'esempio seguente esegue la stessa query del primo esempio, ma restituisce i risultati in ordine inverso e utilizza letture fortemente coerenti.

aws dynamodb query \ --table-name MusicCollection \ --projection-expression "SongTitle" \ --key-condition-expression "Artist = :v1" \ --expression-attribute-values file://expression-attributes.json \ --consistent-read \ --no-scan-index-forward \ --return-consumed-capacity TOTAL

Contenuto di expression-attributes.json.

{ ":v1": {"S": "No One You Know"} }

Output:

{ "Items": [ { "SongTitle": { "S": "Scared of My Shadow" } }, { "SongTitle": { "S": "Call Me Today" } } ], "Count": 2, "ScannedCount": 2, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 } }

Per ulteriori informazioni, consulta Working with Queries in DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 3: per filtrare risultati specifici

L'esempio seguente interroga MusicCollection ma esclude i risultati con valori specifici nell'AlbumTitleattributo. Si noti che ciò non influisce sull'ScannedCountoConsumedCapacity, poiché il filtro viene applicato dopo la lettura degli elementi.

aws dynamodb query \ --table-name MusicCollection \ --key-condition-expression "#n1 = :v1" \ --filter-expression "NOT (#n2 IN (:v2, :v3))" \ --expression-attribute-names file://names.json \ --expression-attribute-values file://values.json \ --return-consumed-capacity TOTAL

Contenuto di values.json.

{ ":v1": {"S": "No One You Know"}, ":v2": {"S": "Blue Sky Blues"}, ":v3": {"S": "Greatest Hits"} }

Contenuto di names.json.

{ "#n1": "Artist", "#n2": "AlbumTitle" }

Output:

{ "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 } }

Per ulteriori informazioni, consulta Working with Queries in DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 4: per recuperare solo il numero di articoli

L'esempio seguente recupera il conteggio degli elementi corrispondenti alla query, ma non recupera nessuno degli elementi stessi.

aws dynamodb query \ --table-name MusicCollection \ --select COUNT \ --key-condition-expression "Artist = :v1" \ --expression-attribute-values file://expression-attributes.json

Contenuto di expression-attributes.json.

{ ":v1": {"S": "No One You Know"} }

Output:

{ "Count": 2, "ScannedCount": 2, "ConsumedCapacity": null }

Per ulteriori informazioni, consulta Working with Queries in DynamoDB nella Amazon DynamoDB Developer Guide.

Esempio 5: interrogare un indice

L'esempio seguente esegue una query sull'indice AlbumTitleIndex secondario locale. La query restituisce tutti gli attributi della tabella di base che sono stati proiettati nell'indice secondario locale. Si noti che quando si esegue una query su un indice secondario locale o su un indice secondario globale, è necessario fornire anche il nome della tabella di base utilizzando il table-name parametro.

aws dynamodb query \ --table-name MusicCollection \ --index-name AlbumTitleIndex \ --key-condition-expression "Artist = :v1" \ --expression-attribute-values file://expression-attributes.json \ --select ALL_PROJECTED_ATTRIBUTES \ --return-consumed-capacity INDEXES

Contenuto di expression-attributes.json.

{ ":v1": {"S": "No One You Know"} }

Output:

{ "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 } } } }

Per ulteriori informazioni, consulta Working with Queries in DynamoDB nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzarerestore-table-from-backup.

AWS CLI

Per ripristinare una tabella DynamoDB da un backup esistente

L'restore-table-from-backupesempio seguente ripristina la tabella specificata da un backup esistente.

aws dynamodb restore-table-from-backup \ --target-table-name MusicCollection \ --backup-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a

Output:

{ "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 } } }

Per ulteriori informazioni, consulta Backup e ripristino su richiesta per DynamoDB nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzarerestore-table-to-point-in-time.

AWS CLI

Per ripristinare una tabella DynamoDB in un determinato momento

L'restore-table-to-point-in-timeesempio seguente ripristina la MusicCollection tabella nel momento specificato.

aws dynamodb restore-table-to-point-in-time \ --source-table-name MusicCollection \ --target-table-name MusicCollectionRestore \ --restore-date-time 1576622404.0

Output:

{ "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 } } }

Per ulteriori informazioni, consulta Point-in-Time Recovery for DynamoDB nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzarescan.

AWS CLI

Per scansionare una tabella

L'scanesempio seguente esegue la scansione dell'intera MusicCollection tabella, quindi restringe i risultati alle canzoni dell'artista «No One You Know». Per ogni elemento, vengono restituiti solo il titolo dell'album e il titolo del brano.

aws dynamodb scan \ --table-name MusicCollection \ --filter-expression "Artist = :a" \ --projection-expression "#ST, #AT" \ --expression-attribute-names file://expression-attribute-names.json \ --expression-attribute-values file://expression-attribute-values.json

Contenuto di expression-attribute-names.json.

{ "#ST": "SongTitle", "#AT":"AlbumTitle" }

Contenuto di expression-attribute-values.json.

{ ":a": {"S": "No One You Know"} }

Output:

{ "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 }

Per ulteriori informazioni, consulta Working with Scans in DynamoDB nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Per aggiungere tag a una risorsa DynamoDB

L'tag-resourceesempio seguente aggiunge una coppia chiave/valore di tag alla tabella. MusicCollection

aws dynamodb tag-resource \ --resource-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection \ --tags Key=Owner,Value=blueTeam

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Tagging for DynamoDB nella Amazon DynamoDB Developer Guide.

  • Per i API dettagli, consulta Command Reference. TagResourceAWS CLI

Il seguente esempio di codice mostra come utilizzaretransact-get-items.

AWS CLI

Per recuperare più elementi atomicamente da una o più tabelle

L'transact-get-itemsesempio seguente recupera più elementi in modo atomico.

aws dynamodb transact-get-items \ --transact-items file://transact-items.json \ --return-consumed-capacity TOTAL

Contenuto di 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" } } ]

Output:

{ "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" } } } ] }

Per ulteriori informazioni, consulta Managing Complex Workflows with DynamoDB Transactions nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzaretransact-write-items.

AWS CLI

Esempio 1: scrivere elementi atomicamente su una o più tabelle

L'transact-write-itemsesempio seguente aggiorna un elemento e ne elimina un altro. L'operazione ha esito negativo se una delle operazioni fallisce o se uno degli elementi contiene un Rating attributo.

aws dynamodb transact-write-items \ --transact-items file://transact-items.json \ --return-consumed-capacity TOTAL \ --return-item-collection-metrics SIZE

Contenuto del transact-items.json file:

[ { "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)" } } ]

Output:

{ "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 ] } ] } }

Per ulteriori informazioni, consulta Managing Complex Workflows with DynamoDB Transactions nella Amazon DynamoDB Developer Guide.

Esempio 2: scrivere elementi in modo atomico utilizzando un token di richiesta del cliente

Il comando seguente utilizza un token di richiesta client per effettuare la chiamata a transact-write-items idempotent, il che significa che più chiamate hanno lo stesso effetto di una singola chiamata.

aws dynamodb transact-write-items \ --transact-items file://transact-items.json \ --client-request-token abc123

Contenuto del file: 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)" } } ]

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Managing Complex Workflows with DynamoDB Transactions nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per rimuovere un tag da una risorsa DynamoDB

L'untag-resourceesempio seguente rimuove il tag con la chiave Owner dalla MusicCollection tabella.

aws dynamodb untag-resource \ --resource-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection \ --tag-keys Owner

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Tagging for DynamoDB nella Amazon DynamoDB Developer Guide.

  • Per i API dettagli, consulta Command Reference. UntagResourceAWS CLI

Il seguente esempio di codice mostra come utilizzareupdate-continuous-backups.

AWS CLI

Per aggiornare le impostazioni di backup continuo per una tabella DynamoDB

L'update-continuous-backupsesempio seguente abilita point-in-time il ripristino della MusicCollection tabella.

aws dynamodb update-continuous-backups \ --table-name MusicCollection \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=true

Output:

{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "ENABLED", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1576622404.0, "LatestRestorableDateTime": 1576622404.0 } } }

Per ulteriori informazioni, consulta Point-in-Time Recovery for DynamoDB nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-contributor-insights.

AWS CLI

Per abilitare Contributor Insights su una tabella

L'update-contributor-insightsesempio seguente abilita Contributor Insights nella MusicCollection tabella e nell'indice secondario AlbumTitle-index globale.

aws dynamodb update-contributor-insights \ --table-name MusicCollection \ --index-name AlbumTitle-index \ --contributor-insights-action ENABLE

Output:

{ "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLING" }

Per ulteriori informazioni, consulta Analyzing Data Access Using CloudWatch Contributor Insights for DynamoDB nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-global-table-settings.

AWS CLI

Per aggiornare le impostazioni della capacità di scrittura assegnata su una tabella globale DynamoDB

L'update-global-table-settingsesempio seguente imposta la capacità di scrittura assegnata alla tabella MusicCollection globale su 15.

aws dynamodb update-global-table-settings \ --global-table-name MusicCollection \ --global-table-provisioned-write-capacity-units 15

Output:

{ "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 } } ] }

Per ulteriori informazioni, consulta DynamoDB Global Tables nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-global-table.

AWS CLI

Per aggiornare una tabella globale DynamoDB

L'update-global-tableesempio seguente aggiunge una replica nella regione specificata alla MusicCollection tabella globale.

aws dynamodb update-global-table \ --global-table-name MusicCollection \ --replica-updates Create={RegionName=eu-west-1}

Output:

{ "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" } }

Per ulteriori informazioni, consulta DynamoDB Global Tables nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-item.

AWS CLI

Esempio 1: aggiornare un elemento in una tabella

L'esempio update-item seguente legge una voce dalla tabella MusicCollection. Aggiunge un nuovo attributo (Year) e modifica l'AlbumTitleattributo. Tutti gli attributi dell'elemento, così come appaiono dopo l'aggiornamento, vengono restituiti nella risposta.

aws dynamodb update-item \ --table-name MusicCollection \ --key file://key.json \ --update-expression "SET #Y = :y, #AT = :t" \ --expression-attribute-names file://expression-attribute-names.json \ --expression-attribute-values file://expression-attribute-values.json \ --return-values ALL_NEW \ --return-consumed-capacity TOTAL \ --return-item-collection-metrics SIZE

Contenuto di key.json.

{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }

Contenuto di expression-attribute-names.json.

{ "#Y":"Year", "#AT":"AlbumTitle" }

Contenuto di expression-attribute-values.json.

{ ":y":{"N": "2015"}, ":t":{"S": "Louder Than Ever"} }

Output:

{ "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 ] } }

Per ulteriori informazioni, consulta Writing an Item in Amazon DynamoDB Developer Guide.

Esempio 2: aggiornare un articolo in modo condizionale

L'esempio seguente aggiorna un elemento nella MusicCollection tabella, ma solo se l'elemento esistente non ha già un Year attributo.

aws dynamodb update-item \ --table-name MusicCollection \ --key file://key.json \ --update-expression "SET #Y = :y, #AT = :t" \ --expression-attribute-names file://expression-attribute-names.json \ --expression-attribute-values file://expression-attribute-values.json \ --condition-expression "attribute_not_exists(#Y)"

Contenuto di key.json.

{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }

Contenuto di expression-attribute-names.json.

{ "#Y":"Year", "#AT":"AlbumTitle" }

Contenuto di expression-attribute-values.json.

{ ":y":{"N": "2015"}, ":t":{"S": "Louder Than Ever"} }

Se l'elemento ha già un Year attributo, DynamoDB restituisce il seguente output.

An error occurred (ConditionalCheckFailedException) when calling the UpdateItem operation: The conditional request failed

Per ulteriori informazioni, consulta Writing an Item in Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta AWS CLI Command UpdateItemReference.

Il seguente esempio di codice mostra come utilizzareupdate-table-replica-auto-scaling.

AWS CLI

Per aggiornare le impostazioni di ridimensionamento automatico tra le repliche di una tabella globale

L'update-table-replica-auto-scalingesempio seguente aggiorna le impostazioni di auto scaling della capacità di scrittura tra le repliche della tabella globale specificata.

aws dynamodb update-table-replica-auto-scaling \ --table-name MusicCollection \ --provisioned-write-capacity-auto-scaling-update file://auto-scaling-policy.json

Contenuto di auto-scaling-policy.json.

{ "MinimumUnits": 10, "MaximumUnits": 100, "AutoScalingDisabled": false, "ScalingPolicyUpdate": { "PolicyName": "DynamoDBWriteCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 80 } } }

Output:

{ "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" } ] } }

Per ulteriori informazioni, consulta DynamoDB Global Tables nella Amazon DynamoDB Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-table.

AWS CLI

Esempio 1: modificare la modalità di fatturazione di una tabella

L'update-tableesempio seguente aumenta la capacità di lettura e scrittura assegnata alla MusicCollection tabella.

aws dynamodb update-table \ --table-name MusicCollection \ --billing-mode PROVISIONED \ --provisioned-throughput ReadCapacityUnits=15,WriteCapacityUnits=10

Output:

{ "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" } } }

Per ulteriori informazioni, consulta Updating a Table nella Amazon DynamoDB Developer Guide.

Esempio 2: creare un indice secondario globale

L'esempio seguente aggiunge un indice secondario globale alla MusicCollection tabella.

aws dynamodb update-table \ --table-name MusicCollection \ --attribute-definitions AttributeName=AlbumTitle,AttributeType=S \ --global-secondary-index-updates file://gsi-updates.json

Contenuto di gsi-updates.json.

[ { "Create": { "IndexName": "AlbumTitle-index", "KeySchema": [ { "AttributeName": "AlbumTitle", "KeyType": "HASH" } ], "ProvisionedThroughput": { "ReadCapacityUnits": 10, "WriteCapacityUnits": 10 }, "Projection": { "ProjectionType": "ALL" } } } ]

Output:

{ "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" } ] } }

Per ulteriori informazioni, consulta Updating a Table nella Amazon DynamoDB Developer Guide.

Esempio 3: abilitare DynamoDB Streams su una tabella

Il comando seguente abilita DynamoDB Streams sulla tabella. MusicCollection

aws dynamodb update-table \ --table-name MusicCollection \ --stream-specification StreamEnabled=true,StreamViewType=NEW_IMAGE

Output:

{ "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" } }

Per ulteriori informazioni, consulta Updating a Table nella Amazon DynamoDB Developer Guide.

Esempio 4: Per abilitare la crittografia lato server

L'esempio seguente abilita la crittografia lato server sulla tabella. MusicCollection

aws dynamodb update-table \ --table-name MusicCollection \ --sse-specification Enabled=true,SSEType=KMS

Output:

{ "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" } } }

Per ulteriori informazioni, consulta Updating a Table nella Amazon DynamoDB Developer Guide.

  • Per API i dettagli, consulta AWS CLI Command UpdateTableReference.

Il seguente esempio di codice mostra come utilizzareupdate-time-to-live.

AWS CLI

Per aggiornare le impostazioni Time to Live su una tabella

L'update-time-to-liveesempio seguente abilita Time to Live nella tabella specificata.

aws dynamodb update-time-to-live \ --table-name MusicCollection \ --time-to-live-specification Enabled=true,AttributeName=ttl

Output:

{ "TimeToLiveSpecification": { "Enabled": true, "AttributeName": "ttl" } }

Per ulteriori informazioni, consulta Time to Live nella Amazon DynamoDB Developer Guide.