Esta documentación es AWS CLI únicamente para la versión 1 de la versión. Para ver la documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplos de DynamoDB que utilizan AWS CLI
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante DynamoDB. AWS Command Line Interface
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.
Temas
Acciones
El siguiente ejemplo de código muestra cómo usarlobatch-get-item
.
- AWS CLI
-
Recuperación de varios elementos de una tabla
En el siguiente ejemplo
batch-get-items
, se leen varios elementos de la tablaMusicCollection
mediante un lote de tres solicitudesGetItem
y se solicita el número de unidades de capacidad de lectura consumidas por la operación. El comando devuelve solo el atributoAlbumTitle
.aws dynamodb batch-get-item \ --request-items
file://request-items.json
\ --return-consumed-capacityTOTAL
Contenidos 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" } }
Salida:
{ "Responses": { "MusicCollection": [ { "AlbumTitle": { "S": "Somewhat Famous" } }, { "AlbumTitle": { "S": "Blue Sky Blues" } }, { "AlbumTitle": { "S": "Louder Than Ever" } } ] }, "UnprocessedKeys": {}, "ConsumedCapacity": [ { "TableName": "MusicCollection", "CapacityUnits": 1.5 } ] }
Para obtener más información, consulte Operaciones por lotes en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte BatchGetItem
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlobatch-write-item
.
- AWS CLI
-
Adición de varios elementos a una tabla
En el siguiente ejemplo de
batch-write-item
, se añaden tres elementos nuevos a la tablaMusicCollection
mediante un lote de tres solicitudesPutItem
. También solicita información sobre el número de unidades de capacidad de escritura consumidas por la operación y cualquier colección de elementos modificada por la operación.aws dynamodb batch-write-item \ --request-items
file://request-items.json
\ --return-consumed-capacityINDEXES
\ --return-item-collection-metricsSIZE
Contenidos 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"} } } } ] }
Salida:
{ "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 } } } ] }
Para obtener más información, consulte Operaciones por lotes en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte BatchWriteItem
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlocreate-backup
.
- AWS CLI
-
Para crear una copia de seguridad de una tabla de DynamoDB existente
El siguiente
create-backup
ejemplo crea una copia de seguridad de laMusicCollection
tabla.aws dynamodb create-backup \ --table-name
MusicCollection
\ --backup-nameMusicCollectionBackup
Salida:
{ "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 } }
Para obtener más información, consulte Backup and Restore on Demand para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos CreateBackup
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlocreate-global-table
.
- AWS CLI
-
Para crear una tabla global
El siguiente
create-global-table
ejemplo crea una tabla global a partir de dos tablas idénticas en las AWS regiones separadas especificadas.aws dynamodb create-global-table \ --global-table-name
MusicCollection
\ --replication-groupRegionName=us-east-2
RegionName=us-east-1
\ --regionus-east-2
Salida:
{ "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" } }
Para obtener más información, consulte las tablas globales de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos CreateGlobalTable
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlocreate-table
.
- AWS CLI
-
Ejemplo 1: Creación de una tabla con etiquetas
En el siguiente ejemplo
create-table
, se utilizan los atributos y el esquema de claves especificados para crear una tabla denominadaMusicCollection
. En esta tabla se utiliza el rendimiento aprovisionado y se cifra en reposo mediante el sistema de propiedad predeterminada AWS . CMK El comando también aplica una etiqueta a la tabla, con una clave deOwner
y un valor deblueTeam
.aws dynamodb create-table \ --table-name
MusicCollection
\ --attribute-definitionsAttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S
\ --key-schemaAttributeName=Artist,KeyType=HASH
AttributeName=SongTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=5,WriteCapacityUnits=5
\ --tagsKey=Owner,Value=blueTeam
Salida:
{ "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" } }
Para obtener más información, consulte Operaciones básicas con tablas en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: Creación de una tabla en modo bajo demanda
En el siguiente ejemplo, se crea una tabla denominada
MusicCollection
mediante el modo bajo demanda, en lugar del modo de rendimiento aprovisionado. Esto resulta útil para tablas con cargas de trabajo impredecibles.aws dynamodb create-table \ --table-name
MusicCollection
\ --attribute-definitionsAttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S
\ --key-schemaAttributeName=Artist,KeyType=HASH
AttributeName=SongTitle,KeyType=RANGE
\ --billing-modePAY_PER_REQUEST
Salida:
{ "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" } } }
Para obtener más información, consulte Operaciones básicas con tablas en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 3: Crear una tabla y cifrarla con una tabla gestionada por el cliente CMK
En el siguiente ejemplo, se crea una tabla con un nombre
MusicCollection
y se cifra mediante una tabla gestionada por el cliente. CMKaws dynamodb create-table \ --table-name
MusicCollection
\ --attribute-definitionsAttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S
\ --key-schemaAttributeName=Artist,KeyType=HASH
AttributeName=SongTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=5,WriteCapacityUnits=5
\ --sse-specificationEnabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234
Salida:
{ "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" } } }
Para obtener más información, consulte Operaciones básicas con tablas en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 4: Creación de una tabla con un índice secundario local
En el siguiente ejemplo, se utilizan los atributos y el esquema de claves especificados para crear una tabla denominada
MusicCollection
con un índice secundario local denominadoAlbumTitleIndex
.aws dynamodb create-table \ --table-name
MusicCollection
\ --attribute-definitionsAttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S
AttributeName=AlbumTitle,AttributeType=S
\ --key-schemaAttributeName=Artist,KeyType=HASH
AttributeName=SongTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --local-secondary-indexes \ "[ { \"IndexName\": \"AlbumTitleIndex\", \"KeySchema\": [ {\"AttributeName\": \"Artist\",\"KeyType\":\"HASH\"}, {\"AttributeName\": \"AlbumTitle\",\"KeyType\":\"RANGE\"} ], \"Projection\": { \"ProjectionType\": \"INCLUDE\", \"NonKeyAttributes\": [\"Genre\", \"Year\"] } } ]"Salida:
{ "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" } ] } }
Para obtener más información, consulte Operaciones básicas con tablas en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 5: Creación de una tabla con un índice secundario global
En el siguiente ejemplo, se crea una tabla llamada
GameScores
con un índice secundario global denominadoGameTitleIndex
. La tabla base tiene una clave de particiónUserId
y una clave de clasificaciónGameTitle
, lo que permite encontrar la mejor puntuación de un usuario individual en un juego específico de manera eficiente, mientras que GSI tiene una clave de particiónGameTitle
y otra de clasificación deTopScore
, lo que permite encontrar rápidamente la puntuación más alta general de un juego en particular.aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
AttributeName=TopScore,AttributeType=N
\ --key-schemaAttributeName=UserId,KeyType=HASH
\AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --global-secondary-indexes \ "[ { \"IndexName\": \"GameTitleIndex\", \"KeySchema\": [ {\"AttributeName\":\"GameTitle\",\"KeyType\":\"HASH\"}, {\"AttributeName\":\"TopScore\",\"KeyType\":\"RANGE\"} ], \"Projection\": { \"ProjectionType\":\"INCLUDE\", \"NonKeyAttributes\":[\"UserId\"] }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": 10, \"WriteCapacityUnits\": 5 } } ]"Salida:
{ "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" } ] } }
Para obtener más información, consulte Operaciones básicas con tablas en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 6: Creación de una tabla con varios índices secundarios globales a la vez
En el siguiente ejemplo, se crea una tabla denominada
GameScores
con dos índices secundarios globales. Los GSI esquemas se transmiten a través de un archivo y no a través de la línea de comandos.aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
AttributeName=TopScore,AttributeType=N
AttributeName=Date,AttributeType=S
\ --key-schemaAttributeName=UserId,KeyType=HASH
AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --global-secondary-indexesfile://gsi.json
Contenidos 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 } } ]
Salida:
{ "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" } ] } }
Para obtener más información, consulte Operaciones básicas con tablas en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 7: Creación de una tabla que tiene habilitado Streams
En el siguiente ejemplo, se crea una tabla denominada
GameScores
con DynamoDB Streams habilitado. En el flujo se escribirán tanto las imágenes nuevas como las antiguas de cada elemento.aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
\ --key-schemaAttributeName=UserId,KeyType=HASH
AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --stream-specificationStreamEnabled=TRUE,StreamViewType=NEW_AND_OLD_IMAGES
Salida:
{ "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" } }
Para obtener más información, consulte Operaciones básicas con tablas en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 8: Creación de una tabla con un flujo habilitado solo de claves
En el siguiente ejemplo, se crea una tabla denominada
GameScores
con DynamoDB Streams habilitado. Solo se escriben en el flujo los atributos de clave del elementos modificados.aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
\ --key-schemaAttributeName=UserId,KeyType=HASH
AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --stream-specificationStreamEnabled=TRUE,StreamViewType=KEYS_ONLY
Salida:
{ "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 } }
Para obtener más información, consulte Captura de datos de cambios para DynamoDB Streams en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 9: Creación de una tabla mediante la clase de tabla de acceso poco frecuente estándar de DynamoDB
En el siguiente ejemplo se crea una tabla denominada
GameScores
y asigna la clase de tabla Estándar - Acceso poco frecuente (DynamoDB Standard-IA). Esta clase de tabla está optimizada para que el almacenamiento sea el costo dominante.aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
\ --key-schemaAttributeName=UserId,KeyType=HASH
AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --table-classSTANDARD_INFREQUENT_ACCESS
Salida:
{ "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 } }
Para obtener más información, consulte Clases de tabla en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 10: Creación de una tabla con la protección contra eliminación habilitada
En el siguiente ejemplo, se crea una tabla denominada
GameScores
y habilita la protección contra eliminación.aws dynamodb create-table \ --table-name
GameScores
\ --attribute-definitionsAttributeName=UserId,AttributeType=S
AttributeName=GameTitle,AttributeType=S
\ --key-schemaAttributeName=UserId,KeyType=HASH
AttributeName=GameTitle,KeyType=RANGE
\ --provisioned-throughputReadCapacityUnits=10,WriteCapacityUnits=5
\ --deletion-protection-enabledSalida:
{ "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 } }
Para obtener más información, consulte Uso de la protección contra eliminación en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte CreateTable
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodelete-backup
.
- AWS CLI
-
Para eliminar una copia de seguridad de DynamoDB existente
En el siguiente
delete-backup
ejemplo, se elimina la copia de seguridad existente especificada.aws dynamodb delete-backup \ --backup-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a
Salida:
{ "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": {} } }
Para obtener más información, consulte Backup and Restore on Demand para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos DeleteBackup
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlodelete-item
.
- AWS CLI
-
Ejemplo 1: Eliminación de un elemento
En el siguiente ejemplo
delete-item
, se elimina un elemento de la tablaMusicCollection
y se solicitan detalles sobre el elemento que se ha eliminado y la capacidad utilizada por la solicitud.aws dynamodb delete-item \ --table-name
MusicCollection
\ --keyfile://key.json
\ --return-valuesALL_OLD
\ --return-consumed-capacityTOTAL
\ --return-item-collection-metricsSIZE
Contenidos de
key.json
:{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Scared of My Shadow"} }
Salida:
{ "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 ] } }
Para obtener más información, consulte Escritura de un elemento en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: Eliminación de un elemento de forma condicional
En el siguiente ejemplo, se elimina un elemento de la tabla
ProductCatalog
solo siProductCategory
esSporting Goods
oGardening Supplies
y su precio está comprendido entre 500 y 600. Devuelve detalles sobre el elemento que se ha eliminado.aws dynamodb delete-item \ --table-name
ProductCatalog
\ --key '{"Id":{"N":"456"}}
' \ --condition-expression"(ProductCategory IN (:cat1, :cat2)) and (#P between :lo and :hi)"
\ --expression-attribute-namesfile://names.json
\ --expression-attribute-valuesfile://values.json
\ --return-valuesALL_OLD
Contenidos de
names.json
:{ "#P": "Price" }
Contenidos de
values.json
:{ ":cat1": {"S": "Sporting Goods"}, ":cat2": {"S": "Gardening Supplies"}, ":lo": {"N": "500"}, ":hi": {"N": "600"} }
Salida:
{ "Attributes": { "Id": { "N": "456" }, "Price": { "N": "550" }, "ProductCategory": { "S": "Sporting Goods" } } }
Para obtener más información, consulte Escritura de un elemento en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte DeleteItem
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodelete-table
.
- AWS CLI
-
Eliminación de una tabla
En el siguiente ejemplo de
delete-table
se elimina la tablaMusicCollection
.aws dynamodb delete-table \ --table-name
MusicCollection
Salida:
{ "TableDescription": { "TableStatus": "DELETING", "TableSizeBytes": 0, "ItemCount": 0, "TableName": "MusicCollection", "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "WriteCapacityUnits": 5, "ReadCapacityUnits": 5 } } }
Para obtener más información, consulte Eliminación de una tabla en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte DeleteTable
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodescribe-backup
.
- AWS CLI
-
Para obtener información sobre una copia de seguridad existente de una tabla
En el siguiente
describe-backup
ejemplo, se muestra información sobre la copia de seguridad existente especificada.aws dynamodb describe-backup \ --backup-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3a
Salida:
{ "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": {} } }
Para obtener más información, consulte Backup and Restore on Demand para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos DescribeBackup
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlodescribe-continuous-backups
.
- AWS CLI
-
Para obtener información sobre las copias de seguridad continuas de una tabla de DynamoDB
En el siguiente
describe-continuous-backups
ejemplo, se muestran detalles sobre la configuración de copia de seguridad continua de laMusicCollection
tabla.aws dynamodb describe-continuous-backups \ --table-name
MusicCollection
Salida:
{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "ENABLED", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "DISABLED" } } }
Para obtener más información, consulte Point-in-Time Recuperación de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos DescribeContinuousBackups
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlodescribe-contributor-insights
.
- AWS CLI
-
Para ver la configuración de Contributor Insights de una tabla de DynamoDB
En el siguiente
describe-contributor-insights
ejemplo, se muestra la configuración de Contributor Insights para laMusicCollection
tabla y el índice secundarioAlbumTitle-index
global.aws dynamodb describe-contributor-insights \ --table-name
MusicCollection
\ --index-nameAlbumTitle-index
Salida:
{ "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 }
Para obtener más información, consulte Análisis del acceso a los datos mediante CloudWatch Contributor Insights for DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos DescribeContributorInsights
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlodescribe-endpoints
.
- AWS CLI
-
Para ver la información de los puntos finales regionales
En el siguiente
describe-endpoints
ejemplo, se muestran detalles sobre los puntos finales de la AWS región actual.aws dynamodb describe-endpoints
Salida:
{ "Endpoints": [ { "Address": "dynamodb.us-west-2.amazonaws.com", "CachePeriodInMinutes": 1440 } ] }
Para obtener más información, consulte los puntos de conexión y las cuotas de Amazon DynamoDB en la referencia general.AWS
-
Para API obtener más información, consulte la Referencia de DescribeEndpoints
comandos AWS CLI .
-
El siguiente ejemplo de código muestra cómo usarlodescribe-global-table-settings
.
- AWS CLI
-
Para obtener información sobre la configuración de una tabla global de DynamoDB
En el siguiente
describe-global-table-settings
ejemplo, se muestra la configuración de la tablaMusicCollection
global.aws dynamodb describe-global-table-settings \ --global-table-name
MusicCollection
Salida:
{ "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 } } ] }
Para obtener más información, consulte las tablas globales de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos DescribeGlobalTableSettings
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlodescribe-global-table
.
- AWS CLI
-
Para mostrar información sobre una tabla global de DynamoDB
En el siguiente
describe-global-table
ejemplo, se muestran detalles sobre la tablaMusicCollection
global.aws dynamodb describe-global-table \ --global-table-name
MusicCollection
Salida:
{ "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" } }
Para obtener más información, consulte las tablas globales de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos DescribeGlobalTable
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlodescribe-limits
.
- AWS CLI
-
Para ver los límites de la capacidad aprovisionada
En el siguiente
describe-limits
ejemplo, se muestran los límites de capacidad aprovisionada de su cuenta en la región actual. AWSaws dynamodb describe-limits
Salida:
{ "AccountMaxReadCapacityUnits": 80000, "AccountMaxWriteCapacityUnits": 80000, "TableMaxReadCapacityUnits": 40000, "TableMaxWriteCapacityUnits": 40000 }
Para obtener más información, consulte Límites de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos DescribeLimits
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlodescribe-table-replica-auto-scaling
.
- AWS CLI
-
Para ver la configuración de escalado automático en las réplicas de una tabla global
El siguiente
describe-table-replica-auto-scaling
ejemplo muestra la configuración de escalado automático en todas las réplicas de la tablaMusicCollection
global.aws dynamodb describe-table-replica-auto-scaling \ --table-name
MusicCollection
Salida:
{ "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" } ] } }
Para obtener más información, consulte las tablas globales de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos DescribeTableReplicaAutoScaling
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlodescribe-table
.
- AWS CLI
-
Descripción de una tabla
En el siguiente ejemplo
describe-table
, se describe la tablaMusicCollection
.aws dynamodb describe-table \ --table-name
MusicCollection
Salida:
{ "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 } }
Para obtener más información, consulte Descripción de una tabla en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte DescribeTable
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodescribe-time-to-live
.
- AWS CLI
-
Visualización de la configuración de tiempo de vida de una tabla
En el siguiente ejemplo de
describe-time-to-live
, se muestra la configuración de tiempo de vida de la tablaMusicCollection
.aws dynamodb describe-time-to-live \ --table-name
MusicCollection
Salida:
{ "TimeToLiveDescription": { "TimeToLiveStatus": "ENABLED", "AttributeName": "ttl" } }
Para obtener más información, consulte Tiempo de vida en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte DescribeTimeToLive
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloget-item
.
- AWS CLI
-
Ejemplo 1: Lectura de un elemento de una tabla
En el siguiente ejemplo
get-item
, se recupera un elemento de la tablaMusicCollection
. La tabla tiene una clave hash-and-range principal (Artist
ySongTitle
), por lo que debe especificar ambos atributos. El comando también solicita información sobre la capacidad de lectura consumida por la operación.aws dynamodb get-item \ --table-name
MusicCollection
\ --keyfile://key.json
\ --return-consumed-capacityTOTAL
Contenidos de
key.json
:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }
Salida:
{ "Item": { "AlbumTitle": { "S": "Songs About Life" }, "SongTitle": { "S": "Happy Day" }, "Artist": { "S": "Acme Band" } }, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 0.5 } }
Para obtener más información, consulte Lectura de un elemento en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: Lectura de un elemento mediante una lectura coherente
En el siguiente ejemplo, se recupera un elemento de la tabla
MusicCollection
con lecturas altamente coherentes.aws dynamodb get-item \ --table-name
MusicCollection
\ --keyfile://key.json
\ --consistent-read \ --return-consumed-capacityTOTAL
Contenidos de
key.json
:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }
Salida:
{ "Item": { "AlbumTitle": { "S": "Songs About Life" }, "SongTitle": { "S": "Happy Day" }, "Artist": { "S": "Acme Band" } }, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 } }
Para obtener más información, consulte Lectura de un elemento en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 3: Recuperación de atributos específicos de un elemento
En el siguiente ejemplo, se utiliza una expresión de proyección para recuperar solo tres atributos del elemento deseado.
aws dynamodb get-item \ --table-name
ProductCatalog
\ --key '{"Id": {"N": "102"}}
' \ --projection-expression"#T, #C, #P"
\ --expression-attribute-namesfile://names.json
Contenidos de
names.json
:{ "#T": "Title", "#C": "ProductCategory", "#P": "Price" }
Salida:
{ "Item": { "Price": { "N": "20" }, "Title": { "S": "Book 102 Title" }, "ProductCategory": { "S": "Book" } } }
Para obtener más información, consulte Lectura de un elemento en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte GetItem
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolist-backups
.
- AWS CLI
-
Ejemplo 1: Para enumerar todas las copias de seguridad de DynamoDB existentes
En el siguiente
list-backups
ejemplo, se enumeran todas las copias de seguridad existentes.aws dynamodb list-backups
Salida:
{ "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 } ] }
Para obtener más información, consulte Backup and Restore on Demand para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: Para enumerar las copias de seguridad creadas por los usuarios en un intervalo de tiempo específico
El siguiente ejemplo muestra solo las copias de seguridad de la
MusicCollection
tabla que creó el usuario (no las que DynamoDB creó automáticamente) con una fecha de creación entre el 1 de enero de 2020 y el 1 de marzo de 2020.aws dynamodb list-backups \ --table-name
MusicCollection
\ --time-range-lower-bound1577836800
\ --time-range-upper-bound1583020800
\ --backup-typeUSER
Salida:
{ "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 } ] }
Para obtener más información, consulte Backup and Restore on Demand para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 3: Para limitar el tamaño de la página
El siguiente ejemplo devuelve una lista de todas las copias de seguridad existentes, pero recupera solo un elemento en cada llamada y, si es necesario, realiza varias llamadas para obtener la lista completa. Limitar el tamaño de página resulta útil cuando se ejecutan comandos de la lista en un gran número de recursos, lo que puede provocar un error de “tiempo de espera” cuando se utiliza el tamaño de página predeterminado de 1000.
aws dynamodb list-backups \ --page-size
1
Salida:
{ "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 } ] }
Para obtener más información, consulte Backup and Restore on Demand para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 4: Para limitar el número de artículos devueltos
El siguiente ejemplo limita el número de artículos devueltos a 1. La respuesta incluye un valor
NextToken
con el que recuperar la siguiente página de resultados.aws dynamodb list-backups \ --max-items
1
Salida:
{ "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" }
Para obtener más información, consulte Backup and Restore on Demand para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 5: Para recuperar la siguiente página de resultados
El comando siguiente utiliza el valor
NextToken
de una llamada anterior al comandolist-backups
para recuperar otra página de resultados. Puesto que la respuesta en este caso no incluye ningún valorNextToken
, sabemos que hemos llegado al final de los resultados.aws dynamodb list-backups \ --starting-token
abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9
Salida
{ "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 } ] }
Para obtener más información, consulte Backup and Restore on Demand para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos ListBackups
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlolist-contributor-insights
.
- AWS CLI
-
Ejemplo 1: Para ver una lista de resúmenes de Contributor Insights
El siguiente
list-contributor-insights
ejemplo muestra una lista de resúmenes de Contributor Insights.aws dynamodb list-contributor-insights
Salida:
{ "ContributorInsightsSummaries": [ { "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "ProductCatalog", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Forum", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Reply", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Thread", "ContributorInsightsStatus": "ENABLED" } ] }
Para obtener más información, consulte Análisis del acceso a los datos mediante CloudWatch Contributor Insights for DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: limitar el número de artículos devueltos
El siguiente ejemplo limita el número de artículos devueltos a 4. La respuesta incluye un valor
NextToken
con el que recuperar la siguiente página de resultados.aws dynamodb list-contributor-insights \ --max-results
4
Salida:
{ "ContributorInsightsSummaries": [ { "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "ProductCatalog", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Forum", "ContributorInsightsStatus": "ENABLED" } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }
Para obtener más información, consulte Análisis del acceso a los datos mediante CloudWatch Contributor Insights for DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 3: Para recuperar la siguiente página de resultados
El comando siguiente utiliza el valor
NextToken
de una llamada anterior al comandolist-contributor-insights
para recuperar otra página de resultados. Puesto que la respuesta en este caso no incluye ningún valorNextToken
, sabemos que hemos llegado al final de los resultados.aws dynamodb list-contributor-insights \ --max-results
4
\ --next-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9
Salida:
{ "ContributorInsightsSummaries": [ { "TableName": "Reply", "ContributorInsightsStatus": "ENABLED" }, { "TableName": "Thread", "ContributorInsightsStatus": "ENABLED" } ] }
Para obtener más información, consulte Análisis del acceso a los datos mediante CloudWatch Contributor Insights for DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos ListContributorInsights
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlolist-global-tables
.
- AWS CLI
-
Para enumerar las tablas globales de DynamoDB existentes
En el siguiente
list-global-tables
ejemplo, se muestran todas las tablas globales existentes.aws dynamodb list-global-tables
Salida:
{ "GlobalTables": [ { "GlobalTableName": "MusicCollection", "ReplicationGroup": [ { "RegionName": "us-east-2" }, { "RegionName": "us-east-1" } ] } ] }
Para obtener más información, consulte las tablas globales de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos ListGlobalTables
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlolist-tables
.
- AWS CLI
-
Ejemplo 1: Creación de una lista de tablas
En el siguiente
list-tables
ejemplo, se enumeran todas las tablas asociadas a la AWS cuenta actual y a la región.aws dynamodb list-tables
Salida:
{ "TableNames": [ "Forum", "ProductCatalog", "Reply", "Thread" ] }
Para obtener más información, consulte Enumeración de nombres de tablas en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: Limitación del tamaño de la página
En el siguiente ejemplo, se devuelve una lista de todas las tablas existentes, pero recupera solo un elemento en cada llamada y, si es necesario, realiza varias llamadas para obtener la lista completa. Limitar el tamaño de página resulta útil cuando se ejecutan comandos de la lista en un gran número de recursos, lo que puede provocar un error de “tiempo de espera” cuando se utiliza el tamaño de página predeterminado de 1000.
aws dynamodb list-tables \ --page-size
1
Salida:
{ "TableNames": [ "Forum", "ProductCatalog", "Reply", "Thread" ] }
Para obtener más información, consulte Enumeración de nombres de tablas en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 3: Limitación del número de elementos devueltos
En el siguiente ejemplo, se limita el número de filas devueltas a 2. La respuesta incluye un valor
NextToken
con el que recuperar la siguiente página de resultados.aws dynamodb list-tables \ --max-items
2
Salida:
{ "TableNames": [ "Forum", "ProductCatalog" ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }
Para obtener más información, consulte Enumeración de nombres de tablas en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 4: Recuperación de la siguiente página de resultados
El comando siguiente utiliza el valor
NextToken
de una llamada anterior al comandolist-tables
para recuperar otra página de resultados. Puesto que la respuesta en este caso no incluye ningún valorNextToken
, sabemos que hemos llegado al final de los resultados.aws dynamodb list-tables \ --starting-token
abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9
Salida:
{ "TableNames": [ "Reply", "Thread" ] }
Para obtener más información, consulte Enumeración de nombres de tablas en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte ListTables
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlolist-tags-of-resource
.
- AWS CLI
-
Ejemplo 1: Para enumerar las etiquetas de un recurso de DynamoDB
En el siguiente
list-tags-of-resource
ejemplo, se muestran las etiquetas de laMusicCollection
tabla.aws dynamodb list-tags-of-resource \ --resource-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection
Salida:
{ "Tags": [ { "Key": "Owner", "Value": "blueTeam" }, { "Key": "Environment", "Value": "Production" } ] }
Para obtener más información, consulte Etiquetado para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: limitar el número de etiquetas devueltas
El siguiente ejemplo limita el número de etiquetas devueltas a 1. La respuesta incluye un valor
NextToken
con el que recuperar la siguiente página de resultados.aws dynamodb list-tags-of-resource \ --resource-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection
\ --max-items1
Salida:
{ "Tags": [ { "Key": "Owner", "Value": "blueTeam" } ], "NextToken": "abCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9" }
Para obtener más información, consulte Etiquetado para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 3: Para recuperar la siguiente página de resultados
El comando siguiente utiliza el valor
NextToken
de una llamada anterior al comandolist-tags-of-resource
para recuperar otra página de resultados. Puesto que la respuesta en este caso no incluye ningún valorNextToken
, sabemos que hemos llegado al final de los resultados.aws dynamodb list-tags-of-resource \ --resource-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection
\ --starting-tokenabCDeFGhiJKlmnOPqrSTuvwxYZ1aBCdEFghijK7LM51nOpqRSTuv3WxY3ZabC5dEFGhI2Jk3LmnoPQ6RST9
Salida:
{ "Tags": [ { "Key": "Environment", "Value": "Production" } ] }
Para obtener más información, consulte Etiquetado para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos. ListTagsOfResource
AWS CLI
-
El siguiente ejemplo de código muestra cómo usarloput-item
.
- AWS CLI
-
Ejemplo 1: Adición de un elemento a una tabla
En el siguiente
put-item
ejemplo, se agrega un elemento nuevo a la MusicCollectiontabla.aws dynamodb put-item \ --table-name
MusicCollection
\ --itemfile://item.json
\ --return-consumed-capacityTOTAL
\ --return-item-collection-metricsSIZE
Contenidos de
item.json
:{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Greatest Hits"} }
Salida:
{ "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 }, "ItemCollectionMetrics": { "ItemCollectionKey": { "Artist": { "S": "No One You Know" } }, "SizeEstimateRangeGB": [ 0.0, 1.0 ] } }
Para obtener más información, consulte Escritura de un elemento en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: Sobrescritura condicional de un elemento de una tabla
En el siguiente ejemplo de
put-item
se sobrescribe un elemento existente de la tablaMusicCollection
solo si ese elemento existente tiene un atributoAlbumTitle
con un valor deGreatest Hits
. El comando devuelve el valor anterior del elemento.aws dynamodb put-item \ --table-name
MusicCollection
\ --itemfile://item.json
\ --condition-expression"#A = :A"
\ --expression-attribute-namesfile://names.json
\ --expression-attribute-valuesfile://values.json
\ --return-valuesALL_OLD
Contenidos de
item.json
:{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"} }
Contenidos de
names.json
:{ "#A": "AlbumTitle" }
Contenidos de
values.json
:{ ":A": {"S": "Greatest Hits"} }
Salida:
{ "Attributes": { "AlbumTitle": { "S": "Greatest Hits" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } } }
Si la clave ya existe, debería ver el siguiente resultado:
A client error (ConditionalCheckFailedException) occurred when calling the PutItem operation: The conditional request failed.
Para obtener más información, consulte Escritura de un elemento en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte PutItem
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloquery
.
- AWS CLI
-
Ejemplo 1: Consulta de una tabla
En el siguiente ejemplo de
query
se consultan elementos de la tablaMusicCollection
. La tabla tiene una clave hash-and-range principal (Artist
ySongTitle
), pero esta consulta solo especifica el valor de la clave hash. Devuelve los títulos de las canciones del artista llamado “No One You Know”.aws dynamodb query \ --table-name
MusicCollection
\ --projection-expression"SongTitle"
\ --key-condition-expression"Artist = :v1"
\ --expression-attribute-valuesfile://expression-attributes.json
\ --return-consumed-capacityTOTAL
Contenidos de
expression-attributes.json
:{ ":v1": {"S": "No One You Know"} }
Salida:
{ "Items": [ { "SongTitle": { "S": "Call Me Today" }, "SongTitle": { "S": "Scared of My Shadow" } } ], "Count": 2, "ScannedCount": 2, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 0.5 } }
Para obtener más información, consulte Uso de consultas en DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: Consulta de una tabla con lecturas altamente coherentes y recorrer el índice en orden descendente
En el siguiente ejemplo se realiza la misma consulta que en el primer ejemplo, pero se devuelven los resultados en orden inverso y se utilizan lecturas altamente coherentes.
aws dynamodb query \ --table-name
MusicCollection
\ --projection-expression"SongTitle"
\ --key-condition-expression"Artist = :v1"
\ --expression-attribute-valuesfile://expression-attributes.json
\ --consistent-read \ --no-scan-index-forward \ --return-consumed-capacityTOTAL
Contenidos de
expression-attributes.json
:{ ":v1": {"S": "No One You Know"} }
Salida:
{ "Items": [ { "SongTitle": { "S": "Scared of My Shadow" } }, { "SongTitle": { "S": "Call Me Today" } } ], "Count": 2, "ScannedCount": 2, "ConsumedCapacity": { "TableName": "MusicCollection", "CapacityUnits": 1.0 } }
Para obtener más información, consulte Uso de consultas en DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 3: Filtrado de resultados específicos
En el siguiente ejemplo se consulta
MusicCollection
pero se excluyen los resultados con valores específicos en el atributoAlbumTitle
. Tenga en cuenta que esto no afecta aScannedCount
oConsumedCapacity
, ya que el filtro se aplica después de leer los elementos.aws dynamodb query \ --table-name
MusicCollection
\ --key-condition-expression"#n1 = :v1"
\ --filter-expression"NOT (#n2 IN (:v2, :v3))"
\ --expression-attribute-namesfile://names.json
\ --expression-attribute-valuesfile://values.json
\ --return-consumed-capacityTOTAL
Contenidos de
values.json
:{ ":v1": {"S": "No One You Know"}, ":v2": {"S": "Blue Sky Blues"}, ":v3": {"S": "Greatest Hits"} }
Contenidos de
names.json
:{ "#n1": "Artist", "#n2": "AlbumTitle" }
Salida:
{ "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 } }
Para obtener más información, consulte Uso de consultas en DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 4: Recuperación de un solo recuento de elementos
En el siguiente ejemplo, se recupera un recuento de los elementos que coinciden con la consulta, pero no recupera ninguno de los elementos en sí.
aws dynamodb query \ --table-name
MusicCollection
\ --selectCOUNT
\ --key-condition-expression"Artist = :v1"
\ --expression-attribute-valuesfile://expression-attributes.json
Contenidos de
expression-attributes.json
:{ ":v1": {"S": "No One You Know"} }
Salida:
{ "Count": 2, "ScannedCount": 2, "ConsumedCapacity": null }
Para obtener más información, consulte Uso de consultas en DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 5: Consulta de un índice
El siguiente ejemplo consulta el índice secundario global
AlbumTitleIndex
. La consulta devuelve todos los atributos de la tabla base que se han proyectado en el índice secundario local. Tenga en cuenta que, al consultar un índice secundario local o un índice secundario global, también debe proporcionar el nombre de la tabla base mediante el parámetrotable-name
.aws dynamodb query \ --table-name
MusicCollection
\ --index-nameAlbumTitleIndex
\ --key-condition-expression"Artist = :v1"
\ --expression-attribute-valuesfile://expression-attributes.json
\ --selectALL_PROJECTED_ATTRIBUTES
\ --return-consumed-capacityINDEXES
Contenidos de
expression-attributes.json
:{ ":v1": {"S": "No One You Know"} }
Salida:
{ "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 } } } }
Para obtener más información, consulte Uso de consultas en DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte Query
in AWS CLI Command Reference.
-
El siguiente ejemplo de código muestra cómo usarlorestore-table-from-backup
.
- AWS CLI
-
Para restaurar una tabla de DynamoDB a partir de una copia de seguridad existente
El siguiente
restore-table-from-backup
ejemplo restaura la tabla especificada a partir de una copia de seguridad existente.aws dynamodb restore-table-from-backup \ --target-table-name
MusicCollection
\ --backup-arnarn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/backup/01576616366715-b4e58d3aSalida:
{ "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 } } }
Para obtener más información, consulte Backup and Restore on Demand para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos RestoreTableFromBackup
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlorestore-table-to-point-in-time
.
- AWS CLI
-
Para restaurar una tabla de DynamoDB a un punto en el tiempo
El siguiente
restore-table-to-point-in-time
ejemplo restaura laMusicCollection
tabla en el momento especificado.aws dynamodb restore-table-to-point-in-time \ --source-table-name
MusicCollection
\ --target-table-nameMusicCollectionRestore
\ --restore-date-time1576622404.0
Salida:
{ "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 } } }
Para obtener más información, consulte Point-in-Time Recuperación de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos RestoreTableToPointInTime
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarloscan
.
- AWS CLI
-
Análisis de una tabla
En el siguiente ejemplo de
scan
se escanea toda la tablaMusicCollection
y, a continuación, se reducen los resultados a las canciones del artista “No One You Know”. Para cada elemento, solo se devuelven el título del álbum y el título de la canción.aws dynamodb scan \ --table-name
MusicCollection
\ --filter-expression"Artist = :a"
\ --projection-expression"#ST, #AT"
\ --expression-attribute-namesfile://expression-attribute-names.json
\ --expression-attribute-valuesfile://expression-attribute-values.json
Contenidos de
expression-attribute-names.json
:{ "#ST": "SongTitle", "#AT":"AlbumTitle" }
Contenidos de
expression-attribute-values.json
:{ ":a": {"S": "No One You Know"} }
Salida:
{ "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 }
Para obtener más información, consulte Uso de operaciones de análisis en DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte Scan
in AWS CLI Command Reference.
-
El siguiente ejemplo de código muestra cómo usarlotag-resource
.
- AWS CLI
-
Para añadir etiquetas a un recurso de DynamoDB
En el siguiente
tag-resource
ejemplo, se agrega un par clave/valor de etiqueta a la tabla.MusicCollection
aws dynamodb tag-resource \ --resource-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection
\ --tagsKey=Owner,Value=blueTeam
Este comando no genera ninguna salida.
Para obtener más información, consulte Etiquetado para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos. TagResource
AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlotransact-get-items
.
- AWS CLI
-
Para recuperar varios elementos de forma atómica de una o más tablas
El siguiente
transact-get-items
ejemplo recupera varios elementos de forma atómica.aws dynamodb transact-get-items \ --transact-items
file://transact-items.json
\ --return-consumed-capacityTOTAL
Contenidos 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" } } ]
Salida:
{ "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" } } } ] }
Para obtener más información, consulte Gestión de flujos de trabajo complejos con transacciones de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos TransactGetItems
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlotransact-write-items
.
- AWS CLI
-
Ejemplo 1: escribir elementos de forma atómica en una o más tablas
En el siguiente
transact-write-items
ejemplo, se actualiza un elemento y se elimina otro. La operación falla si alguna de las operaciones falla o si alguno de los elementos contiene unRating
atributo.aws dynamodb transact-write-items \ --transact-items
file://transact-items.json
\ --return-consumed-capacityTOTAL
\ --return-item-collection-metricsSIZE
Contenido del
transact-items.json
archivo:[ { "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)" } } ]
Salida:
{ "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 ] } ] } }
Para obtener más información, consulte Gestión de flujos de trabajo complejos con transacciones de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: escribir elementos de forma atómica mediante un token de solicitud del cliente
El siguiente comando usa un token de solicitud del cliente para realizar la llamada a
transact-write-items
idempotent, lo que significa que varias llamadas tienen el mismo efecto que una sola llamada.aws dynamodb transact-write-items \ --transact-items
file://transact-items.json
\ --client-request-tokenabc123
Contenido del archivo:
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)" } } ]
Este comando no genera ninguna salida.
Para obtener más información, consulte Gestión de flujos de trabajo complejos con transacciones de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos TransactWriteItems
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarlountag-resource
.
- AWS CLI
-
Para eliminar una etiqueta de un recurso de DynamoDB
En el siguiente
untag-resource
ejemplo, se elimina la etiqueta con la claveOwner
de laMusicCollection
tabla.aws dynamodb untag-resource \ --resource-arn
arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection
\ --tag-keysOwner
Este comando no genera ninguna salida.
Para obtener más información, consulte Etiquetado para DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos. UntagResource
AWS CLI
-
El siguiente ejemplo de código muestra cómo usarloupdate-continuous-backups
.
- AWS CLI
-
Para actualizar la configuración de copia de seguridad continua de una tabla de DynamoDB
El siguiente
update-continuous-backups
ejemplo permite la point-in-time recuperación de laMusicCollection
tabla.aws dynamodb update-continuous-backups \ --table-name
MusicCollection
\ --point-in-time-recovery-specificationPointInTimeRecoveryEnabled=true
Salida:
{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "ENABLED", "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1576622404.0, "LatestRestorableDateTime": 1576622404.0 } } }
Para obtener más información, consulte Point-in-Time Recuperación de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos UpdateContinuousBackups
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarloupdate-contributor-insights
.
- AWS CLI
-
Para habilitar Contributor Insights en una tabla
El siguiente
update-contributor-insights
ejemplo habilita Contributor Insights en laMusicCollection
tabla y en el índice secundarioAlbumTitle-index
global.aws dynamodb update-contributor-insights \ --table-name
MusicCollection
\ --index-nameAlbumTitle-index
\ --contributor-insights-actionENABLE
Salida:
{ "TableName": "MusicCollection", "IndexName": "AlbumTitle-index", "ContributorInsightsStatus": "ENABLING" }
Para obtener más información, consulte Análisis del acceso a los datos mediante CloudWatch Contributor Insights for DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos UpdateContributorInsights
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarloupdate-global-table-settings
.
- AWS CLI
-
Para actualizar la configuración de la capacidad de escritura aprovisionada en una tabla global de DynamoDB
El siguiente
update-global-table-settings
ejemplo establece la capacidad de escritura aprovisionada de la tablaMusicCollection
global en 15.aws dynamodb update-global-table-settings \ --global-table-name
MusicCollection
\ --global-table-provisioned-write-capacity-units15
Salida:
{ "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 } } ] }
Para obtener más información, consulte las tablas globales de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos UpdateGlobalTableSettings
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarloupdate-global-table
.
- AWS CLI
-
Para actualizar una tabla global de DynamoDB
En el siguiente
update-global-table
ejemplo, se agrega una réplica de la región especificada a la tablaMusicCollection
global.aws dynamodb update-global-table \ --global-table-name
MusicCollection
\ --replica-updatesCreate={RegionName=eu-west-1}
Salida:
{ "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" } }
Para obtener más información, consulte las tablas globales de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos UpdateGlobalTable
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarloupdate-item
.
- AWS CLI
-
Ejemplo 1: Actualización de un elemento de una tabla
En el siguiente ejemplo de
update-item
, se actualiza un elemento de la tablaMusicCollection
. Añade un nuevo atributo (Year
) y modifica el atributoAlbumTitle
. En la respuesta se muestran todos los atributos del elemento, tal como aparecen después de la actualización.aws dynamodb update-item \ --table-name
MusicCollection
\ --keyfile://key.json
\ --update-expression"SET #Y = :y, #AT = :t"
\ --expression-attribute-namesfile://expression-attribute-names.json
\ --expression-attribute-valuesfile://expression-attribute-values.json
\ --return-valuesALL_NEW
\ --return-consumed-capacityTOTAL
\ --return-item-collection-metricsSIZE
Contenidos de
key.json
:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }
Contenidos de
expression-attribute-names.json
:{ "#Y":"Year", "#AT":"AlbumTitle" }
Contenidos de
expression-attribute-values.json
:{ ":y":{"N": "2015"}, ":t":{"S": "Louder Than Ever"} }
Salida:
{ "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 ] } }
Para obtener más información, consulte Escritura de un elemento en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 2: Actualización de un elemento de forma condicional
En el siguiente ejemplo se actualiza un elemento de la tabla
MusicCollection
, pero solo si el elemento existente aún no tiene un atributoYear
.aws dynamodb update-item \ --table-name
MusicCollection
\ --keyfile://key.json
\ --update-expression"SET #Y = :y, #AT = :t"
\ --expression-attribute-namesfile://expression-attribute-names.json
\ --expression-attribute-valuesfile://expression-attribute-values.json
\ --condition-expression"attribute_not_exists(#Y)"
Contenidos de
key.json
:{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} }
Contenidos de
expression-attribute-names.json
:{ "#Y":"Year", "#AT":"AlbumTitle" }
Contenidos de
expression-attribute-values.json
:{ ":y":{"N": "2015"}, ":t":{"S": "Louder Than Ever"} }
Si el elemento ya tiene un atributo
Year
, DynamoDB devuelve el siguiente resultado.An error occurred (ConditionalCheckFailedException) when calling the UpdateItem operation: The conditional request failed
Para obtener más información, consulte Escritura de un elemento en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte UpdateItem
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloupdate-table-replica-auto-scaling
.
- AWS CLI
-
Para actualizar la configuración de escalado automático en todas las réplicas de una tabla global
El siguiente
update-table-replica-auto-scaling
ejemplo actualiza la configuración de escalado automático de la capacidad de escritura en todas las réplicas de la tabla global especificada.aws dynamodb update-table-replica-auto-scaling \ --table-name
MusicCollection
\ --provisioned-write-capacity-auto-scaling-updatefile://auto-scaling-policy.json
Contenidos de
auto-scaling-policy.json
:{ "MinimumUnits": 10, "MaximumUnits": 100, "AutoScalingDisabled": false, "ScalingPolicyUpdate": { "PolicyName": "DynamoDBWriteCapacityUtilization:table/MusicCollection", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 80 } } }
Salida:
{ "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" } ] } }
Para obtener más información, consulte las tablas globales de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB.
-
Para obtener API más información, consulte la Referencia de comandos UpdateTableReplicaAutoScaling
.AWS CLI
-
El siguiente ejemplo de código muestra cómo usarloupdate-table
.
- AWS CLI
-
Ejemplo 1: para modificar el modo de facturación de una tabla
El siguiente ejemplo de
update-table
aumenta la capacidad de lectura y escritura aprovisionada en la tablaMusicCollection
.aws dynamodb update-table \ --table-name
MusicCollection
\ --billing-modePROVISIONED
\ --provisioned-throughputReadCapacityUnits=15,WriteCapacityUnits=10
Salida:
{ "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" } } }
Para obtener más información, consulte Actualización de una tabla en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 5: crear un índice secundario global
En el siguiente ejemplo se añade un índice secundario global a la tabla
MusicCollection
.aws dynamodb update-table \ --table-name
MusicCollection
\ --attribute-definitionsAttributeName=AlbumTitle,AttributeType=S
\ --global-secondary-index-updatesfile://gsi-updates.json
Contenidos de
gsi-updates.json
:[ { "Create": { "IndexName": "AlbumTitle-index", "KeySchema": [ { "AttributeName": "AlbumTitle", "KeyType": "HASH" } ], "ProvisionedThroughput": { "ReadCapacityUnits": 10, "WriteCapacityUnits": 10 }, "Projection": { "ProjectionType": "ALL" } } } ]
Salida:
{ "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" } ] } }
Para obtener más información, consulte Actualización de una tabla en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 3: activar DynamoDB Streams en una tabla
El siguiente comando activa DynamoDB Streams en la tabla
MusicCollection
.aws dynamodb update-table \ --table-name
MusicCollection
\ --stream-specificationStreamEnabled=true,StreamViewType=NEW_IMAGE
Salida:
{ "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" } }
Para obtener más información, consulte Actualización de una tabla en la Guía para desarrolladores de Amazon DynamoDB.
Ejemplo 4: activar el cifrado en el lado del servidor
El siguiente ejemplo activa el cifrado del lado del servidor en la tabla
MusicCollection
.aws dynamodb update-table \ --table-name
MusicCollection
\ --sse-specificationEnabled=true,SSEType=KMS
Salida:
{ "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" } } }
Para obtener más información, consulte Actualización de una tabla en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte UpdateTable
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarloupdate-time-to-live
.
- AWS CLI
-
Actualización de la configuración de tiempo de vida en una tabla
El siguiente ejemplo de
update-time-to-live
activa Tiempo de vida en la tabla especificada.aws dynamodb update-time-to-live \ --table-name
MusicCollection
\ --time-to-live-specificationEnabled=true,AttributeName=ttl
Salida:
{ "TimeToLiveSpecification": { "Enabled": true, "AttributeName": "ttl" } }
Para obtener más información, consulte Tiempo de vida en la Guía para desarrolladores de Amazon DynamoDB.
-
Para API obtener más información, consulte UpdateTimeToLive
la Referencia de AWS CLI comandos.
-