Valores de atributo de expressão
Se você precisa comparar um atributo com um valor, defina um valor de atributo de expressão como um espaço reservado. Valores de atributo de expressão no Amazon DynamoDB são substitutos para os valores reais que você deseja comparar – valores que você pode não saber até o tempo de execução. Um valor de atributo de expressão deve começar com um sinal de dois pontos (:
) seguido por um ou mais caracteres alfanuméricos.
Por exemplo, suponha que você quisesse retornar todos os itens de ProductCatalog
que estão disponíveis em Black
e custam 500
ou menos. Você poderia usar uma operação Scan
com uma expressão de filtro, como neste exemplo da AWS Command Line Interface (AWS CLI).
aws dynamodb scan \ --table-name ProductCatalog \ --filter-expression "contains(Color, :c) and Price <= :p" \ --expression-attribute-values file://values.json
Os argumentos de --expression-attribute-values
são armazenados no arquivo values.json
.
{ ":c": { "S": "Black" }, ":p": { "N": "500" } }
nota
Uma operação Scan
lê cada item de uma tabela. Portanto, você deve evitar o uso de Scan
com tabelas grandes.
A expressão de filtro é aplicada aos resultados de Scan
e os itens que não correspondem à expressão do filtro são descartados.
Caso defina um valor de atributo de expressão, você deverá usá-lo de forma consistente na expressão inteira. Além disso, não é possível omitir o símbolo :
.
Os valores de atributo de expressão são usados com expressões de condições de chaves, expressões de condições, expressões de atualização e expressões de filtro.
nota
Para ver exemplos de código específicos de linguagem de programação, consulte Conceitos básicos do DynamoDB e dos SDKs da AWS.