dio-live-dynamodb Repositório para o live coding do dia 30/09/2021 sobre o Amazon DynamoDB

Serviço utilizado Amazon DynamoDB Amazon CLI para execução em linha de comando Comandos para execução do experimento: Criar uma tabela aws dynamodb create-table
--table-name Music
--attribute-definitions
AttributeName=Artist,AttributeType=S
AttributeName=SongTitle,AttributeType=S
--key-schema
AttributeName=Artist,KeyType=HASH
AttributeName=SongTitle,KeyType=RANGE
--provisioned-throughput
ReadCapacityUnits=10,WriteCapacityUnits=5 Inserir um item aws dynamodb put-item
--table-name Music
--item file://itemmusic.json
Inserir múltiplos itens aws dynamodb batch-write-item
--request-items file://batchmusic.json Criar um index global secundário baeado no título do álbum aws dynamodb update-table
--table-name Music
--attribute-definitions AttributeName=AlbumTitle,AttributeType=S
--global-secondary-index-updates
"[{"Create":{"IndexName": "AlbumTitle-index","KeySchema":[{"AttributeName":"AlbumTitle","KeyType":"HASH"}],
"ProvisionedThroughput": {"ReadCapacityUnits": 10, "WriteCapacityUnits": 5 },"Projection":{"ProjectionType":"ALL"}}}]" Criar um index global secundário baseado no nome do artista e no título do álbum aws dynamodb update-table
--table-name Music
--attribute-definitions
AttributeName=Artist,AttributeType=S
AttributeName=AlbumTitle,AttributeType=S
--global-secondary-index-updates
"[{"Create":{"IndexName": "ArtistAlbumTitle-index","KeySchema":[{"AttributeName":"Artist","KeyType":"HASH"}, {"AttributeName":"AlbumTitle","KeyType":"RANGE"}],
"ProvisionedThroughput": {"ReadCapacityUnits": 10, "WriteCapacityUnits": 5 },"Projection":{"ProjectionType":"ALL"}}}]" Criar um index global secundário baseado no título da música e no ano aws dynamodb update-table
--table-name Music
--attribute-definitions
AttributeName=SongTitle,AttributeType=S
AttributeName=SongYear,AttributeType=S
--global-secondary-index-updates
"[{"Create":{"IndexName": "SongTitleYear-index","KeySchema":[{"AttributeName":"SongTitle","KeyType":"HASH"}, {"AttributeName":"SongYear","KeyType":"RANGE"}],
"ProvisionedThroughput": {"ReadCapacityUnits": 10, "WriteCapacityUnits": 5 },"Projection":{"ProjectionType":"ALL"}}}]" Pesquisar item por artista aws dynamodb query
--table-name Music
--key-condition-expression "Artist = :artist"
--expression-attribute-values '{":artist":{"S":"Iron Maiden"}}' Pesquisar item por artista e título da música aws dynamodb query
--table-name Music
--key-condition-expression "Artist = :artist and SongTitle = :title"
--expression-attribute-values file://keyconditions.json Pesquisa pelo index secundário baseado no título do álbum aws dynamodb query
--table-name Music
--index-name AlbumTitle-index
--key-condition-expression "AlbumTitle = :name"
--expression-attribute-values '{":name":{"S":"Fear of the Dark"}}' Pesquisa pelo index secundário baseado no nome do artista e no título do álbum aws dynamodb query
--table-name Music
--index-name ArtistAlbumTitle-index
--key-condition-expression "Artist = :v_artist and AlbumTitle = :v_title"
--expression-attribute-values '{":v_artist":{"S":"Iron Maiden"},":v_title":{"S":"Fear of the Dark"} }' Pesquisa pelo index secundário baseado no título da música e no ano aws dynamodb query
--table-name Music
--index-name SongTitleYear-index
--key-condition-expression "SongTitle = :v_song and SongYear = :v_year"
--expression-attribute-values '{":v_song":{"S":"Wasting Love"},":v_year":{"S":"1992"} }'