Exemples d’utilisation de l’AWS CLI avec DynamoDB
Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec DynamoDB.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.
Rubriques
Actions
L’exemple de code suivant montre comment utiliser batch-get-item.
- AWS CLI
-
Pour récupérer plusieurs éléments d’une table
L’exemple
batch-get-itemssuivant lit plusieurs éléments de la tableMusicCollectionà l’aide d’un lot de trois demandesGetItem, et demande le nombre d’unités de capacité de lecture consommées par l’opération. La commande renvoie uniquement l’attributAlbumTitle.aws dynamodb batch-get-item \ --request-itemsfile://request-items.json\ --return-consumed-capacityTOTALContenu de
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" } }Sortie :
{ "Responses": { "MusicCollection": [ { "AlbumTitle": { "S": "Somewhat Famous" } }, { "AlbumTitle": { "S": "Blue Sky Blues" } }, { "AlbumTitle": { "S": "Louder Than Ever" } } ] }, "UnprocessedKeys": {}, "ConsumedCapacity": [ { "TableName": "MusicCollection", "CapacityUnits": 1.5 } ] }Pour plus d’informations, consultez Opérations par lot dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez BatchGetItem
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser batch-write-item.
- AWS CLI
-
Pour ajouter plusieurs éléments à une table
L’exemple
batch-write-itemsuivant ajoute trois nouveaux éléments à la tableMusicCollectionà l’aide d’un lot de trois demandesPutItem. Il demande également des informations sur le nombre d’unités de capacité d’écriture consommées par l’opération et sur les collections d’éléments modifiées par l’opération.aws dynamodb batch-write-item \ --request-itemsfile://request-items.json\ --return-consumed-capacityINDEXES\ --return-item-collection-metricsSIZEContenu de
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"} } } } ] }Sortie :
{ "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 } } } ] }Pour plus d’informations, consultez Opérations par lot dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez BatchWriteItem
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-backup.
- AWS CLI
-
Pour créer une sauvegarde d’une table DynamoDB existante
L’exemple
create-backupsuivant crée une sauvegarde de la tableMusicCollection.aws dynamodb create-backup \ --table-nameMusicCollection\ --backup-nameMusicCollectionBackupSortie :
{ "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 } }Pour plus d’informations, consultez Sauvegarde et restauration à la demande pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez CreateBackup
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-global-table.
- AWS CLI
-
Pour créer une table globale
L’exemple
create-global-tablesuivant crée une table globale à partir de deux tables identiques dans les régions AWS distinctes spécifiées.aws dynamodb create-global-table \ --global-table-nameMusicCollection\ --replication-groupRegionName=us-east-2RegionName=us-east-1\ --regionus-east-2Sortie :
{ "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" } }Pour plus d’informations, consultez Tables globales DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez CreateGlobalTable
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-table.
- AWS CLI
-
Exemple 1 : pour créer une table avec des balises
L’exemple
create-tablesuivant utilise les attributs et le schéma de clés spécifiés pour créer une table nomméeMusicCollection. Cette table utilise le débit provisionné et est chiffrée au repos à l’aide de la clé CMK détenue par AWS par défaut. La commande applique également une balise à la table, avec une cléOwneret une valeurblueTeam.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=blueTeamSortie :
{ "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" } }Pour plus d’informations, consultez Opérations de base pour les tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour créer une table en mode à la demande
L’exemple suivant crée une table appelée
MusicCollectionen mode à la demande, plutôt qu’en mode débit provisionné. Cela est utile pour les tables dont les charges de travail sont imprévisibles.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_REQUESTSortie :
{ "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" } } }Pour plus d’informations, consultez Opérations de base pour les tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 3 : pour créer une table et la chiffrer à l’aide d’une clé CMK gérée par le client
L’exemple suivant crée une table nommée
MusicCollectionet la chiffre à l’aide d’une clé CMK gérée par le client.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-ab1234a1b234Sortie :
{ "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" } } }Pour plus d’informations, consultez Opérations de base pour les tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 4 : pour créer une table avec un index secondaire local
L’exemple suivant utilise les attributs et le schéma de clés spécifiés pour créer une table nommée
MusicCollectionavec un index local secondaire nomméAlbumTitleIndex.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\"] } } ]"Sortie :
{ "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" } ] } }Pour plus d’informations, consultez Opérations de base pour les tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 5 : pour créer une table avec un index secondaire global
L’exemple suivant crée une table nommée
GameScoresavec un index secondaire global appeléGameTitleIndex. La table de base a une clé de partitionUserIdet une clé de triGameTitle, vous permettant de trouver efficacement le meilleur score d’un utilisateur pour un jeu spécifique, tandis que l’index secondaire global (GSI) a une clé de partitionGameTitleet une clé de triTopScore, vous permettant de trouver rapidement le score le plus élevé pour un jeu particulier.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 } } ]"Sortie :
{ "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" } ] } }Pour plus d’informations, consultez Opérations de base pour les tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 6 : pour créer une table avec plusieurs index secondaires globaux en une seule fois
L’exemple suivant crée une table nommée
GameScoresavec deux index secondaires globaux. Les schémas GSI sont transmis via un fichier plutôt que sur la ligne de commande.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.jsonContenu de
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 } } ]Sortie :
{ "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" } ] } }Pour plus d’informations, consultez Opérations de base pour les tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 7 : pour créer une table avec Streams activé
L’exemple suivant crée une table appelée
GameScoresavec DynamoDB Streams activé. Les nouvelles et les anciennes images de chaque élément seront écrites dans le flux.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_IMAGESSortie :
{ "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" } }Pour plus d’informations, consultez Opérations de base pour les tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 8 : pour créer une table avec le flux Clés uniquement activé
L’exemple suivant crée une table appelée
GameScoresavec DynamoDB Streams activé. Seuls les attributs clés des éléments modifiés sont écrits dans le flux.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_ONLYSortie :
{ "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 } }Pour plus d’informations, consultez Modifier la récupération de données pour DynamoDB Streams dans le Manuel du développeur Amazon DynamoDB.
Exemple 9 : pour créer une table à l’aide de la classe Accès standard peu fréquent
L’exemple suivant crée une table appelée
GameScoreset lui affecte la classe de table Standard-Infrequent Access (DynamoDB Standard-IA). Cette classe de table est optimisée pour le stockage, qui constitue le principal coût.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_ACCESSSortie :
{ "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 } }Pour plus d’informations, consultez Classes de tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 10 : pour créer une table avec la protection contre la suppression activée
L’exemple suivant crée une table appelée
GameScoreset active la protection contre la suppression.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-enabledSortie :
{ "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 } }Pour plus d’informations, consultez Utilisation de la protection contre la suppression dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez CreateTable
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-backup.
- AWS CLI
-
Pour supprimer une sauvegarde DynamoDB existante
L’exemple
delete-backupsuivant supprime la sauvegarde existante spécifiée.aws dynamodb delete-backup \ --backup-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3aSortie :
{ "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": {} } }Pour plus d’informations, consultez Sauvegarde et restauration à la demande pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DeleteBackup
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-item.
- AWS CLI
-
Exemple 1 : pour supprimer un élément
L’exemple
delete-itemsuivant supprime un élément de la tableMusicCollectionet demande des informations sur l’élément supprimé et sur la capacité utilisée par la demande.aws dynamodb delete-item \ --table-nameMusicCollection\ --keyfile://key.json\ --return-valuesALL_OLD\ --return-consumed-capacityTOTAL\ --return-item-collection-metricsSIZEContenu de
key.json:{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Scared of My Shadow"} }Sortie :
{ "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 ] } }Pour plus d’informations, consultez Écriture d’un élément dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour supprimer un élément sous certaines conditions
L’exemple suivant supprime un élément de la table
ProductCataloguniquement siProductCategoryse situe dans la catégorieSporting GoodsouGardening Supplieset si son prix est compris entre 500 et 600. Il renvoie des informations sur l’élément qui a été supprimé.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_OLDContenu de
names.json:{ "#P": "Price" }Contenu de
values.json:{ ":cat1": {"S": "Sporting Goods"}, ":cat2": {"S": "Gardening Supplies"}, ":lo": {"N": "500"}, ":hi": {"N": "600"} }Sortie :
{ "Attributes": { "Id": { "N": "456" }, "Price": { "N": "550" }, "ProductCategory": { "S": "Sporting Goods" } } }Pour plus d’informations, consultez Écriture d’un élément dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DeleteItem
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-table.
- AWS CLI
-
Pour supprimer une table
L’exemple
delete-tablesuivant supprime la tableMusicCollection.aws dynamodb delete-table \ --table-nameMusicCollectionSortie :
{ "TableDescription": { "TableStatus": "DELETING", "TableSizeBytes": 0, "ItemCount": 0, "TableName": "MusicCollection", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "WriteCapacityUnits": 5, "ReadCapacityUnits": 5 } } }Pour plus d’informations, consultez Suppression d’une table dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DeleteTable
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-backup.
- AWS CLI
-
Pour obtenir les informations sur une sauvegarde existante d’une table
L’exemple
describe-backupsuivant affiche les informations sur la sauvegarde existante spécifiée.aws dynamodb describe-backup \ --backup-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3aSortie :
{ "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": {} } }Pour plus d’informations, consultez Sauvegarde et restauration à la demande pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DescribeBackup
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-continuous-backups.
- AWS CLI
-
Pour obtenir les informations sur les sauvegardes continues d’une table DynamoDB
L’exemple
describe-continuous-backupssuivant affiche les informations sur les paramètres de sauvegarde continue de la tableMusicCollection.aws dynamodb describe-continuous-backups \ --table-nameMusicCollectionSortie :
{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "ENABLED", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "DISABLED" } } }Pour plus d’informations, consultez Reprise ponctuelle pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DescribeContinuousBackups
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-contributor-insights.
- AWS CLI
-
Pour afficher les paramètres Contributor Insights d’une table DynamoDB
L’exemple
describe-contributor-insightssuivant affiche les paramètres Contributor Insights de la tableMusicCollectionet l’index secondaire globalAlbumTitle-index.aws dynamodb describe-contributor-insights \ --table-nameMusicCollection\ --index-nameAlbumTitle-indexSortie :
{ "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 }Pour plus d’informations, consultez Analyse de l’accès aux données à l’aide de CloudWatch Contributor Insights pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DescribeContributorInsights
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-endpoints.
- AWS CLI
-
Pour afficher des informations sur les points de terminaison régionaux
L’exemple
describe-endpointssuivant affiche les informations sur les points de terminaison de la région AWS actuelle.aws dynamodb describe-endpointsSortie :
{ "Endpoints": [ { "Address": "dynamodb.us-west-2.amazonaws.com", "CachePeriodInMinutes": 1440 } ] }Pour plus d’informations, consultez Points de terminaison et quotas Amazon DynamoDB dans les Références générales AWS.
-
Pour plus de détails sur l’API, consultez DescribeEndpoints
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-global-table-settings.
- AWS CLI
-
Pour obtenir les informations sur les paramètres d’une table globale DynamoDB
L’exemple
describe-global-table-settingssuivant affiche les paramètres de la table globaleMusicCollection.aws dynamodb describe-global-table-settings \ --global-table-nameMusicCollectionSortie :
{ "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 } } ] }Pour plus d’informations, consultez Tables globales DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DescribeGlobalTableSettings
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-global-table.
- AWS CLI
-
Pour afficher les informations sur une table globale DynamoDB
L’exemple
describe-global-tablesuivant affiche les informations sur la table globaleMusicCollection.aws dynamodb describe-global-table \ --global-table-nameMusicCollectionSortie :
{ "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" } }Pour plus d’informations, consultez Tables globales DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DescribeGlobalTable
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-limits.
- AWS CLI
-
Pour afficher les limites de capacité provisionnée
L’exemple
describe-limitssuivant affiche les limites de capacité provisionnée pour votre compte dans la région AWS actuelle.aws dynamodb describe-limitsSortie :
{ "AccountMaxReadCapacityUnits": 80000, "AccountMaxWriteCapacityUnits": 80000, "TableMaxReadCapacityUnits": 40000, "TableMaxWriteCapacityUnits": 40000 }Pour plus d’informations, consultez Limites dans DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DescribeLimits
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-table-replica-auto-scaling.
- AWS CLI
-
Pour afficher les paramètres autoscaling sur les réplicas d’une table globale
L’exemple
describe-table-replica-auto-scalingsuivant affiche les paramètres autoscaling entre les réplicas de la table globaleMusicCollection.aws dynamodb describe-table-replica-auto-scaling \ --table-nameMusicCollectionSortie :
{ "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" } ] } }Pour plus d’informations, consultez Tables globales DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DescribeTableReplicaAutoScaling
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-table.
- AWS CLI
-
Pour décrire une table
L’exemple
describe-tablesuivant décrit la tableMusicCollection.aws dynamodb describe-table \ --table-nameMusicCollectionSortie :
{ "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 } }Pour plus d’informations, consultez Description d’une table dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DescribeTable
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-time-to-live.
- AWS CLI
-
Pour afficher les paramètres de durée de vie (TTL) d’une table
L’exemple
describe-time-to-livesuivant affiche les paramètres de durée de vie de la tableMusicCollection.aws dynamodb describe-time-to-live \ --table-nameMusicCollectionSortie :
{ "TimeToLiveDescription": { "TimeToLiveStatus": "ENABLED", "AttributeName": "ttl" } }Pour plus d’informations, consultez Durée de vie dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez DescribeTimeToLive
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-item.
- AWS CLI
-
Exemple 1 : pour lire un élément dans une table
L’exemple
get-itemsuivant récupère un élément de la tableMusicCollection. La table dispose d’une clé primaire de hachage et de plage (ArtistetSongTitle). Vous devez donc spécifier ces deux attributs. La commande demande également des informations sur la capacité de lecture consommée par l’opération.aws dynamodb get-item \ --table-nameMusicCollection\ --keyfile://key.json\ --return-consumed-capacityTOTALContenu de
key.json:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }Sortie :
{ "Item": { "AlbumTitle": { "S": "Songs About Life" }, "SongTitle": { "S": "Happy Day" }, "Artist": { "S": "Acme Band" } }, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 0.5 } }Pour plus d’informations, consultez Lecture d’un élément dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour lire un élément en utilisant une lecture cohérente
L’exemple suivant récupère un élément à partir de la table
MusicCollectionà l’aide de la lecture fortement cohérente.aws dynamodb get-item \ --table-nameMusicCollection\ --keyfile://key.json\ --consistent-read \ --return-consumed-capacityTOTALContenu de
key.json:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }Sortie :
{ "Item": { "AlbumTitle": { "S": "Songs About Life" }, "SongTitle": { "S": "Happy Day" }, "Artist": { "S": "Acme Band" } }, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 } }Pour plus d’informations, consultez Lecture d’un élément dans le Manuel du développeur Amazon DynamoDB.
Exemple 3 : pour récupérer les attributs spécifiques d’un élément
L’exemple suivant utilise une expression de projection pour récupérer uniquement trois attributs de l’élément souhaité.
aws dynamodb get-item \ --table-nameProductCatalog\ --key '{"Id": {"N": "102"}}' \ --projection-expression"#T, #C, #P"\ --expression-attribute-namesfile://names.jsonContenu de
names.json:{ "#T": "Title", "#C": "ProductCategory", "#P": "Price" }Sortie :
{ "Item": { "Price": { "N": "20" }, "Title": { "S": "Book 102 Title" }, "ProductCategory": { "S": "Book" } } }Pour plus d’informations, consultez Lecture d’un élément dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez GetItem
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-backups.
- AWS CLI
-
Exemple 1 : pour répertorier toutes les sauvegardes DynamoDB existantes
L’exemple
list-backupssuivant répertorie toutes vos sauvegardes existantes.aws dynamodb list-backupsSortie :
{ "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 } ] }Pour plus d’informations, consultez Sauvegarde et restauration à la demande pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour répertorier les sauvegardes créées par l’utilisateur dans un intervalle de temps spécifique
L’exemple suivant répertorie uniquement les sauvegardes de la table
MusicCollectioncréées par l’utilisateur (et non celles créées automatiquement par DynamoDB) dont la date de création est comprise entre le 1er janvier 2020 et le 1er mars 2020.aws dynamodb list-backups \ --table-nameMusicCollection\ --time-range-lower-bound1577836800\ --time-range-upper-bound1583020800\ --backup-typeUSERSortie :
{ "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 } ] }Pour plus d’informations, consultez Sauvegarde et restauration à la demande pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 3 : pour limiter la taille de page
L’exemple suivant renvoie une liste de toutes les sauvegardes existantes, mais extrait un seul élément par appel, en effectuant plusieurs appels si nécessaire pour obtenir la liste complète. La limitation de la taille de page est utile lorsque vous exécutez des commandes de liste sur un grand nombre de ressources, ce qui peut entraîner une erreur d’expiration de délai lorsque la taille de page par défaut utilisée est de 1 000.
aws dynamodb list-backups \ --page-size1Sortie :
{ "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 } ] }Pour plus d’informations, consultez Sauvegarde et restauration à la demande pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 4 : pour limiter le nombre d’éléments renvoyés
L’exemple suivant limite le nombre d’éléments renvoyés à 1. La réponse inclut une valeur
NextTokenpermettant d’récupérer la page de résultats suivante.aws dynamodb list-backups \ --max-items1Sortie :
{ "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" }Pour plus d’informations, consultez Sauvegarde et restauration à la demande pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 5 : pour récupérer la page de résultats suivante
La commande suivante utilise la valeur
NextTokend’un appel précédent à la commandelist-backupspour récupérer une autre page de résultats. Dans ce cas, comme la réponse n’inclut aucune valeurNextToken, nous savons que nous avons atteint la fin des résultats.aws dynamodb list-backups \ --starting-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9Sortie
{ "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 } ] }Pour plus d’informations, consultez Sauvegarde et restauration à la demande pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez ListBackups
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-contributor-insights.
- AWS CLI
-
Exemple 1 : pour afficher une liste de récapitulatifs Contributor Insights
L’exemple
list-contributor-insightssuivant affiche une liste de récapitulatifs Contributor Insights.aws dynamodb list-contributor-insightsSortie :
{ "ContributorInsightsSummaries": [ { "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "ProductCatalog", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Forum", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Reply", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Thread", "ContributorInsightsStatus": "ENABLED" } ] }Pour plus d’informations, consultez Analyse de l’accès aux données à l’aide de CloudWatch Contributor Insights pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour limiter le nombre d’éléments renvoyés
L’exemple suivant limite le nombre d’éléments renvoyés à 4. La réponse inclut une valeur
NextTokenpermettant d’récupérer la page de résultats suivante.aws dynamodb list-contributor-insights \ --max-results4Sortie :
{ "ContributorInsightsSummaries": [ { "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "ProductCatalog", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Forum", "ContributorInsightsStatus": "ENABLED" } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }Pour plus d’informations, consultez Analyse de l’accès aux données à l’aide de CloudWatch Contributor Insights pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 3 : pour récupérer la page de résultats suivante
La commande suivante utilise la valeur
NextTokend’un appel précédent à la commandelist-contributor-insightspour récupérer une autre page de résultats. Dans ce cas, comme la réponse n’inclut aucune valeurNextToken, nous savons que nous avons atteint la fin des résultats.aws dynamodb list-contributor-insights \ --max-results4\ --next-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9Sortie :
{ "ContributorInsightsSummaries": [ { "TableName": "Reply", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Thread", "ContributorInsightsStatus": "ENABLED" } ] }Pour plus d’informations, consultez Analyse de l’accès aux données à l’aide de CloudWatch Contributor Insights pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez ListContributorInsights
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-global-tables.
- AWS CLI
-
Pour répertorier les tables globales DynamoDB existantes
L’exemple
list-global-tablessuivant répertorie toutes vos tables globales existantes.aws dynamodb list-global-tablesSortie :
{ "GlobalTables": [ { "GlobalTableName": "MusicCollection", "ReplicationGroup": [ { "RegionName": "us-east-2" }, { "RegionName": "us-east-1" } ] } ] }Pour plus d’informations, consultez Tables globales DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez ListGlobalTables
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-tables.
- AWS CLI
-
Exemple 1 : pour répertorier des tables
L’exemple
list-tablessuivant répertorie l’ensemble des tables associées au compte et à la région AWS actuels.aws dynamodb list-tablesSortie :
{ "TableNames": [ "Forum", "ProductCatalog", "Reply", "Thread" ] }Pour plus d’informations, consultez Liste des noms de tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour limiter la taille de page
L’exemple suivant renvoie une liste de toutes les tables existantes, mais extrait un seul élément par appel, en effectuant plusieurs appels si nécessaire pour obtenir la liste complète. La limitation de la taille de page est utile lorsque vous exécutez des commandes de liste sur un grand nombre de ressources, ce qui peut entraîner une erreur d’expiration de délai lorsque la taille de page par défaut utilisée est de 1 000.
aws dynamodb list-tables \ --page-size1Sortie :
{ "TableNames": [ "Forum", "ProductCatalog", "Reply", "Thread" ] }Pour plus d’informations, consultez Liste des noms de tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 3 : pour limiter le nombre d’éléments renvoyés
L’exemple suivant limite le nombre d’éléments renvoyés à 2. La réponse inclut une valeur
NextTokenpermettant d’récupérer la page de résultats suivante.aws dynamodb list-tables \ --max-items2Sortie :
{ "TableNames": [ "Forum", "ProductCatalog" ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }Pour plus d’informations, consultez Liste des noms de tables dans le Manuel du développeur Amazon DynamoDB.
Exemple 4 : pour récupérer la page de résultats suivante
La commande suivante utilise la valeur
NextTokend’un appel précédent à la commandelist-tablespour récupérer une autre page de résultats. Dans ce cas, comme la réponse n’inclut aucune valeurNextToken, nous savons que nous avons atteint la fin des résultats.aws dynamodb list-tables \ --starting-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9Sortie :
{ "TableNames": [ "Reply", "Thread" ] }Pour plus d’informations, consultez Liste des noms de tables dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez ListTables
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-tags-of-resource.
- AWS CLI
-
Exemple 1 : pour répertorier les balises d’une ressource DynamoDB
L’exemple
list-tags-of-resourcesuivant affiche les balises de la tableMusicCollection.aws dynamodb list-tags-of-resource \ --resource-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollectionSortie :
{ "Tags": [ { "Key": "Owner", "Value": "blueTeam" }, { "Key": "Environment", "Value": "Production" } ] }Pour plus d’informations, consultez Balisage pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour limiter le nombre de balises renvoyées
L’exemple suivant limite le nombre de balises renvoyées à 1. La réponse inclut une valeur
NextTokenpermettant d’récupérer la page de résultats suivante.aws dynamodb list-tags-of-resource \ --resource-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --max-items1Sortie :
{ "Tags": [ { "Key": "Owner", "Value": "blueTeam" } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }Pour plus d’informations, consultez Balisage pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 3 : pour récupérer la page de résultats suivante
La commande suivante utilise la valeur
NextTokend’un appel précédent à la commandelist-tags-of-resourcepour récupérer une autre page de résultats. Dans ce cas, comme la réponse n’inclut aucune valeurNextToken, nous savons que nous avons atteint la fin des résultats.aws dynamodb list-tags-of-resource \ --resource-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --starting-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9Sortie :
{ "Tags": [ { "Key": "Environment", "Value": "Production" } ] }Pour plus d’informations, consultez Balisage pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez ListTagsOfResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser put-item.
- AWS CLI
-
Exemple 1 : pour ajouter un élément à une table
L’exemple
put-itemsuivant ajoute un nouvel élément à la table MusicCollection.aws dynamodb put-item \ --table-nameMusicCollection\ --itemfile://item.json\ --return-consumed-capacityTOTAL\ --return-item-collection-metricsSIZEContenu de
item.json:{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Greatest Hits"} }Sortie :
{ "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 }, "ItemCollectionMetrics": { "ItemCollectionKey": { "Artist": { "S": "No One You Know" } }, "SizeEstimateRangeGB": [ 0.0, 1.0 ] } }Pour plus d’informations, consultez Écriture d’un élément dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour remplacer un élément d’une table sous certaines conditions
L’exemple
put-itemsuivant remplace un élément existant dans la tableMusicCollectionuniquement si celui-ci possède un attributAlbumTitledont la valeur estGreatest Hits. La commande renvoie la valeur précédente de l’élément.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_OLDContenu de
item.json:{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"} }Contenu de
names.json:{ "#A": "AlbumTitle" }Contenu de
values.json:{ ":A": {"S": "Greatest Hits"} }Sortie :
{ "Attributes": { "AlbumTitle": { "S": "Greatest Hits" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } } }Si la clé existe déjà, vous devriez voir le résultat suivant :
A client error (ConditionalCheckFailedException) occurred when calling the PutItem operation: The conditional request failed.Pour plus d’informations, consultez Écriture d’un élément dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez PutItem
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser query.
- AWS CLI
-
Exemple 1 : pour interroger une table
L’exemple
querysuivant interroge des éléments dans la tableMusicCollection. La table dispose d’une clé primaire de hachage et de plage (ArtistetSongTitle), mais cette requête spécifie uniquement la valeur de clé de hachage. Elle renvoie les titres des chansons de l’artiste « 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-capacityTOTALContenu de
expression-attributes.json:{ ":v1": {"S": "No One You Know"} }Sortie :
{ "Items": [ { "SongTitle": { "S": "Call Me Today" }, "SongTitle": { "S": "Scared of My Shadow" } } ], "Count": 2, "ScannedCount": 2, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 0.5 } }Pour plus d’informations, consultez Utilisation de requêtes dans DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour interroger une table à l’aide de lectures fortement cohérentes et parcourir l’index par ordre décroissant
L’exemple suivant exécute la même requête que le premier exemple, mais renvoie les résultats dans l’ordre inverse et utilise des lectures fortement cohérentes.
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-capacityTOTALContenu de
expression-attributes.json:{ ":v1": {"S": "No One You Know"} }Sortie :
{ "Items": [ { "SongTitle": { "S": "Scared of My Shadow" } }, { "SongTitle": { "S": "Call Me Today" } } ], "Count": 2, "ScannedCount": 2, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 } }Pour plus d’informations, consultez Utilisation de requêtes dans DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 3 : pour filtrer des résultats spécifiques
L’exemple suivant interroge
MusicCollection, mais exclut les résultats contenant des valeurs spécifiques dans l’attributAlbumTitle. Notez que cela n’affecte pasScannedCountniConsumedCapacity, car le filtre est appliqué après la lecture des éléments.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-capacityTOTALContenu de
values.json:{ ":v1": {"S": "No One You Know"}, ":v2": {"S": "Blue Sky Blues"}, ":v3": {"S": "Greatest Hits"} }Contenu de
names.json:{ "#n1": "Artist", "#n2": "AlbumTitle" }Sortie :
{ "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 } }Pour plus d’informations, consultez Utilisation de requêtes dans DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 4 : pour récupérer uniquement un certain nombre d’éléments
L’exemple suivant récupère le nombre d’éléments correspondant à la requête, mais n’extrait aucun des éléments eux-mêmes.
aws dynamodb query \ --table-nameMusicCollection\ --selectCOUNT\ --key-condition-expression"Artist = :v1"\ --expression-attribute-valuesfile://expression-attributes.jsonContenu de
expression-attributes.json:{ ":v1": {"S": "No One You Know"} }Sortie :
{ "Count": 2, "ScannedCount": 2, "ConsumedCapacity": null }Pour plus d’informations, consultez Utilisation de requêtes dans DynamoDB dans le Manuel du développeur Amazon DynamoDB.
Exemple 5 : pour interroger un index
L’exemple suivant interroge l’index secondaire global
AlbumTitleIndex. La requête renvoie tous les attributs de la table de base qui ont été projetés dans l’index secondaire local. Notez que lorsque vous interrogez un index secondaire local ou un index secondaire global, vous devez également fournir le nom de la table de base à l’aide du paramètretable-name.aws dynamodb query \ --table-nameMusicCollection\ --index-nameAlbumTitleIndex\ --key-condition-expression"Artist = :v1"\ --expression-attribute-valuesfile://expression-attributes.json\ --selectALL_PROJECTED_ATTRIBUTES\ --return-consumed-capacityINDEXESContenu de
expression-attributes.json:{ ":v1": {"S": "No One You Know"} }Sortie :
{ "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 } } } }Pour plus d’informations, consultez Utilisation de requêtes dans DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez Query
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser restore-table-from-backup.
- AWS CLI
-
Pour restaurer une table DynamoDB à partir d’une sauvegarde existante
L’exemple
restore-table-from-backupsuivant restaure la table spécifiée à partir d’une sauvegarde existante.aws dynamodb restore-table-from-backup \ --target-table-nameMusicCollection\ --backup-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3aSortie :
{ "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 } } }Pour plus d’informations, consultez Sauvegarde et restauration à la demande pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez RestoreTableFromBackup
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser restore-table-to-point-in-time.
- AWS CLI
-
Pour restaurer une table DynamoDB à un instant dans le passé
L’exemple
restore-table-to-point-in-timesuivant restaure la tableMusicCollectionà l’instant spécifié.aws dynamodb restore-table-to-point-in-time \ --source-table-nameMusicCollection\ --target-table-nameMusicCollectionRestore\ --restore-date-time1576622404.0Sortie :
{ "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 } } }Pour plus d’informations, consultez Reprise ponctuelle pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez RestoreTableToPointInTime
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser scan.
- AWS CLI
-
Pour analyser une table
L’exemple
scansuivant analyse l’intégralité de la tableMusicCollection, puis limite les résultats aux chansons de l’artiste « No One You Know ». Pour chaque élément, seuls les titres de l’album et de la chanson sont renvoyés.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.jsonContenu de
expression-attribute-names.json:{ "#ST": "SongTitle", "#AT":"AlbumTitle" }Contenu de
expression-attribute-values.json:{ ":a": {"S": "No One You Know"} }Sortie :
{ "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 }Pour plus d’informations, consultez Utilisation d’analyses dans DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez Scan
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser tag-resource.
- AWS CLI
-
Pour ajouter des balises à une ressource DynamoDB
L’exemple
tag-resourcesuivant ajoute une paire clé-valeur à la tableMusicCollection.aws dynamodb tag-resource \ --resource-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --tagsKey=Owner,Value=blueTeamCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Balisage pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez TagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser transact-get-items.
- AWS CLI
-
Pour récupérer plusieurs éléments de manière atomique à partir d’une ou de plusieurs tables
L’exemple
transact-get-itemssuivant récupère plusieurs éléments de manière atomique.aws dynamodb transact-get-items \ --transact-itemsfile://transact-items.json\ --return-consumed-capacityTOTALContenu de
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" } } ]Sortie :
{ "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" } } } ] }Pour plus d’informations, consultez Gestion des flux de travail complexes avec Amazon DynamoDB Transactions dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez TransactGetItems
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser transact-write-items.
- AWS CLI
-
Exemple 1 : pour écrire des éléments de manière atomique dans une ou plusieurs tables
L’exemple
transact-write-itemssuivant met à jour un élément et en supprime un autre. L’opération échoue si l’une des opérations échoue ou si l’un des éléments contient un attributRating.aws dynamodb transact-write-items \ --transact-itemsfile://transact-items.json\ --return-consumed-capacityTOTAL\ --return-item-collection-metricsSIZEContenu du fichier
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)" } } ]Sortie :
{ "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 ] } ] } }Pour plus d’informations, consultez Gestion des flux de travail complexes avec Amazon DynamoDB Transactions dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour écrire des éléments de manière atomique à l’aide d’un jeton de demande client
La commande suivante utilise un jeton de demande client pour appeler des
transact-write-itemsidempotents, ce qui signifie que plusieurs appels ont le même effet qu’un seul.aws dynamodb transact-write-items \ --transact-itemsfile://transact-items.json\ --client-request-tokenabc123Contenu du fichier
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)" } } ]Cette commande ne produit aucune sortie.
Pour plus d’informations, consultez Gestion des flux de travail complexes avec Amazon DynamoDB Transactions dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez TransactWriteItems
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser untag-resource.
- AWS CLI
-
Pour supprimer une balise d’une ressource DynamoDB
L’exemple
untag-resourcesuivant supprime la balise avec la cléOwnerde la tableMusicCollection.aws dynamodb untag-resource \ --resource-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --tag-keysOwnerCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Balisage pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez UntagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-continuous-backups.
- AWS CLI
-
Pour mettre à jour les paramètres de sauvegarde continue d’une table DynamoDB
L’exemple
update-continuous-backupssuivant active la reprise ponctuelle pour la tableMusicCollection.aws dynamodb update-continuous-backups \ --table-nameMusicCollection\ --point-in-time-recovery-specificationPointInTimeRecoveryEnabled=trueSortie :
{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "ENABLED", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1576622404.0, "LatestRestorableDateTime": 1576622404.0 } } }Pour plus d’informations, consultez Reprise ponctuelle pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez UpdateContinuousBackups
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-contributor-insights.
- AWS CLI
-
Pour activer Contributor Insights sur une table
L’exemple
update-contributor-insightssuivant active Contributor Insights sur la tableMusicCollectionet l’index secondaire globalAlbumTitle-index.aws dynamodb update-contributor-insights \ --table-nameMusicCollection\ --index-nameAlbumTitle-index\ --contributor-insights-actionENABLESortie :
{ "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLING" }Pour plus d’informations, consultez Analyse de l’accès aux données à l’aide de CloudWatch Contributor Insights pour DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez UpdateContributorInsights
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-global-table-settings.
- AWS CLI
-
Pour mettre à jour les paramètres de capacité d’écriture provisionnée sur une table globale DynamoDB
L’exemple
update-global-table-settingssuivant définit la capacité d’écriture provisionnée de la table globaleMusicCollectionsur 15.aws dynamodb update-global-table-settings \ --global-table-nameMusicCollection\ --global-table-provisioned-write-capacity-units15Sortie :
{ "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 } } ] }Pour plus d’informations, consultez Tables globales DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez UpdateGlobalTableSettings
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-global-table.
- AWS CLI
-
Pour mettre à jour une table globale DynamoDB
L’exemple
update-global-tablesuivant ajoute un réplica dans la région spécifiée à la table globaleMusicCollection.aws dynamodb update-global-table \ --global-table-nameMusicCollection\ --replica-updatesCreate={RegionName=eu-west-1}Sortie :
{ "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" } }Pour plus d’informations, consultez Tables globales DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez UpdateGlobalTable
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-item.
- AWS CLI
-
Exemple 1 : pour mettre à jour un élément dans une table
L’exemple d’
update-itemsuivant met à jour un élément à partir de la tableMusicCollection. Il ajoute un nouvel attribut (Year) et modifie l’attributAlbumTitle. Tous les attributs de l’élément, tels qu’ils apparaissent après la mise à jour, sont renvoyés dans la réponse.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-metricsSIZEContenu de
key.json:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }Contenu de
expression-attribute-names.json:{ "#Y":"Year", "#AT":"AlbumTitle" }Contenu de
expression-attribute-values.json:{ ":y":{"N": "2015"}, ":t":{"S": "Louder Than Ever"} }Sortie :
{ "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 ] } }Pour plus d’informations, consultez Écriture d’un élément dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour mettre à jour un élément sous certaines conditions
L’exemple suivant met à jour un élément de la table
MusicCollection, mais uniquement si l’élément existant ne possède pas encore d’attributYear.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)"Contenu de
key.json:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }Contenu de
expression-attribute-names.json:{ "#Y":"Year", "#AT":"AlbumTitle" }Contenu de
expression-attribute-values.json:{ ":y":{"N": "2015"}, ":t":{"S": "Louder Than Ever"} }Si l’élément possède déjà un attribut
Year, DynamoDB renvoie le résultat suivant.An error occurred (ConditionalCheckFailedException) when calling the UpdateItem operation: The conditional request failedPour plus d’informations, consultez Écriture d’un élément dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez UpdateItem
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-table-replica-auto-scaling.
- AWS CLI
-
Pour mettre à jour les paramètres autoscaling sur les réplicas d’une table globale
L’exemple
update-table-replica-auto-scalingsuivant met à jour les paramètres autoscaling de capacité d’écriture entre les réplicas de la table globale spécifiée.aws dynamodb update-table-replica-auto-scaling \ --table-nameMusicCollection\ --provisioned-write-capacity-auto-scaling-updatefile://auto-scaling-policy.jsonContenu de
auto-scaling-policy.json:{ "MinimumUnits": 10, "MaximumUnits": 100, "AutoScalingDisabled": false, "ScalingPolicyUpdate": { "PolicyName": "DynamoDBWriteCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 80 } } }Sortie :
{ "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" } ] } }Pour plus d’informations, consultez Tables globales DynamoDB dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez UpdateTableReplicaAutoScaling
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-table.
- AWS CLI
-
Exemple 1 : pour modifier le mode de facturation d’une table
L’exemple
update-tablesuivant augmente la capacité de lecture et d’écriture provisionnée sur la tableMusicCollection.aws dynamodb update-table \ --table-nameMusicCollection\ --billing-modePROVISIONED\ --provisioned-throughputReadCapacityUnits=15,WriteCapacityUnits=10Sortie :
{ "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" } } }Pour plus d’informations, consultez Mise à jour d’une table dans le Manuel du développeur Amazon DynamoDB.
Exemple 2 : pour créer un index secondaire global
L’exemple suivant ajoute un index secondaire global à la table
MusicCollection.aws dynamodb update-table \ --table-nameMusicCollection\ --attribute-definitionsAttributeName=AlbumTitle,AttributeType=S\ --global-secondary-index-updatesfile://gsi-updates.jsonContenu de
gsi-updates.json:[ { "Create": { "IndexName": "AlbumTitle-index", "KeySchema": [ { "AttributeName": "AlbumTitle", "KeyType": "HASH" } ], "ProvisionedThroughput": { "ReadCapacityUnits": 10, "WriteCapacityUnits": 10 }, "Projection": { "ProjectionType": "ALL" } } } ]Sortie :
{ "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" } ] } }Pour plus d’informations, consultez Mise à jour d’une table dans le Manuel du développeur Amazon DynamoDB.
Exemple 3 : pour activer DynamoDB Streams sur une table
La commande suivante active DynamoDB Streams sur la table
MusicCollection.aws dynamodb update-table \ --table-nameMusicCollection\ --stream-specificationStreamEnabled=true,StreamViewType=NEW_IMAGESortie :
{ "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" } }Pour plus d’informations, consultez Mise à jour d’une table dans le Manuel du développeur Amazon DynamoDB.
Exemple 4 : pour activer le chiffrement côté serveur
L’exemple suivant active le chiffrement côté serveur sur la table
MusicCollection.aws dynamodb update-table \ --table-nameMusicCollection\ --sse-specificationEnabled=true,SSEType=KMSSortie :
{ "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" } } }Pour plus d’informations, consultez Mise à jour d’une table dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez UpdateTable
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-time-to-live.
- AWS CLI
-
Pour mettre à jour les paramètres de durée de vie (TTL) d’une table
L’exemple
update-time-to-livesuivant active la durée de vie au niveau de la table spécifiée.aws dynamodb update-time-to-live \ --table-nameMusicCollection\ --time-to-live-specificationEnabled=true,AttributeName=ttlSortie :
{ "TimeToLiveSpecification": { "Enabled": true, "AttributeName": "ttl" } }Pour plus d’informations, consultez Durée de vie dans le Manuel du développeur Amazon DynamoDB.
-
Pour plus de détails sur l’API, consultez UpdateTimeToLive
dans la Référence des commandes de l’AWS CLI.
-