Usar Amazon DynamoDB con la AWS CLI - AWS Command Line Interface

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.

Usar Amazon DynamoDB con la AWS CLI

Introducción a Amazon DynamoDB

La AWS Command Line Interface (AWS CLI) ofrece soporte para todos los servicios de base de datos de AWS, incluido Amazon DynamoDB. Puede usar la AWS CLI para operaciones impromptu, como crear una tabla. También puede usarla para incluir operaciones de DynamoDB en scripts de utilidades.

Para obtener más información acerca del uso de AWS CLI con DynamoDB, consulte ‎dynamodb en la ‎Referencia de los comandos de AWS CLI.

Para mostrar los comandos de la AWS CLI para DynamoDB, utilice el siguiente comando.

$ aws dynamodb help

Requisitos previos

Para ejecutar los comandos de dynamodb, debe:

Creación y uso de tablas de DynamoDB

El formato de la línea de comandos se compone de un nombre de comando de DynamoDB, seguido de los parámetros de dicho comando. La AWS CLI permite utilizar la sintaxis abreviada de la CLI en los valores de los parámetros, además de todo el código JSON.

En el siguiente ejemplo, se crea una tabla llamada MusicCollection.

$ aws dynamodb create-table \ --table-name MusicCollection \ --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1

A continuación, puede añadir nuevas líneas a la tabla con comandos similares a los que se muestran en el siguiente ejemplo. En estos ejemplos se usa una combinación de sintaxis abreviada y JSON.

$ aws dynamodb put-item \ --table-name MusicCollection \ --item '{ "Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"} , "AlbumTitle": {"S": "Somewhat Famous"} }' \ --return-consumed-capacity TOTAL { "ConsumedCapacity": { "CapacityUnits": 1.0, "TableName": "MusicCollection" } }
$ aws dynamodb put-item \ --table-name MusicCollection \ --item '{ "Artist": {"S": "Acme Band"}, "SongTitle": {"S": "Happy Day"} , "AlbumTitle": {"S": "Songs About Life"} }' \ --return-consumed-capacity TOTAL { "ConsumedCapacity": { "CapacityUnits": 1.0, "TableName": "MusicCollection" } }

Puede resultar difícil crear código JSON válido en una única línea de comandos. Para facilitar la operación, la AWS CLI puede leer archivos JSON. Por ejemplo, fíjese en el fragmento de código JSON siguiente, que se almacena en un archivo denominado expression-attributes.json.

{ ":v1": {"S": "No One You Know"}, ":v2": {"S": "Call Me Today"} }

Puede utilizar ese archivo para emitir una solicitud de query mediante la AWS CLI. En el siguiente ejemplo, se usa el contenido del archivo expression-attributes.json como valor del parámetro --expression-attribute-values.

$ aws dynamodb query --table-name MusicCollection \ --key-condition-expression "Artist = :v1 AND SongTitle = :v2" \ --expression-attribute-values file://expression-attributes.json { "Count": 1, "Items": [ { "AlbumTitle": { "S": "Somewhat Famous" }, "SongTitle": { "S": "Call Me Today" }, "Artist": { "S": "No One You Know" } } ], "ScannedCount": 1, "ConsumedCapacity": null }

Uso de DynamoDB Local

Además de con DynamoDB, también puede usar la AWS CLI con DynamoDB Local. DynamoDB Local es un pequeño servidor y base de datos del lado del cliente que imita el servicio de DynamoDB. DynamoDB Local le permite escribir aplicaciones que usan la API de DynamoDB sin manipular realmente las tablas o los datos del servicio web de DynamoDB. En lugar de eso, todas las acciones de la API se redirigen a una base de datos local. lo que le permite ahorrar en rendimiento aprovisionado, almacenamiento de datos y tarifas de transferencia de datos.

Para obtener más información sobre DynamoDB Local y cómo usarlo con la AWS CLI, consulte las secciones siguientes de Guía de desarrollador de Amazon DynamoDB:

Recursos

referencia de AWS CLI:

Referencia de servicio: