AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. Saiba mais
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tutorial do Amazon DynamoDB para AWS Cloud9
Este tutorial permite que você configure um ambiente de AWS Cloud9 desenvolvimento para trabalhar com o Amazon DynamoDB.
O DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado. Use o DynamoDB para criar uma tabela do banco de dados que possa armazenar e recuperar qualquer quantidade de dados e atender qualquer nível de tráfego solicitado. O DynamoDB distribui automaticamente os dados e tráfego da tabela por um número suficiente de servidores, a fim de lidar com a capacidade da solicitação especificada e com a quantidade de dados armazenados, mantendo uma performance consistente e rápida. Para obter mais informações, consulte Amazon DynamoDB
A criação dessa amostra pode resultar em cobranças em sua AWS conta. Isso inclui possíveis cobranças por serviços como Amazon EC2 e DynamoDB. Para obter mais informações, consulte Amazon EC2 Pricing e Amazon
Para obter informações sobre ofertas adicionais AWS de bancos de dados, consulte Amazon Relational Database Service (
Pré-requisitos
Antes de usar esse exemplo, verifique se suas configurações cumprem os requisitos a seguir.
-
Você deve ter um ambiente de AWS Cloud9 EC2 desenvolvimento existente. Este exemplo pressupõe que você já tenha um EC2 ambiente conectado a uma EC2 instância da Amazon que executa o Amazon Linux ou Ubuntu Servidor. Caso tenha um tipo diferente de ambiente ou sistema operacional, poderá ser necessário adaptar as instruções desse exemplo para configurar ferramentas relacionadas. Para obter mais informações, consulte Criando um ambiente em AWS Cloud9.
-
Você tem o AWS Cloud9 IDE para o ambiente existente já aberto. Quando você abre um ambiente, AWS Cloud9 abre o IDE desse ambiente em seu navegador da web. Para obter mais informações, consulte Abrindo um ambiente em AWS Cloud9.
Etapa 1: Instalar e configurar a AWS CLI, o AWS CloudShell ou ambos no ambiente
Nesta etapa, você usa o AWS Cloud9 IDE para instalar e configurar o AWS CLI AWS CloudShell, o ou ambos em seu ambiente para poder executar comandos para interagir com o DynamoDB. Em seguida, use a AWS CLI para executar um comando básico do DynamoDB para testar a instalação e a configuração.
-
Para configurar o gerenciamento de credenciais para o AWS CLI ou o AWS CloudShell e instalar o AWS CLI AWS CloudShell, o ou ambos em seu ambiente, siga as etapas 1 e 2 no AWS CloudShell exemplo AWS CLI e, em seguida, retorne a este tópico. Se você já instalou e configurou o AWS CLI AWS CloudShell, o ou ambos em seu ambiente, não precisa fazer isso novamente.
-
Teste a instalação e a configuração do AWS CLI, do aws-shell ou de ambos executando o
list-tablescomando do DynamoDB em uma sessão de terminal em seu ambiente para listar suas tabelas existentes do DynamoDB, se houver alguma. Para iniciar uma nova sessão de terminal, na barra de menus, selecione Windows (Janelas), New Terminal (Novo terminal).aws dynamodb list-tables # For the AWS CLI. dynamodb list-tables # For the aws-shell.nota
Ao longo dessa amostra, se estiver usando o aws-shell, omita
awsde cada comando que começa comaws. Para iniciar o aws-shell, execute o comandoaws-shell. Para parar de usar o aws-shell, execute o comando.exitou.quit.Se esse comando for bem-sucedido, ele gera uma matriz
TableNamesque contém uma lista das tabelas do DynamoDB existentes que você já pode ter. Caso ainda não possua tabelas do DynamoDB, a matrizTableNamesestará vazia.{ "TableNames": [] }Se você tiver tabelas do DynamoDB, a matriz
TableNamesconterá uma lista dos nomes das tabelas.
Etapa 2: Criar uma tabela
Nesta etapa, você criará uma tabela no DynamoDB e especificará o nome, o layout, a chave primária simples e as configurações de transferência de dados.
Este exemplo de tabela, chamada Weather, contém informações sobre as previsões meteorológicas para algumas cidades nos Estados Unidos. A tabela contém os seguintes tipos de informações (no DynamoDB, cada informação é conhecida como um atributo):
-
ID de cidade exclusivo obrigatório (
CityID) -
Data da previsão obrigatória (
Date) -
Nome da cidade (
City) -
Nome do estado (
State) -
Condições da previsão meteorológica (
Conditions) -
Temperaturas previstas (
Temperatures)-
Previsão alta, em graus Fahrenheit (
HighF) -
Previsão baixa, em graus Fahrenheit (
LowF)
-
Para criar a tabela, em uma sessão de terminal no AWS Cloud9 IDE, execute o comando create-tableDynamoDB.
aws dynamodb create-table \ --table-name Weather \ --attribute-definitions \ AttributeName=CityID,AttributeType=N AttributeName=Date,AttributeType=S \ --key-schema \ AttributeName=CityID,KeyType=HASH AttributeName=Date,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
Neste comando:
-
--table-namerepresenta o nome da tabela (Weatherneste exemplo). Os nomes das tabelas devem ser exclusivos em cada AWS região da sua AWS conta. -
--attribute-definitionsrepresenta os atributos que são usados para identificar de forma única os itens da tabela. Cada um dos itens dessa tabela são identificados de forma única por uma combinação de um atributoIDnumérico e um atributoDaterepresentado como uma string formatada em ISO-8601. -
--key-schemarepresenta o esquema de chaves da tabela. Essa tabela tem uma chave primária composta deCityIDeDate. Isso significa que cada um dos itens da tabela deve ter um valor de atributoCityIDe um valor de atributoDate, mas dois itens na tabela não podem ter os mesmos valores deCityIDeDate. -
--provisioned-throughputrepresenta a capacidade de leitura e gravação da tabela. O DynamoDB permite até cinco leituras fortemente consistentes por segundo para itens de até 4 KB de tamanho, ou até cinco leituras eventualmente consistentes por segundo para itens de até 4 KB. O DynamoDB também permite até 5 gravações por segundo para itens de até 1 KB de tamanho.nota
Definir uma taxa de transferência provisionada mais alta pode resultar em cobranças adicionais em sua conta. AWS
Para mais informações sobre esse e outros comandos do DynamoDB, consulte dynamodb na Referência de comandos da AWS CLI .
Se esse comando for bem-sucedido, ele exibe informações resumidas sobre a nova tabela que está sendo criada. Para confirmar se a tabela foi criada com sucesso, execute o comando describe-table do DynamoDB, especificando o nome da tabela (--table-name).
aws dynamodb describe-table --table-name Weather
Quando a tabela for criada com sucesso, o valor TableStatus muda de CREATING para ACTIVE. Não avance para a próxima etapa até que a tabela seja criada com sucesso.
Etapa 3: Adicionar um item à tabela
Nesta etapa, adicione um item à tabela que acabou de criar.
-
Crie um arquivo chamado
weather-item.jsoncom o conteúdo a seguir. Para criar um novo arquivo, na barra de menus, selecione File (Arquivo), New File (Novo arquivo). Para salvar o arquivo, selecione File (Arquivo), Save (Salvar).{ "CityID": { "N": "1" }, "Date": { "S": "2017-04-12" }, "City": { "S": "Seattle" }, "State": { "S": "WA" }, "Conditions": { "S": "Rain" }, "Temperatures": { "M": { "HighF": { "N": "59" }, "LowF": { "N": "46" } } } }Neste código,
Nrepresenta um valor de atributo que é um número.Sé um valor de atributo de string.Mé um atributo de mapa, que é um conjunto de pares de valores de atributos. É necessário especificar o tipo de dados de um atributo sempre que trabalhar com itens. Para obter os tipos de dados de atributos adicionais disponíveis, consulte Data Types (Tipos de dados) no Manual do desenvolvedor do Amazon DynamoDB. -
Execute o comando
put-itemdo DynamoDB, especificando o nome da tabela (--table-name) e o caminho para o item no formato JSON (--item).aws dynamodb put-item \ --table-name Weather \ --item file://weather-item.jsonSe o comando for bem-sucedido, ele é executado sem erros e nenhuma mensagem de confirmação é exibida.
-
Para confirmar o conteúdo atual da tabela, execute o comando
scando DynamoDB, especificando o nome da tabela (--table-name).aws dynamodb scan --table-name WeatherSe o comando for bem-sucedido, são exibidas informações resumidas sobre a tabela e sobre o item que acabou de adicionar.
Etapa 4: Adicionar diversos itens à tabela
Nesta etapa, adicione vários outros itens à tabela Weather.
-
Crie um arquivo chamado
more-weather-items.jsoncom o conteúdo a seguir.{ "Weather": [ { "PutRequest": { "Item": { "CityID": { "N": "1" }, "Date": { "S": "2017-04-13" }, "City": { "S": "Seattle" }, "State": { "S": "WA" }, "Conditions": { "S": "Rain" }, "Temperatures": { "M": { "HighF": { "N": "52" }, "LowF": { "N": "43" } } } } } }, { "PutRequest": { "Item": { "CityID": { "N": "1" }, "Date": { "S": "2017-04-14" }, "City": { "S": "Seattle" }, "State": { "S": "WA" }, "Conditions": { "S": "Rain" }, "Temperatures": { "M": { "HighF": { "N": "49" }, "LowF": { "N": "43" } } } } } }, { "PutRequest": { "Item": { "CityID": { "N": "2" }, "Date": { "S": "2017-04-12" }, "City": { "S": "Portland" }, "State": { "S": "OR" }, "Conditions": { "S": "Thunderstorms" }, "Temperatures": { "M": { "HighF": { "N": "59" }, "LowF": { "N": "43" } } } } } }, { "PutRequest": { "Item": { "CityID": { "N": "2" }, "Date": { "S": "2017-04-13" }, "City": { "S": "Portland" }, "State": { "S": "OR" }, "Conditions": { "S": "Rain" }, "Temperatures": { "M": { "HighF": { "N": "51" }, "LowF": { "N": "41" } } } } } }, { "PutRequest": { "Item": { "CityID": { "N": "2" }, "Date": { "S": "2017-04-14" }, "City": { "S": "Portland" }, "State": { "S": "OR" }, "Conditions": { "S": "Rain Showers" }, "Temperatures": { "M": { "HighF": { "N": "49" }, "LowF": { "N": "39" } } } } } }, { "PutRequest": { "Item": { "CityID": { "N": "3" }, "Date": { "S": "2017-04-12" }, "City": { "S": "Portland" }, "State": { "S": "ME" }, "Conditions": { "S": "Rain" }, "Temperatures": { "M": { "HighF": { "N": "59" }, "LowF": { "N": "40" } } } } } }, { "PutRequest": { "Item": { "CityID": { "N": "3" }, "Date": { "S": "2017-04-13" }, "City": { "S": "Portland" }, "State": { "S": "ME" }, "Conditions": { "S": "Partly Sunny" }, "Temperatures": { "M": { "HighF": { "N": "54" }, "LowF": { "N": "37" } } } } } }, { "PutRequest": { "Item": { "CityID": { "N": "3" }, "Date": { "S": "2017-04-14" }, "City": { "S": "Portland" }, "State": { "S": "ME" }, "Conditions": { "S": "Mostly Sunny" }, "Temperatures": { "M": { "HighF": { "N": "53" }, "LowF": { "N": "37" } } } } } } ] }Neste código, oito objetos
Itemdefinem os oito itens para adicionar à tabela, semelhante ao único item definido na etapa anterior. No entanto, ao executar o comandobatch-write-itemdo DynamoDB na próxima etapa, será necessário fornecer um objeto no formato JSON que inclui cada objeto doItemem um objetoPutRequestrelativo. Em seguida, será necessário incluir os objetosPutRequestem uma matriz pai com o mesmo nome que a tabela. -
Execute o comando
batch-write-itemdo DynamoDB, especificando o caminho para os itens no formato JSON para adicionar (--request-items).aws dynamodb batch-write-item \ --request-items file://more-weather-items.jsonSe o comando for bem-sucedido, ele exibe a seguinte mensagem, confirmando que os itens foram adicionados com sucesso.
{ "UnprocessedItems": {} } -
Para confirmar o conteúdo atual da tabela, execute o comando
scando DynamoDB novamente.aws dynamodb scan --table-name WeatherSe o comando for bem-sucedido, serão exibidos nove itens.
Etapa 5: Criar um índice secundário global
Executar o comando scan do DynamoDB para obter informações sobre itens pode ser lento, especialmente à medida que uma tabela cresce ou se o tipo de informação que você deseja obter for complexo. Crie um ou mais índices secundários para acelerar o processo e facilitar a obtenção das informações. Nesta etapa, você aprenderá sobre dois tipos de índices secundários compatíveis com DynamoDB para fazer exatamente isso. Eles são conhecidos como um índice secundário local e um índice secundário global. Em seguida, crie um índice secundário global.
Para entender esses tipos de índices secundários, primeiro é necessário conhecer mais sobre as chaves primárias, que identificam com exclusividade os itens de uma tabela. O DynamoDB oferece suporte a uma chave primária simples ou uma chave primária composta. Uma chave primária simples possui um único atributo e o valor desse atributo deve ser único para cada item da tabela. Esse atributo também é conhecido como uma chave de partição (ou um atributo de hash), que o DynamoDB pode usar para particionar os itens para um acesso mais rápido. Uma tabela também pode ter uma chave primária composta, que contém dois atributos. O primeiro atributo é a chave de partição e o segundo é uma chave de classificação (também conhecida como um atributo de intervalo). Em uma tabela com uma chave primária composta, quaisquer dois itens podem ter o mesmo valor de chave de partição, mas não podem ter o mesmo valor de chave de classificação, simultaneamente. A tabela Weather tem uma chave primária composta.
Um índice secundário local tem a mesma chave de partição que a própria tabela, mas esse tipo de índice pode ter uma chave de classificação diferente. Um índice secundário global pode ter uma chave de partição e uma chave de classificação que são ambas diferentes da própria tabela.
Por exemplo, use a chave primária para acessar itens Weather por CityID. Para acessar os itens Weather por State, crie um índice secundário local que tenha uma chave de partição de CityID (ela deve ser igual à própria tabela) e uma chave de classificação de State. Para acessar os itens Weather por City, crie um índice secundário global que tenha uma chave de partição de City e uma chave de classificação de Date.
Somente é possível criar índices secundários locais durante a criação de uma tabela. Como a tabela Weather já existe, não é possível adicionar índices secundários locais a ela. No entanto, você pode adicionar índices secundários globais. Pratique adicionando um agora mesmo.
nota
A criação de índices secundários pode resultar em cobranças adicionais na conta da AWS .
-
Crie um arquivo chamado
weather-global-index.jsoncom o conteúdo a seguir.[ { "Create": { "IndexName": "weather-global-index", "KeySchema": [ { "AttributeName": "City", "KeyType": "HASH" }, { "AttributeName": "Date", "KeyType": "RANGE" } ], "Projection": { "ProjectionType": "INCLUDE", "NonKeyAttributes": [ "State", "Conditions", "Temperatures" ] }, "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 } } } ]Neste código:
-
O nome do índice secundário global é
weather-global-index. -
O atributo
Cityé a chave de partição (atributo de hash) e o atributoDateé a chave de classificação (atributo de intervalo). -
Projectiondefine os atributos a serem recuperados por padrão (além do atributo de hash e qualquer atributo de intervalo) para todos os itens correspondentes a uma pesquisa de tabela que usa esse índice. Neste exemplo, os atributosState,Conditions,HighF(parte doTemperatures) eLowF(também parte doTemperatures) (bem como os atributosCityeDate) são recuperados para cada item correspondente. -
Semelhante às tabelas, um índice secundário global deve definir as configurações de transferência provisionada.
-
As configurações
IndexName,KeySchema,ProjectioneProvisionedThroughputdevem estar contidas em um objetoCreate, que define o índice secundário global a ser criado na execução do comandoupdate-tabledo DynamoDB na próxima etapa.
-
-
Execute o comando
update-tabledo DynamoDB.aws dynamodb update-table \ --table-name Weather \ --attribute-definitions \ AttributeName=City,AttributeType=S AttributeName=Date,AttributeType=S \ --global-secondary-index-updates file://weather-global-index.jsonNeste comando:
-
--table-nameé o nome da tabela para atualização. -
--attribute-definitionssão os atributos a serem incluídos no índice. A chave de partição sempre é listada primeiro e qualquer chave de classificação é sempre listada em segundo. -
--global-secondary-index-updatesé o caminho para o arquivo que define o índice secundário global.
Se esse comando for bem-sucedido, ele exibe informações resumidas sobre o novo índice secundário global que está sendo criado. Para confirmar se o índice secundário global foi criado com sucesso, execute o comando
describe-tabledo DynamoDB, especificando o nome da tabela (--table-name).aws dynamodb describe-table --table-name WeatherQuando o índice secundário global for criado com sucesso, o valor
TableStatusmuda deUPDATINGparaACTIVEe o valorIndexStatusmuda deCREATINGparaACTIVE. Não avance para a próxima etapa até que o índice secundário global seja criado com sucesso. Isso pode demorar vários minutos. -
Etapa 6: Obter itens da tabela
Existem muitas formas de obter itens das tabelas. Nesta etapa, obtenha os itens usando a chave primária da tabela ao usar os outros atributos da tabela e o índice secundário global.
Para obter um único item de uma tabela com base no valor da chave primária do item
Se você souber o valor da chave primária de um item, você poderá obter o item correspondente, executando o comando get-item , scan ou query do DynamoDB. Veja a seguir as principais diferenças nesses comandos:
-
get-itemretorna um conjunto de atributos para o item com a chave primária fornecida. -
scanretorna um ou mais itens e atributos de item ao acessar cada item em uma tabela ou um índice secundário. -
queryencontra itens com base nos valores de chave primária. Consulte qualquer tabela ou índice secundário que tenha uma chave primária composta (uma chave de partição e uma de classificação).
Neste exemplo, veja como usar cada um desses comandos para obter o item que contém o valor do atributo CityID de 1 e o valor do atributo Date de 2017-04-12.
-
Para executar o comando
get-itemdo DynamoDB, especifique o nome da tabela (--table-name), o valor da chave primária (--key) e os valores do atributo do item para exibição (--projection-expression). ComoDateé uma palavra-chave reservada no DynamoDB você também deverá fornecer um alias para o valor do atributoDate(--expression-attribute-names). (OStatetambém é uma palavra-chave reservada e, portanto, você verá um alias fornecido a ela em etapas posteriores).aws dynamodb get-item \ --table-name Weather \ --key '{ "CityID": { "N": "1" }, "Date": { "S": "2017-04-12" } }' \ --projection-expression \ "City, #D, Conditions, Temperatures.HighF, Temperatures.LowF" \ --expression-attribute-names '{ "#D": "Date" }'Neste e em outros comandos, para exibir todos os atributos do item, não inclua
--projection-expression. Neste exemplo, como--projection-expressionnão está incluso, também não é necessário incluir--expression-attribute-names.aws dynamodb get-item \ --table-name Weather \ --key '{ "CityID": { "N": "1" }, "Date": { "S": "2017-04-12" } }' -
Para executar o comando
scando DynamoDB, especifique:-
O nome da tabela (
--table-name). -
A pesquisa a ser executada (
--filter-expression). -
Os critérios de pesquisa a serem usados (
--expression-attribute-values). -
Os tipos de atributos a serem exibidos para o item correspondente (
--select). -
Os valores de atributo do item a serem exibidos (
--projection-expression). -
Se qualquer um dos atributos estiver usando palavras-chave reservadas em aliases do DynamoDB para esses atributos (
--expression-attribute-names).
aws dynamodb scan \ --table-name Weather \ --filter-expression "(CityID = :cityID) and (#D = :date)" \ --expression-attribute-values \ '{ ":cityID": { "N": "1" }, ":date": { "S": "2017-04-12" } }' \ --select SPECIFIC_ATTRIBUTES \ --projection-expression \ "City, #D, Conditions, Temperatures.HighF, Temperatures.LowF" \ --expression-attribute-names '{ "#D": "Date" }' -
-
Para executar o comando
querydo DynamoDB, especifique:-
O nome da tabela (
--table-name). -
A pesquisa a ser executada (
--key-condition-expression). -
Os valores de atributo a serem usados na pesquisa (
--expression-attribute-values). -
Os tipos de atributos a serem exibidos para o item correspondente (
--select). -
Os valores de atributo do item a serem exibidos (
--projection-expression). -
Se qualquer um dos atributos estiver usando palavras-chave reservadas em aliases do DynamoDB para esses atributos (
--expression-attribute-names).
aws dynamodb query \ --table-name Weather \ --key-condition-expression "(CityID = :cityID) and (#D = :date)" \ --expression-attribute-values \ '{ ":cityID": { "N": "1" }, ":date": { "S": "2017-04-12" } }' \ --select SPECIFIC_ATTRIBUTES \ --projection-expression \ "City, #D, Conditions, Temperatures.HighF, Temperatures.LowF" \ --expression-attribute-names '{ "#D": "Date" }'Observe que o comando
scanprecisou verificar todos os nove itens para obter o resultado, enquanto o comandoqueryprecisou verificar apenas um item. -
Para obter diversos itens de uma tabela com base nos valores de chave primária dos itens
Se você souber os valores de chave primária dos itens, poderá obter os itens correspondentes, executando o comando batch-get-item do DynamoDB. Neste exemplo, veja como obter os itens que contêm o valor do atributo CityID de 3 e valores do atributo Date de 2017-04-13 ou 2017-04-14.
Execute o comando batch-get-item , especificando o caminho para um arquivo que descreve os itens a serem obtidos (--request-items).
aws dynamodb batch-get-item --request-items file://batch-get-item.json
Para este exemplo, o código no arquivo batch-get-item.json especifica a pesquisa na tabela Weather dos itens com um CityID de 3 e uma Date de 2017-04-13 ou 2017-04-14. Para cada item encontrado, os valores de atributo para City, State, Date e HighF (parte do Temperatures) são exibidos, se existirem.
{ "Weather" : { "Keys": [ { "CityID": { "N": "3" }, "Date": { "S": "2017-04-13" } }, { "CityID": { "N": "3" }, "Date": { "S": "2017-04-14" } } ], "ProjectionExpression": "City, #S, #D, Temperatures.HighF", "ExpressionAttributeNames": { "#S": "State", "#D": "Date" } } }
Para obter todos os itens correspondentes de uma tabela
Se você souber algo sobre os valores de atributos na tabela, você poderá obter os itens correspondentes, executando o comando scan do DynamoDB. Neste exemplo, veja como obter as datas quando o valor do atributo Conditions contém Sunny e o valor do atributo HighF (parte do Temperatures) é maior que 53.
Execute o comando scan do DynamoDB, especificando:
-
O nome da tabela (
--table-name). -
A pesquisa a ser executada (
--filter-expression). -
Os critérios de pesquisa a serem usados (
--expression-attribute-values). -
Os tipos de atributos a serem exibidos para o item correspondente (
--select). -
Os valores de atributo do item a serem exibidos (
--projection-expression). -
Se qualquer um dos atributos estiver usando palavras-chave reservadas em aliases do DynamoDB para esses atributos (
--expression-attribute-names).
aws dynamodb scan \ --table-name Weather \ --filter-expression \ "(contains (Conditions, :sun)) and (Temperatures.HighF > :h)" \ --expression-attribute-values \ '{ ":sun": { "S" : "Sunny" }, ":h": { "N" : "53" } }' \ --select SPECIFIC_ATTRIBUTES \ --projection-expression "City, #S, #D, Conditions, Temperatures.HighF" \ --expression-attribute-names '{ "#S": "State", "#D": "Date" }'
Para obter todos os itens correspondentes de um índice secundário global
Para pesquisar usando um índice secundário global, use o comando query do DynamoDB. Neste exemplo, veja como usar o índice secundário weather-global-index para obter as condições de previsão para cidades com o nome Portland e para as datas de 2017-04-13 e 2017-04-14.
Execute o comando query do DynamoDB, especificando:
-
O nome da tabela (
--table-name). -
O nome do índice secundário global (
--index-name). -
A pesquisa a ser executada (
--key-condition-expression). -
Os valores de atributo a serem usados na pesquisa (
--expression-attribute-values). -
Os tipos de atributos a serem exibidos para o item correspondente (
--select). -
Se qualquer um dos atributos estiver usando palavras-chave reservadas em aliases do DynamoDB para esses atributos (
--expression-attribute-names).
aws dynamodb query \ --table-name Weather \ --index-name weather-global-index \ --key-condition-expression "(City = :city) and (#D between :date1 and :date2)" \ --expression-attribute-values \ '{ ":city": { "S" : "Portland" }, ":date1": { "S": "2017-04-13" }, ":date2": { "S": "2017-04-14" } }' \ --select SPECIFIC_ATTRIBUTES \ --projection-expression "City, #S, #D, Conditions, Temperatures.HighF" \ --expression-attribute-names '{ "#S": "State", "#D": "Date" }'
Etapa 7: Limpar
Para evitar cobranças contínuas em sua AWS conta depois que você terminar de usar essa amostra, exclua a tabela. Excluir a tabela também excluirá o índice secundário global. Exclua também o ambiente.
Para excluir a tabela, execute o comando delete-table do DynamoDB, especificando o nome da tabela (--table-name).
aws dynamodb delete-table --table-name Weather
Se o comando for bem-sucedido, serão exibidas informações sobre a tabela, incluindo o valor do TableStatus de DELETING.
Para confirmar se a tabela foi excluída com sucesso, execute o comando describe-table do DynamoDB, especificando o nome da tabela (--table-name).
aws dynamodb describe-table --table-name Weather
Se a tabela for excluída com sucesso, será exibida uma mensagem que contém a frase Requested
resource not found.
Para excluir o ambiente, consulte Deleting an Environment (Excluir um ambiente).