Expressões de projeção - Amazon DynamoDB

Expressões de projeção

Para ler dados de uma tabela, você pode usar operações como GetItem, Queryou 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 e ProductReviews.

    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.