Trabajar con índices secundarios locales: AWS CLI - Amazon DynamoDB

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.

Trabajar con índices secundarios locales: AWS CLI

Puede usar la AWS CLI para crear una tabla de Amazon DynamoDB con uno o más índices secundarios locales, describir los índices de la tabla y utilizarlos para realizar consultas.

Creación de una tabla con un índice secundario local

Los índices secundarios locales se deben crear al mismo tiempo que la tabla. Para ello, use el parámetro create-table y proporcione las especificaciones para uno o más índices secundarios locales. En el ejemplo siguiente, se crea una tabla (Music) para contener información sobre las canciones de una colección de música. La clave de partición es Artist y la de ordenación, SongTitle. Un índice secundario AlbumTitleIndex en el atributo AlbumTitle facilita las consultas por título de álbum.

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

Debe esperar hasta que DynamoDB cree la tabla y establezca el estado de esta última en ACTIVE. A partir de ese momento, puede comenzar a incluir elementos de datos en la tabla. Puede utilizar describe-table Para determinar el estado de la creación de tablas.

Descripción de una tabla con un índice secundario local

Para obtener información acerca de los índices secundarios locales en una tabla, utilice el parámetro describe-table. Para cada índice, puede obtener acceso a su nombre, esquema de claves y atributos proyectados.

aws dynamodb describe-table --table-name Music

Consulta de un índice secundario local

Puede usar la operación query en un índice secundario local de un modo bastante parecido a como query se usa en una tabla. Debe especificar el nombre del índice, los criterios de consulta de la clave de ordenación del índice y los atributos que desea devolver. En este ejemplo, el índice es AlbumTitleIndex y la clave de ordenación del índice es AlbumTitle.

Los únicos atributos devueltos son aquellos que se han proyectado en el índice. Puede modificar esta consulta de modo que también seleccione atributos sin clave, pero esto requeriría realizar actividad de recuperación en la tabla, lo que resulta relativamente costoso. Para obtener más información sobre recuperaciones de tablas, consulte Proyecciones de atributos.

aws dynamodb query \ --table-name Music \ --index-name AlbumTitleIndex \ --key-condition-expression "Artist = :v_artist and AlbumTitle = :v_title" \ --expression-attribute-values '{":v_artist":{"S":"Acme Band"},":v_title":{"S":"Songs About Life"} }'