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 sem banco de dados totalmente gerenciadoSQL. 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 RDS ()
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 Amazon Linux ou Ubuntu Server. 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 ter 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 para esse ambiente em seu navegador da web. Para ter mais informações, consulte Abrir um ambiente no 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-tables
comando 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
aws
de 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.exit
ou.quit
.Se esse comando for bem-sucedido, ele gera uma matriz
TableNames
que contém uma lista das tabelas do DynamoDB existentes que você já pode ter. Caso ainda não possua tabelas do DynamoDB, a matrizTableNames
estará vazia.{ "TableNames": [] }
Se você tiver tabelas do DynamoDB, a matriz
TableNames
conterá 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 do create-table
DynamoDB.
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-name
representa o nome da tabela (Weather
neste exemplo). Os nomes das tabelas devem ser exclusivos em cada AWS região da sua AWS conta. -
--attribute-definitions
representa os atributos que são usados para identificar de forma única os itens da tabela. Cada um dos itens dessa tabela é identificado exclusivamente por uma combinação de umID
atributo numérico e um atributo representado como uma stringDate
formatada em ISO -8601. -
--key-schema
representa o esquema de chaves da tabela. Essa tabela tem uma chave primária composta deCityID
eDate
. Isso significa que cada um dos itens da tabela deve ter um valor de atributoCityID
e um valor de atributoDate
, mas dois itens na tabela não podem ter os mesmos valores deCityID
eDate
. -
--provisioned-throughput
representa 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.json
com 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,
N
representa 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 do
put-item
DynamoDB, especificando o nome da tabela--table-name
() e o caminho para JSON o item formatado ().--item
aws dynamodb put-item \ --table-name Weather \ --item file://weather-item.json
Se 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
scan
do DynamoDB, especificando o nome da tabela (--table-name
).aws dynamodb scan --table-name Weather
Se 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.json
com 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
Item
definem os oito itens para adicionar à tabela, semelhante ao único item definido na etapa anterior. No entanto, ao executar o comando dobatch-write-item
DynamoDB na próxima etapa, você deve fornecer JSON um objeto formatado que incluaItem
cada objeto em um objeto contido.PutRequest
Em seguida, será necessário incluir os objetosPutRequest
em uma matriz pai com o mesmo nome que a tabela. -
Execute o comando do
batch-write-item
DynamoDB, especificando o caminho para os itens formatados JSON a serem adicionados ().--request-items
aws dynamodb batch-write-item \ --request-items file://more-weather-items.json
Se 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
scan
do DynamoDB novamente.aws dynamodb scan --table-name Weather
Se 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.json
com 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). -
Projection
define 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 atributosCity
eDate
) 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
,Projection
eProvisionedThroughput
devem estar contidas em um objetoCreate
, que define o índice secundário global a ser criado na execução do comandoupdate-table
do DynamoDB na próxima etapa.
-
-
Execute o comando
update-table
do 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.json
Neste comando:
-
--table-name
é o nome da tabela para atualização. -
--attribute-definitions
sã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-table
do DynamoDB, especificando o nome da tabela (--table-name
).aws dynamodb describe-table --table-name Weather
Quando o índice secundário global for criado com sucesso, o valor
TableStatus
muda deUPDATING
paraACTIVE
e o valorIndexStatus
muda deCREATING
paraACTIVE
. 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-item
retorna um conjunto de atributos para o item com a chave primária fornecida. -
scan
retorna um ou mais itens e atributos de item ao acessar cada item em uma tabela ou um índice secundário. -
query
encontra 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-item
do 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
). (OState
també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-expression
nã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
scan
do 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
query
do 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
scan
precisou verificar todos os nove itens para obter o resultado, enquanto o comandoquery
precisou 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).