Esempi per DynamoDB con AWS CLI
Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando l’AWS Command Line Interface con DynamoDB.
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Operazioni
L’esempio di codice seguente mostra come utilizzare batch-get-item.
- AWS CLI
-
Come recuperare più elementi da una tabella
L’esempio
batch-get-itemsseguente legge più elementi dalla tabellaMusicCollectionutilizzando un batch di tre richiesteGetIteme richiede il numero di unità di capacità di lettura utilizzate dall’operazione. Il comando restituisce solo l’attributoAlbumTitle.aws dynamodb batch-get-item \ --request-itemsfile://request-items.json\ --return-consumed-capacityTOTALContenuto 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 Operazioni batch nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sulle API, consulta BatchGetItem
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare batch-write-item.
- AWS CLI
-
Come aggiungere più elementi a una tabella
L’esempio
batch-write-itemseguente aggiunge tre nuovi elementi alla tabellaMusicCollectionutilizzando un batch di tre richiestePutItem. Richiede inoltre informazioni sul numero di unità di capacità di scrittura utilizzate dall’operazione e su eventuali raccolte di elementi modificate dall’operazione.aws dynamodb batch-write-item \ --request-itemsfile://request-items.json\ --return-consumed-capacityINDEXES\ --return-item-collection-metricsSIZEContenuto 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 Operazioni batch nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sulle API, consulta BatchWriteItem
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare create-backup.
- AWS CLI
-
Come creare un backup per una tabella DynamoDB esistente
L’esempio
create-backupseguente crea un backup della tabellaMusicCollection.aws dynamodb create-backup \ --table-nameMusicCollection\ --backup-nameMusicCollectionBackupOutput:
{ "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 on demand per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta CreateBackup
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-global-table.
- AWS CLI
-
Come creare una tabella globale
L’esempio
create-global-tableseguente crea una tabella globale da due tabelle identiche nelle Regioni AWS separate specificate.aws dynamodb create-global-table \ --global-table-nameMusicCollection\ --replication-groupRegionName=us-east-2RegionName=us-east-1\ --regionus-east-2Output:
{ "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 Tabelle globali DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta CreateGlobalTable
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-table.
- AWS CLI
-
Esempio 1: creare una tabella con tag
L’esempio
create-tableseguente utilizza gli attributi e lo schema di chiavi specificati per creare una tabella denominataMusicCollection. Questa tabella utilizza il throughput allocato e la crittografia dei dati a riposo utilizzando la chiave gestita dal cliente (CMK) predefinita di proprietà di AWS. Il comando applica inoltre un tag alla tabella, con una chiaveOwnere un valoreblueTeam.aws dynamodb create-table \ --table-nameMusicCollection\ --attribute-definitionsAttributeName=Artist,AttributeType=SAttributeName=SongTitle,AttributeType=S\ --key-schemaAttributeName=Artist,KeyType=HASHAttributeName=SongTitle,KeyType=RANGE\ --provisioned-throughputReadCapacityUnits=5,WriteCapacityUnits=5\ --tagsKey=Owner,Value=blueTeamOutput:
{ "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 Operazioni di base per le tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: creare una tabella in modalità on demand
L’esempio seguente crea una tabella denominata
MusicCollectionutilizzando la modalità on demand, anziché la modalità basata su throughput allocato. Ciò risulta utile per le tabelle con carichi di lavoro imprevedibili.aws dynamodb create-table \ --table-nameMusicCollection\ --attribute-definitionsAttributeName=Artist,AttributeType=SAttributeName=SongTitle,AttributeType=S\ --key-schemaAttributeName=Artist,KeyType=HASHAttributeName=SongTitle,KeyType=RANGE\ --billing-modePAY_PER_REQUESTOutput:
{ "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 Operazioni di base per le tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 3: creare una tabella e crittografarla con una CMK
L’esempio seguente crea una tabella denominata
MusicCollectione la crittografa utilizzando una CMK.aws dynamodb create-table \ --table-nameMusicCollection\ --attribute-definitionsAttributeName=Artist,AttributeType=SAttributeName=SongTitle,AttributeType=S\ --key-schemaAttributeName=Artist,KeyType=HASHAttributeName=SongTitle,KeyType=RANGE\ --provisioned-throughputReadCapacityUnits=5,WriteCapacityUnits=5\ --sse-specificationEnabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234Output:
{ "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 Operazioni di base per le tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 4: creare una tabella con un indice secondario locale
L’esempio seguente utilizza gli attributi e lo schema di chiavi specificati per creare una tabella denominata
MusicCollectioncon un indice secondario locale denominatoAlbumTitleIndex.aws dynamodb create-table \ --table-nameMusicCollection\ --attribute-definitionsAttributeName=Artist,AttributeType=SAttributeName=SongTitle,AttributeType=SAttributeName=AlbumTitle,AttributeType=S\ --key-schemaAttributeName=Artist,KeyType=HASHAttributeName=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\"] } } ]"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 Operazioni di base per le tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 5: creare una tabella con un indice secondario globale
L’esempio seguente crea una tabella denominata
GameScorescon un indice secondario globale denominatoGameTitleIndex. La tabella di base ha una chiave di partizione diUserIde una chiave di ordinamento diGameTitle, permettendo di trovare il miglior punteggio di un singolo utente per un gioco specifico in modo efficiente, mentre il GSI ha una chiave di partizione diGameTitlee una chiave di ordinamento diTopScore, permettendo di trovare rapidamente il punteggio più alto complessivo per un determinato gioco.aws dynamodb create-table \ --table-nameGameScores\ --attribute-definitionsAttributeName=UserId,AttributeType=SAttributeName=GameTitle,AttributeType=SAttributeName=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 } } ]"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 Operazioni di base per le tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 6: creare una tabella con più indici secondari globali contemporaneamente
L’esempio seguente crea una tabella denominata
GameScorescon due indici secondari globali. Gli schemi dei GSI vengono passati tramite un file, anziché nella riga di comando.aws dynamodb create-table \ --table-nameGameScores\ --attribute-definitionsAttributeName=UserId,AttributeType=SAttributeName=GameTitle,AttributeType=SAttributeName=TopScore,AttributeType=NAttributeName=Date,AttributeType=S\ --key-schemaAttributeName=UserId,KeyType=HASHAttributeName=GameTitle,KeyType=RANGE\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5\ --global-secondary-indexesfile://gsi.jsonContenuto 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 Operazioni di base per le tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 7: creare una tabella con i flussi abilitati
L’esempio seguente crea una tabella denominata
GameScorescon i flussi DynamoDB abilitati. Le immagini vecchie e nuove di ciascun elemento verranno scritte nel flusso.aws dynamodb create-table \ --table-nameGameScores\ --attribute-definitionsAttributeName=UserId,AttributeType=SAttributeName=GameTitle,AttributeType=S\ --key-schemaAttributeName=UserId,KeyType=HASHAttributeName=GameTitle,KeyType=RANGE\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5\ --stream-specificationStreamEnabled=TRUE,StreamViewType=NEW_AND_OLD_IMAGESOutput:
{ "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 Operazioni di base per le tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 8: creare una tabella con il flusso KEYS_ONLY abilitato
L’esempio seguente crea una tabella denominata
GameScorescon i flussi DynamoDB abilitati. Nel flusso vengono scritti solo gli attributi chiave degli elementi modificati.aws dynamodb create-table \ --table-nameGameScores\ --attribute-definitionsAttributeName=UserId,AttributeType=SAttributeName=GameTitle,AttributeType=S\ --key-schemaAttributeName=UserId,KeyType=HASHAttributeName=GameTitle,KeyType=RANGE\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5\ --stream-specificationStreamEnabled=TRUE,StreamViewType=KEYS_ONLYOutput:
{ "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 Acquisizione dei dati di modifica per DynamoDB Streams nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 9: creare una tabella con la classe Standard-Accesso infrequente
L’esempio seguente crea una tabella denominata
GameScorese assegna la classe di tabella Standard-Accesso Infrequente (DynamoDB Standard-IA). Questa classe di tabella è ottimizzata a livello di archiviazione in quanto l’archiviazione rappresenta il costo principale.aws dynamodb create-table \ --table-nameGameScores\ --attribute-definitionsAttributeName=UserId,AttributeType=SAttributeName=GameTitle,AttributeType=S\ --key-schemaAttributeName=UserId,KeyType=HASHAttributeName=GameTitle,KeyType=RANGE\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5\ --table-classSTANDARD_INFREQUENT_ACCESSOutput:
{ "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 Classi di tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 10: creare una tabella con l’opzione Protezione da eliminazione abilitata
L’esempio seguente crea una tabella denominata
GameScorese abilita la protezione da eliminazione.aws dynamodb create-table \ --table-nameGameScores\ --attribute-definitionsAttributeName=UserId,AttributeType=SAttributeName=GameTitle,AttributeType=S\ --key-schemaAttributeName=UserId,KeyType=HASHAttributeName=GameTitle,KeyType=RANGE\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5\ --deletion-protection-enabledOutput:
{ "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 Uso della protezione da eliminazione nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per ulteriori informazioni sulla API, consulta CreateTable
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare delete-backup.
- AWS CLI
-
Come eliminare un backup DynamoDB esistente
L’esempio
delete-backupseguente elimina il backup esistente specificato.aws dynamodb delete-backup \ --backup-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3aOutput:
{ "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 on demand per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta DeleteBackup
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-item.
- AWS CLI
-
Esempio 1: eliminare un elemento
L’esempio
delete-itemseguente elimina un elemento dalla tabellaMusicCollectione richiede i dettagli sull’elemento eliminato e sulla capacità utilizzata dalla richiesta.aws dynamodb delete-item \ --table-nameMusicCollection\ --keyfile://key.json\ --return-valuesALL_OLD\ --return-consumed-capacityTOTAL\ --return-item-collection-metricsSIZEContenuto 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 Scrittura di un elemento nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: eliminare un elemento in base a una condizione
L’esempio seguente elimina un elemento dalla tabella
ProductCatalogsolo seProductCategoryèSporting GoodsoGardening Suppliese se il relativo prezzo è compreso tra 500 e 600. Restituisce i dettagli sull’elemento eliminato.aws dynamodb delete-item \ --table-nameProductCatalog\ --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_OLDContenuto 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 Scrittura di un elemento nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sulla API, consulta DeleteItem
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare delete-table.
- AWS CLI
-
Come eliminare una tabella
L’esempio
delete-tableseguente elimina la tabellaMusicCollection.aws dynamodb delete-table \ --table-nameMusicCollectionOutput:
{ "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 Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sulla API, consulta DeleteTable
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare describe-backup.
- AWS CLI
-
Come ottenere informazioni su un backup esistente di una tabella
L’esempio
describe-backupseguente mostra le informazioni relative al backup esistente specificato.aws dynamodb describe-backup \ --backup-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3aOutput:
{ "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 on demand per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta DescribeBackup
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-continuous-backups.
- AWS CLI
-
Come ottenere informazioni sui backup continui per una tabella DynamoDB
L’esempio
describe-continuous-backupsseguente mostra i dettagli sulle impostazioni dei backup continui per la tabellaMusicCollection.aws dynamodb describe-continuous-backups \ --table-nameMusicCollectionOutput:
{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "ENABLED", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "DISABLED" } } }Per ulteriori informazioni, consulta Ripristino point-in-time per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta DescribeContinuousBackups
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-contributor-insights.
- AWS CLI
-
Come visualizzare le impostazioni di Contributor Insights per una tabella DynamoDB
L’esempio
describe-contributor-insightsseguente mostra le impostazioni di Contributor Insights per la tabellaMusicCollectione l’indice secondario globaleAlbumTitle-index.aws dynamodb describe-contributor-insights \ --table-nameMusicCollection\ --index-nameAlbumTitle-indexOutput:
{ "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 Analisi dell’accesso ai dati utilizzando CloudWatch Contributor Insights per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta DescribeContributorInsights
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-endpoints.
- AWS CLI
-
Come visualizzare le informazioni sugli endpoint regionali
L’esempio
describe-endpointsseguente mostra i dettagli relativi agli endpoint per la Regione AWS corrente.aws dynamodb describe-endpointsOutput:
{ "Endpoints": [ { "Address": "dynamodb.us-west-2.amazonaws.com", "CachePeriodInMinutes": 1440 } ] }Per ulteriori informazioni, consulta Endpoint e quote di Amazon DynamoDB nella Guida di riferimento generale AWS.
-
Per informazioni dettagliate sull’API, consulta DescribeEndpoints
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-global-table-settings.
- AWS CLI
-
Come ottenere informazioni sulle impostazioni di una tabella globale DynamoDB
L’esempio
describe-global-table-settingsseguente mostra le impostazioni per la tabella globaleMusicCollection.aws dynamodb describe-global-table-settings \ --global-table-nameMusicCollectionOutput:
{ "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 Tabelle globali DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta DescribeGlobalTableSettings
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-global-table.
- AWS CLI
-
Come visualizzare le informazioni su una tabella globale DynamoDB
L’esempio
describe-global-tableseguente mostra i dettagli relativi alla tabella globaleMusicCollection.aws dynamodb describe-global-table \ --global-table-nameMusicCollectionOutput:
{ "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 Tabelle globali DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta DescribeGlobalTable
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-limits.
- AWS CLI
-
Come visualizzare i limiti di capacità con provisioning
L’esempio
describe-limitsseguente mostra i limiti di capacità con provisioning per il tuo account nella Regione AWS corrente.aws dynamodb describe-limitsOutput:
{ "AccountMaxReadCapacityUnits": 80000, "AccountMaxWriteCapacityUnits": 80000, "TableMaxReadCapacityUnits": 40000, "TableMaxWriteCapacityUnits": 40000 }Per ulteriori informazioni, consulta Limiti in DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta DescribeLimits
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-table-replica-auto-scaling.
- AWS CLI
-
Come visualizzare le impostazioni di dimensionamento automatico tra le repliche di una tabella globale
L’esempio
describe-table-replica-auto-scalingseguente mostra le impostazioni di dimensionamento automatico tra le repliche della tabella globaleMusicCollection.aws dynamodb describe-table-replica-auto-scaling \ --table-nameMusicCollectionOutput:
{ "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 Tabelle globali DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta DescribeTableReplicaAutoScaling
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-table.
- AWS CLI
-
Come descrivere una tabella
L’esempio
describe-tableseguente descrive la tabellaMusicCollection.aws dynamodb describe-table \ --table-nameMusicCollectionOutput:
{ "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 Descrizione di una tabella nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sulle API, consulta DescribeTable
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare describe-time-to-live.
- AWS CLI
-
Come visualizzare le impostazioni del Time-to-Live per una tabella
L’esempio
describe-time-to-liveseguente mostra le impostazioni del Time-to-Live per la tabellaMusicCollection.aws dynamodb describe-time-to-live \ --table-nameMusicCollectionOutput:
{ "TimeToLiveDescription": { "TimeToLiveStatus": "ENABLED", "AttributeName": "ttl" } }Per ulteriori informazioni, consulta Time to Live nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta DescribeTimeToLive
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-item.
- AWS CLI
-
Esempio 1: leggere un elemento in una tabella
L’esempio
get-itemseguente recupera un elemento dalla tabellaMusicCollection. La tabella ha una chiave primaria hash e di intervallo (ArtisteSongTitle). Sarà pertanto necessario specificare entrambi questi attributi. Il comando richiede anche informazioni sulla capacità di scrittura utilizzata dall’operazione.aws dynamodb get-item \ --table-nameMusicCollection\ --keyfile://key.json\ --return-consumed-capacityTOTALContenuto 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 Lettura di un elemento nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: leggere un elemento utilizzando una lettura coerente
L’esempio seguente recupera un elemento dalla tabella
MusicCollectiontramite elevata consistenza di lettura.aws dynamodb get-item \ --table-nameMusicCollection\ --keyfile://key.json\ --consistent-read \ --return-consumed-capacityTOTALContenuto 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 Lettura di un elemento nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 3: recuperare gli attributi specifici di un elemento
L’esempio seguente utilizza un’espressione di proiezione per recuperare solo tre attributi dell’elemento desiderato.
aws dynamodb get-item \ --table-nameProductCatalog\ --key '{"Id": {"N": "102"}}' \ --projection-expression"#T, #C, #P"\ --expression-attribute-namesfile://names.jsonContenuto 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 Lettura di un elemento nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta GetItem
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare list-backups.
- AWS CLI
-
Esempio 1: elencare tutti i backup DynamoDB esistenti
L’esempio
list-backupsseguente elenca tutti i backup esistenti.aws dynamodb list-backupsOutput:
{ "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 on demand per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: elencare i backup creati dall’utente in un intervallo di tempo specifico
L’esempio seguente elenca solo i backup della tabella
MusicCollectioncreati 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-nameMusicCollection\ --time-range-lower-bound1577836800\ --time-range-upper-bound1583020800\ --backup-typeUSEROutput:
{ "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 on demand per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
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 tipo elenco su un numero elevato di risorse, il che può causare un errore di “timeout” quando si utilizza la dimensione di pagina predefinita pari a 1.000.
aws dynamodb list-backups \ --page-size1Output:
{ "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 on demand per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 4: limitare il numero di elementi restituiti
L’esempio seguente limita a 1 il numero di elementi restituiti. La risposta include un valore
NextTokencon cui recuperare la pagina di risultati successiva.aws dynamodb list-backups \ --max-items1Output:
{ "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 on demand per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 5: recuperare la pagina di risultati successiva
Il comando seguente utilizza il valore
NextTokendi una precedente chiamata al comandolist-backupsper recuperare un’altra pagina di risultati. Poiché la risposta in questo caso non include un valoreNextToken, ciò significa che è stata raggiunta la fine dei risultati.aws dynamodb list-backups \ --starting-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9Output
{ "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 on demand per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta ListBackups
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-contributor-insights.
- AWS CLI
-
Esempio 1: visualizzare un elenco di riepiloghi di Contributor Insights
L’esempio
list-contributor-insightsseguente mostra un elenco di riepiloghi di Contributor Insights.aws dynamodb list-contributor-insightsOutput:
{ "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 Analisi dell’accesso ai dati utilizzando CloudWatch Contributor Insights per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: limitare il numero di elementi restituiti
L’esempio seguente limita a 4 il numero di elementi restituiti. La risposta include un valore
NextTokencon cui recuperare la pagina di risultati successiva.aws dynamodb list-contributor-insights \ --max-results4Output:
{ "ContributorInsightsSummaries": [ { "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "ProductCatalog", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Forum", "ContributorInsightsStatus": "ENABLED" } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }Per ulteriori informazioni, consulta Analisi dell’accesso ai dati utilizzando CloudWatch Contributor Insights per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 3: recuperare la pagina di risultati successiva
Il comando seguente utilizza il valore
NextTokendi una precedente chiamata al comandolist-contributor-insightsper recuperare un’altra pagina di risultati. Poiché la risposta in questo caso non include un valoreNextToken, ciò significa che è stata raggiunta la fine dei risultati.aws dynamodb list-contributor-insights \ --max-results4\ --next-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9Output:
{ "ContributorInsightsSummaries": [ { "TableName": "Reply", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Thread", "ContributorInsightsStatus": "ENABLED" } ] }Per ulteriori informazioni, consulta Analisi dell’accesso ai dati utilizzando CloudWatch Contributor Insights per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta ListContributorInsights
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-global-tables.
- AWS CLI
-
Come elencare le tabelle globali DynamoDB esistenti
L’esempio
list-global-tablesseguente elenca tutte le tabelle globali esistenti.aws dynamodb list-global-tablesOutput:
{ "GlobalTables": [ { "GlobalTableName": "MusicCollection", "ReplicationGroup": [ { "RegionName": "us-east-2" }, { "RegionName": "us-east-1" } ] } ] }Per ulteriori informazioni, consulta Tabelle globali DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta ListGlobalTables
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-tables.
- AWS CLI
-
Esempio 1: elencare le tabelle
L’esempio
list-tablesseguente elenca le tabelle associate all’account e alla Regione AWS correnti.aws dynamodb list-tablesOutput:
{ "TableNames": [ "Forum", "ProductCatalog", "Reply", "Thread" ] }Per ulteriori informazioni, consulta Elencazione dei nomi delle tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
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 tipo elenco su un numero elevato di risorse, il che può causare un errore di “timeout” quando si utilizza la dimensione di pagina predefinita pari a 1.000.
aws dynamodb list-tables \ --page-size1Output:
{ "TableNames": [ "Forum", "ProductCatalog", "Reply", "Thread" ] }Per ulteriori informazioni, consulta Elencazione dei nomi delle tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 3: limitare il numero di elementi restituiti
L’esempio seguente limita a 2 il numero di elementi restituiti. La risposta include un valore
NextTokencon cui recuperare la pagina di risultati successiva.aws dynamodb list-tables \ --max-items2Output:
{ "TableNames": [ "Forum", "ProductCatalog" ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }Per ulteriori informazioni, consulta Elencazione dei nomi delle tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 4: recuperare la pagina di risultati successiva
Il comando seguente utilizza il valore
NextTokendi una precedente chiamata al comandolist-tablesper recuperare un’altra pagina di risultati. Poiché la risposta in questo caso non include un valoreNextToken, ciò significa che è stata raggiunta la fine dei risultati.aws dynamodb list-tables \ --starting-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9Output:
{ "TableNames": [ "Reply", "Thread" ] }Per ulteriori informazioni, consulta Elencazione dei nomi delle tabelle nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta ListTables
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare list-tags-of-resource.
- AWS CLI
-
Esempio 1: elencare i tag di una risorsa DynamoDB
L’esempio
list-tags-of-resourceseguente mostra i tag per la tabellaMusicCollection.aws dynamodb list-tags-of-resource \ --resource-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollectionOutput:
{ "Tags": [ { "Key": "Owner", "Value": "blueTeam" }, { "Key": "Environment", "Value": "Production" } ] }Per ulteriori informazioni, consulta Tagging per Amazon DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: limitare il numero di tag restituiti
L’esempio seguente limita a 1 il numero di tag restituiti. La risposta include un valore
NextTokencon cui recuperare la pagina di risultati successiva.aws dynamodb list-tags-of-resource \ --resource-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --max-items1Output:
{ "Tags": [ { "Key": "Owner", "Value": "blueTeam" } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }Per ulteriori informazioni, consulta Tagging per Amazon DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 3: recuperare la pagina di risultati successiva
Il comando seguente utilizza il valore
NextTokendi una precedente chiamata al comandolist-tags-of-resourceper recuperare un’altra pagina di risultati. Poiché la risposta in questo caso non include un valoreNextToken, ciò significa che è stata raggiunta la fine dei risultati.aws dynamodb list-tags-of-resource \ --resource-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --starting-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9Output:
{ "Tags": [ { "Key": "Environment", "Value": "Production" } ] }Per ulteriori informazioni, consulta Tagging per Amazon DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta ListTagsOfResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare put-item.
- AWS CLI
-
Esempio 1: aggiungere un elemento a una tabella
L’esempio
put-itemseguente aggiunge un nuovo elemento alla tabella MusicCollection.aws dynamodb put-item \ --table-nameMusicCollection\ --itemfile://item.json\ --return-consumed-capacityTOTAL\ --return-item-collection-metricsSIZEContenuto 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 Scrittura di un elemento nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: sovrascrivere in base a una condizione un elemento in una tabella
L’esempio
put-itemseguente sovrascrive un elemento esistente nella tabellaMusicCollectionsolo se tale elemento include un attributoAlbumTitlecon il valoreGreatest Hits. Il comando restituisce il valore precedente dell’elemento.aws dynamodb put-item \ --table-nameMusicCollection\ --itemfile://item.json\ --condition-expression"#A = :A"\ --expression-attribute-namesfile://names.json\ --expression-attribute-valuesfile://values.json\ --return-valuesALL_OLDContenuto 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à, verrà visualizzato l’output seguente:
A client error (ConditionalCheckFailedException) occurred when calling the PutItem operation: The conditional request failed.Per ulteriori informazioni, consulta Scrittura di un elemento nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per ulteriori informazioni sulle API, consulta PutItem
nella Documentazione di riferimento del comando AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare query.
- AWS CLI
-
Esempio 1: seguire una query su una tabella
Nel’esempio seguente
queryesegue query sulle voce della tabellaMusicCollection. La tabella ha una chiave primaria hash e di intervallo (ArtisteSongTitle), ma questa query specifica solo il valore della chiave hash. Restituisce i titoli dei brani dell’artista “No One You Know”.aws dynamodb query \ --table-nameMusicCollection\ --projection-expression"SongTitle"\ --key-condition-expression"Artist = :v1"\ --expression-attribute-valuesfile://expression-attributes.json\ --return-consumed-capacityTOTALContenuto 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 Utilizzo delle query in DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: eseguire una query su una tabella con elevata consistenza di lettura e attraversare l’indice in ordine decrescente
L’esempio seguente esegue la stessa query del primo, ma restituisce i risultati in ordine inverso e utilizza elevata consistenza di lettura.
aws dynamodb query \ --table-nameMusicCollection\ --projection-expression"SongTitle"\ --key-condition-expression"Artist = :v1"\ --expression-attribute-valuesfile://expression-attributes.json\ --consistent-read \ --no-scan-index-forward \ --return-consumed-capacityTOTALContenuto 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 Utilizzo delle query in DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 3: filtrare risultati specifici
L’esempio seguente esegue una query su
MusicCollectionma esclude i risultati con valori specifici nell’attributoAlbumTitle. Si noti che ciò non influisce suScannedCountoConsumedCapacity, poiché il filtro viene applicato dopo la lettura degli elementi.aws dynamodb query \ --table-nameMusicCollection\ --key-condition-expression"#n1 = :v1"\ --filter-expression"NOT (#n2 IN (:v2, :v3))"\ --expression-attribute-namesfile://names.json\ --expression-attribute-valuesfile://values.json\ --return-consumed-capacityTOTALContenuto 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 Utilizzo delle query in DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 4: recuperare solo il conteggio degli elementi
L’esempio seguente recupera il conteggio degli elementi corrispondenti alla query, ma non recupera nessuno degli elementi stessi.
aws dynamodb query \ --table-nameMusicCollection\ --selectCOUNT\ --key-condition-expression"Artist = :v1"\ --expression-attribute-valuesfile://expression-attributes.jsonContenuto di
expression-attributes.json:{ ":v1": {"S": "No One You Know"} }Output:
{ "Count": 2, "ScannedCount": 2, "ConsumedCapacity": null }Per ulteriori informazioni, consulta Utilizzo delle query in DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 5: eseguire una query su un indice
L’esempio seguente esegue una query su un indice locale secondario
AlbumTitleIndex. La query restituisce tutti gli attributi della tabella di base proiettati nell’indice secondario locale. Si noti che durante l’esecuzione di query su un indice secondario locale o su un indice secondario globale è necessario fornire anche il nome della tabella di base mediante il parametrotable-name.aws dynamodb query \ --table-nameMusicCollection\ --index-nameAlbumTitleIndex\ --key-condition-expression"Artist = :v1"\ --expression-attribute-valuesfile://expression-attributes.json\ --selectALL_PROJECTED_ATTRIBUTES\ --return-consumed-capacityINDEXESContenuto 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 Utilizzo delle query in DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sulle API, consulta Query
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare restore-table-from-backup.
- AWS CLI
-
Come ripristinare una tabella DynamoDB da un backup esistente
L’esempio
restore-table-from-backupseguente ripristina la tabella specificata da un backup esistente.aws dynamodb restore-table-from-backup \ --target-table-nameMusicCollection\ --backup-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3aOutput:
{ "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 on demand per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta RestoreTableFromBackup
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare restore-table-to-point-in-time.
- AWS CLI
-
Come ripristinare una tabella DynamoDB a un determinato momento
L’esempio
restore-table-to-point-in-timeseguente ripristina la tabellaMusicCollectional momento specificato.aws dynamodb restore-table-to-point-in-time \ --source-table-nameMusicCollection\ --target-table-nameMusicCollectionRestore\ --restore-date-time1576622404.0Output:
{ "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 Ripristino point-in-time per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta RestoreTableToPointInTime
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare scan.
- AWS CLI
-
Come eseguire la scansione di una tabella
L’esempio
scanseguente esegue la scansione dell’intera tabellaMusicCollectione quindi restringe i risultati alle brani 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-nameMusicCollection\ --filter-expression"Artist = :a"\ --projection-expression"#ST, #AT"\ --expression-attribute-namesfile://expression-attribute-names.json\ --expression-attribute-valuesfile://expression-attribute-values.jsonContenuto 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 Utilizzo della scansioni in DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sulle API, consulta Scansione
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare tag-resource.
- AWS CLI
-
Come aggiungere tag a una risorsa DynamoDB
L’esempio
tag-resourceseguente aggiunge un tag con la coppia chiave-valore alla tabellaMusicCollection.aws dynamodb tag-resource \ --resource-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --tagsKey=Owner,Value=blueTeamQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Tagging per Amazon DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta TagResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare transact-get-items.
- AWS CLI
-
Come recuperare più elementi in modo atomico da una o più tabelle
L’esempio
transact-get-itemsseguente recupera più elementi in modo atomico.aws dynamodb transact-get-items \ --transact-itemsfile://transact-items.json\ --return-consumed-capacityTOTALContenuto 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 Gestione di flussi di lavoro complessi con transazioni DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta TransactGetItems
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare transact-write-items.
- AWS CLI
-
Esempio 1: scrivere elementi in modo atomico su una o più tabelle
L’esempio
transact-write-itemsseguente 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 attributoRating.aws dynamodb transact-write-items \ --transact-itemsfile://transact-items.json\ --return-consumed-capacityTOTAL\ --return-item-collection-metricsSIZEContenuto 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)" } } ]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 Gestione di flussi di lavoro complessi con transazioni DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: scrivere elementi in modo atomico utilizzando un token di richiesta del client
Il comando seguente utilizza un token di richiesta del client per effettuare la chiamata a
transact-write-itemsidempotente, il che significa che più chiamate hanno lo stesso effetto di una singola chiamata.aws dynamodb transact-write-items \ --transact-itemsfile://transact-items.json\ --client-request-tokenabc123Contenuto 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 Gestione di flussi di lavoro complessi con transazioni DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta TransactWriteItems
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare untag-resource.
- AWS CLI
-
Come rimuovere un tag da una risorsa DynamoDB
L’esempio
untag-resourceseguente rimuove il tag con la chiaveOwnerdalla tabellaMusicCollection.aws dynamodb untag-resource \ --resource-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --tag-keysOwnerQuesto comando non produce alcun output.
Per ulteriori informazioni, consulta Tagging per Amazon DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta UntagResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-continuous-backups.
- AWS CLI
-
Come aggiornare le impostazioni di backup continuo per una tabella DynamoDB
L’esempio
update-continuous-backupsseguente abilita il ripristino point-in-time per la tabellaMusicCollection.aws dynamodb update-continuous-backups \ --table-nameMusicCollection\ --point-in-time-recovery-specificationPointInTimeRecoveryEnabled=trueOutput:
{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "ENABLED", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1576622404.0, "LatestRestorableDateTime": 1576622404.0 } } }Per ulteriori informazioni, consulta Ripristino point-in-time per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta UpdateContinuousBackups
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-contributor-insights.
- AWS CLI
-
Come abilitare Contributor Insights su una tabella
L’esempio
update-contributor-insightsseguente abilita Contributor Insights sulla tabellaMusicCollectione l’indice secondario globaleAlbumTitle-index.aws dynamodb update-contributor-insights \ --table-nameMusicCollection\ --index-nameAlbumTitle-index\ --contributor-insights-actionENABLEOutput:
{ "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLING" }Per ulteriori informazioni, consulta Analisi dell’accesso ai dati utilizzando CloudWatch Contributor Insights per DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta UpdateContributorInsights
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-global-table-settings.
- AWS CLI
-
Come aggiornare le impostazioni della capacità di scrittura con provisioning su una tabella globale DynamoDB
L’esempio
update-global-table-settingsseguente imposta su 15 la capacità di scrittura con provisioning della tabella globaleMusicCollection.aws dynamodb update-global-table-settings \ --global-table-nameMusicCollection\ --global-table-provisioned-write-capacity-units15Output:
{ "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 Tabelle globali DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta UpdateGlobalTableSettings
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-global-table.
- AWS CLI
-
Come aggiornare una tabella globale DynamoDB
L’esempio
update-global-tableseguente aggiunge una replica nella Regione specificata alla tabella globaleMusicCollection.aws dynamodb update-global-table \ --global-table-nameMusicCollection\ --replica-updatesCreate={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 Tabelle globali DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta UpdateGlobalTable
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-item.
- AWS CLI
-
Esempio 1: aggiornare un elemento in una tabella
L’esempio
update-itemseguente aggiorna un elemento nella tabellaMusicCollection. Aggiunge un nuovo attributo (Year) e modifica l’attributoAlbumTitle. Tutti gli attributi dell’elemento come appaiono dopo l’aggiornamento vengono restituiti nella risposta.aws dynamodb update-item \ --table-nameMusicCollection\ --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-metricsSIZEContenuto 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 Scrittura di un elemento nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: aggiornare un elemento in base a una condizione
L’esempio seguente aggiorna un elemento nella tabella
MusicCollection, ma solo se l’elemento esistente non ha già un attributoYear.aws dynamodb update-item \ --table-nameMusicCollection\ --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)"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 include già un attributo
Year, DynamoDB restituisce il seguente output.An error occurred (ConditionalCheckFailedException) when calling the UpdateItem operation: The conditional request failedPer ulteriori informazioni, consulta Scrittura di un elemento nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sulle API, consulta UpdateItem
nella Documentazione di riferimento di AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare update-table-replica-auto-scaling.
- AWS CLI
-
Come aggiornare le impostazioni di dimensionamento automatico tra le repliche di una tabella globale
L’esempio
update-table-replica-auto-scalingseguente aggiorna le impostazioni di dimensionamento automatico della capacità di scrittura tra le repliche della tabella globale specificata.aws dynamodb update-table-replica-auto-scaling \ --table-nameMusicCollection\ --provisioned-write-capacity-auto-scaling-updatefile://auto-scaling-policy.jsonContenuto 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 Tabelle globali DynamoDB nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta UpdateTableReplicaAutoScaling
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-table.
- AWS CLI
-
Esempio 1: modificare la modalità di fatturazione di una tabella
L’esempio
update-tableseguente aumenta la capacità di lettura e scrittura allocata per la tabellaMusicCollection.aws dynamodb update-table \ --table-nameMusicCollection\ --billing-modePROVISIONED\ --provisioned-throughputReadCapacityUnits=15,WriteCapacityUnits=10Output:
{ "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 Aggiornamento di una tabella nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 2: creare un indice secondario globale
L’esempio seguente aggiunge un indice secondario globale alla tabella
MusicCollection.aws dynamodb update-table \ --table-nameMusicCollection\ --attribute-definitionsAttributeName=AlbumTitle,AttributeType=S\ --global-secondary-index-updatesfile://gsi-updates.jsonContenuto 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 Aggiornamento di una tabella nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 3: abilitare i flussi DynamoDB su una tabella
Il comando seguente abilita i flussi DynamoDB sulla tabella
MusicCollection.aws dynamodb update-table \ --table-nameMusicCollection\ --stream-specificationStreamEnabled=true,StreamViewType=NEW_IMAGEOutput:
{ "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 Aggiornamento di una tabella nella Guida per gli sviluppatori di Amazon DynamoDB.
Esempio 4: abilitare la crittografia lato server
L’esempio seguente abilita la crittografia lato server sulla tabella
MusicCollection.aws dynamodb update-table \ --table-nameMusicCollection\ --sse-specificationEnabled=true,SSEType=KMSOutput:
{ "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 Aggiornamento di una tabella nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta UpdateTable
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-time-to-live.
- AWS CLI
-
Come aggiornare le impostazioni Time to Live per una tabella
L’esempio
update-time-to-liveseguente abilita le impostazioni del Time to Live per la tabella specificata.aws dynamodb update-time-to-live \ --table-nameMusicCollection\ --time-to-live-specificationEnabled=true,AttributeName=ttlOutput:
{ "TimeToLiveSpecification": { "Enabled": true, "AttributeName": "ttl" } }Per ulteriori informazioni, consulta Time to Live nella Guida per gli sviluppatori di Amazon DynamoDB.
-
Per informazioni dettagliate sull’API, consulta UpdateTimeToLive
in AWS CLI Command Reference.
-