Utilizzo di indici secondari locali: AWS CLI - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di indici secondari locali: AWS CLI

Puoi utilizzare la AWS CLI per creare una tabella Amazon DynamoDB con uno o più indici secondari locali, descrivere gli indici nella tabella ed eseguire query utilizzando gli indici.

Creazione di una tabella con un indice secondario locale

Gli indici secondari locali devono essere creati al momento della creazione di una tabella. A tale scopo, utilizza il parametro create-table e fornisci le specifiche per uno o più indici secondari locali. Nel seguente esempio viene creata una tabella (Music) per contenere le informazioni sui brani in una raccolta musicale. La chiave di partizione è Artist e la chiave di ordinamento è SongTitle. Un indice secondario, AlbumTitleIndex sull'attributo AlbumTitle, facilita le query in base al titolo dell'album.

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\"]}}]"

È necessario attendere fino a quando DynamoDB crea la tabella e imposta lo stato su ACTIVE. Dopodiché, puoi iniziare a inserire item di dati nella tabella. È possibile utilizzare describe-table per determinare lo stato di avanzamento della creazione della tabella.

Descrizione di una tabella con un indice secondario locale

Per ottenere informazioni sugli indici secondari locali in una tabella, utilizza il parametro describe-table. Puoi accedere al nome, allo schema della chiave e agli attributi proiettati di ciascun indice.

aws dynamodb describe-table --table-name Music

Esecuzione di query su un indice secondario locale

Puoi utilizzare l'operazione query su un indice secondario locale nello stesso modo in cui esegui una query su una tabella. È necessario specificare il nome dell'indice, i criteri della query per la chiave di ordinamento dell'indice e gli attributi da restituire. In questo esempio, l'indice è AlbumTitleIndex e la chiave di ordinamento dell'indice è AlbumTitle.

Gli unici attributi restituiti sono quelli proiettati nell'indice. È possibile modificare questa query per selezionare anche attributi non chiave, ma ciò richiederebbe un'attività di recupero della tabella relativamente costosa. Per ulteriori informazioni sul recupero delle tabelle, consulta Proiezioni di attributi.

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"} }'