Expressões de projeção
Para ler dados de uma tabela, você pode usar operações como GetItem
, Query
ou Scan
. O Amazon DynamoDB retornará todos os atributos de item por padrão. Para obter somente alguns, em vez de todos os atributos, use uma expressão de projeção.
Uma expressão de projeção é uma string que identifica os atributos que você deseja. Para recuperar um único atributo, especifique o seu nome. Para vários atributos, os nomes devem ser separados por vírgulas.
Veja a seguir alguns exemplos de expressões de projeção, com base no item do ProductCatalog
em Especificar atributos de item ao usar expressões:
-
Um único atributo de nível superior.
Title
-
Três atributos de nível superior. O DynamoDB recupera o conjunto
Color
inteiro.Title, Price, Color
-
Quatro atributos de nível superior. O DynamoDB retorna todo o conteúdo de
RelatedItems
eProductReviews
.Title, Description, RelatedItems, ProductReviews
O DynamoDB tem uma lista de palavras reservadas e caracteres especiais. Você pode usar qualquer nome de atributo em uma expressão de projeção, desde que o primeiro caractere seja a-z
ou A-Z
e o segundo caractere (se houver) seja a-z
, A-Z
ou 0-9
. Se um nome de atributo não cumprir esse requisito, você deverá definir um nome de atributo de expressão como um espaço reservado. Para obter uma lista completa, consulte Palavras reservadas no DynamoDB. Além disso, os seguintes caracteres têm um significado especial no DynamoDB: # (hash) e : (dois-pontos).
Embora o DynamoDB permita usar essas palavras reservadas e caracteres especiais nos nomes, é recomendável evitar, pois será necessário definir variáveis de espaço reservado sempre que esses nomes forem utilizados em uma expressão. Para ter mais informações, consulte Nomes de atributos de expressão no DynamoDB.
O exemplo de AWS CLI a seguir mostra como usar uma expressão de projeção com uma operação GetItem
. Essa expressão de projeção recupera um atributo escalar de nível superior (Description
), o primeiro elemento em uma lista (RelatedItems[0]
) e uma lista aninhada em um mapa (ProductReviews.FiveStar
).
aws dynamodb get-item \ --table-name ProductCatalog \ --key file://key.json \ --projection-expression "Description, RelatedItems[0], ProductReviews.FiveStar"
O JSON a seguir seria retornado para este exemplo.
{ "Item": { "Description": { "S": "123 description" }, "ProductReviews": { "M": { "FiveStar": { "L": [ { "S": "Excellent! Can't recommend it highly enough! Buy it!" }, { "S": "Do yourself a favor and buy this." } ] } } }, "RelatedItems": { "L": [ { "N": "341" } ] } } }
Os argumentos de --key
são armazenados no arquivo key.json
.
{ "Id": { "N": "123" } }
Para ver exemplos de código específicos de linguagem de programação, consulte Conceitos básicos do DynamoDB e dos SDKs da AWS.