Verificar - Amazon DynamoDB

Verificar

Importante

Esta seção refere-se à versão de API 2011-12-05, que está obsoleta e não deve ser usada para novos aplicativos.

Para obter a documentação da API de baixo nível atual, consulte a Referência da API do Amazon DynamoDB.

Descrição

A operação Scan retorna um ou mais itens e seus atributos realizando uma verificação completa de uma tabela. Forneça um ScanFilter para obter resultados mais específicos.

nota

Se o número total de itens verificados exceder o limite de 1 MB, a verificação será interrompida e os resultados serão retornados para o usuário com LastEvaluatedKey para continuar a verificação em uma operação posterior. Os resultados também incluem o número de itens que excedem o limite. O resultado de uma verificação pode ser que nenhum dado corresponda aos critérios de filtro.

O conjunto de resultados é eventualmente consistente.

Solicitações

Sintaxe

// This header is abbreviated. // For a sample of a complete header, see API de baixo nível do DynamoDB. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Scan content-type: application/x-amz-json-1.0 {"TableName":"Table1", "Limit": 2, "ScanFilter":{ "AttributeName1":{"AttributeValueList":[{"S":"AttributeValue"}],"ComparisonOperator":"EQ"} }, "ExclusiveStartKey":{ "HashKeyElement":{"S":"AttributeName1"}, "RangeKeyElement":{"N":"AttributeName2"} }, "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]}, }
Nome Descrição Obrigatório
TableName

O nome da tabela que contém os itens solicitados.

Tipo: sequência

Sim
AttributesToGet

Matriz de nomes de atributos. Se os nomes de atributos não forem especificados, todos os atributos serão retornados. Se alguns atributos não forem encontrados, eles não serão exibidos no resultado.

Tipo: matriz

Não
Limit

O número máximo de itens a serem avaliados (não necessariamente o número de itens correspondentes). Se o DynamoDB processa o número de itens até o limite ao processar os resultados, ele para e retorna os valores correspondentes até esse ponto, além de um LastEvaluatedKey para aplicar em uma operação subsequente para continuar a recuperação de itens. Além disso, se o tamanho do conjunto de dados exceder 1 MB antes que o DynamoDB atinja esse limite, a verificação será interrompida e retornará os valores correspondentes até o limite, além de uma LastEvaluatedKey para aplicar em uma operação subsequente para continuar a verificação.

Tipo: número

Não
Count

Se definido como true, o DynamoDB retorna um número total de itens para a operação Scan, mesmo se a operação não tiver itens correspondentes ao filtro associado. Você pode aplicar o parâmetro de limite somente para contar verificações.

Não defina Count como true ao fornecer uma lista de AttributesToGet. Caso contrário, o DynamoDB retornará um erro de validação. Para ter mais informações, consulte Contar os itens nos resultados.

Tipo: booliano

Não
ScanFilter

Avalia os resultados da verificação e retorna apenas os valores desejados. Várias condições são tratadas como operações "AND": todas as condições devem ser atendidas para serem incluídas nos resultados.

Tipo: um mapa de nomes de atributo para valores com operadores de comparação.

Não
ScanFilter:AttributeValueList

Os valores e as condições para avaliar os resultados da verificação do filtro.

Tipo: Um mapa de AttributeValue para uma Condition.

Não
ScanFilter:​ ComparisonOperator

Os critérios para avaliar os atributos fornecidos, como igual a, maior que etc. A seguir estão os operadores de comparação válidos para uma operação de verificação.

nota

As comparações de valor de string para maior que, igual a ou menor que são baseadas em valores de código de caracteres ASCII. Por exemplo, a é maior que A, e aa é maior que B. Para obter uma lista de valores de código, consulte http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

Para Binary, o DynamoDB trata cada byte dos dados binários como não atribuído ao comparar valores binários, por exemplo, ao avaliar as expressões de consulta.

Tipo: string ou binário

Não
 

EQ : Igual.

Para EQ, AttributeValueList pode conter apenas um AttributeValue do tipo String, Number ou Binary (e não um conjunto). Se um item contém um AttributeValue de um valor diferente do especificado na solicitação, os valores não coincidem. Por exemplo, {"S":"6"} não é igual a {"N":"6"}. Além disso, {"N":"6"} não é igual a {"NS":["6", "2", "1"]}.

 
 

NE : Não é igual.

Para NE, AttributeValueList pode conter apenas um AttributeValue do tipo String, Number ou Binary (e não um conjunto). Se um item contém um AttributeValue de um valor diferente do especificado na solicitação, os valores não coincidem. Por exemplo, {"S":"6"} não é igual a {"N":"6"}. Além disso, {"N":"6"} não é igual a {"NS":["6", "2", "1"]}.

 
 

LE : Menor ou igual a.

Para LE, AttributeValueList pode conter apenas um AttributeValue do tipo String, Number ou Binary (e não um conjunto). Se um item contém um AttributeValue de um valor diferente do especificado na solicitação, os valores não coincidem. Por exemplo, {"S":"6"} não é igual a {"N":"6"}. Além disso, {"N":"6"} não se compara a {"NS":["6", "2", "1"]}.

 
 

LT : Menor que.

Para LT, AttributeValueList pode conter apenas um AttributeValue do tipo String, Number ou Binary (e não um conjunto). Se um item contém um AttributeValue de um valor diferente do especificado na solicitação, os valores não coincidem. Por exemplo, {"S":"6"} não é igual a {"N":"6"}. Além disso, {"N":"6"} não se compara a {"NS":["6", "2", "1"]}.

 
 

GE : Maior ou igual a.

Para GE, AttributeValueList pode conter apenas um AttributeValue do tipo String, Number ou Binary (e não um conjunto). Se um item contém um AttributeValue de um valor diferente do especificado na solicitação, os valores não coincidem. Por exemplo, {"S":"6"} não é igual a {"N":"6"}. Além disso, {"N":"6"} não se compara a {"NS":["6", "2", "1"]}.

 
 

GT : Maior que.

Para GT, AttributeValueList pode conter apenas um AttributeValue do tipo String, Number ou Binary (e não um conjunto). Se um item contém um AttributeValue de um valor diferente do especificado na solicitação, os valores não coincidem. Por exemplo, {"S":"6"} não é igual a {"N":"6"}. Além disso, {"N":"6"} não se compara a {"NS":["6", "2", "1"]}.

 
 

NOT_NULL : o atributo existe.

 
 

NULL : o atributo não existe.

 
 

CONTAINS : verifica uma subsequência ou valor em um conjunto.

Para CONTAINS, AttributeValueList pode conter apenas um AttributeValue do tipo String, Number ou Binary (e não um conjunto). Se o atributo de destino da comparação for uma String, a operação procurará uma substring correspondente. Se o atributo de destino da comparação for Binary, a operação procurará uma subsequência do destino que corresponda à entrada. Se o atributo de destino da comparação for um conjunto ("SS", "NS" ou "BS"), a operação procurará um membro do conjunto (não uma substring).

 
 

NOT_CONTAINS : verifica a ausência de uma subsequência ou a ausência de um valor em um conjunto.

Para NOT_CONTAINS, AttributeValueList pode conter apenas um AttributeValue do tipo String, Number ou Binary (e não um conjunto). Se o atributo de destino da comparação for String, a operação verificará a ausência de uma substring correspondente. Se o atributo de destino da comparação for Binary, a operação verificará a ausência de uma subsequência do destino que corresponda à entrada. Se o atributo de destino da comparação for um conjunto ("SS", "NS" ou "BS"), a operação verificará a ausência de um membro do conjunto (não uma substring).

 
 

BEGINS_WITH : procura um prefixo.

Para BEGINS_WITH, AttributeValueList pode conter apenas um AttributeValue do tipo String ou Binary (e não um Number ou conjunto). O atributo de destino da comparação deve ser String ou Binary (não Number ou um conjunto).

 
 

IN : verifica se existem correspondências exatas.

Para IN, AttributeValueList pode conter mais de um AttributeValue do tipo String, Number ou Binary (não um conjunto). O atributo de destino da comparação deve ser do mesmo tipo e ter o valor exato para corresponder. Um atributo String nunca corresponde a um String set.

 
 

BETWEEN : Maior ou igual ao primeiro valor e menor que ou igual ao segundo valor.

Para BETWEEN, AttributeValueList deve conter dois elementos AttributeValue do mesmo tipo, seja String, Number ou Binary (e não um conjunto). Um atributo de destino corresponderá se o valor de destino for maior que ou igual ao primeiro elemento e menor que ou igual ao segundo elemento. Se um item contém um AttributeValue de um valor diferente do especificado na solicitação, os valores não coincidem. Por exemplo, {"S":"6"} não se compara a {"N":"6"}. Além disso, {"N":"6"} não se compara a {"NS":["6", "2", "1"]}.

 
ExclusiveStartKey

A chave primária do item a partir do qual a verificação anterior deve continuar. Uma verificação anterior deve fornecer esse valor, se essa operação Scan foi interrompida antes da verificação da tabela inteira, seja por causa do tamanho do conjunto de resultados ou do parâmetro Limit. O valor LastEvaluatedKey pode ser passado de volta em uma nova solicitação de verificação para continuar a operação a partir desse ponto.

Tipo: HashKeyElement ou HashKeyElement e RangeKeyElement para uma chave primária composta.

Não

Respostas

Sintaxe

HTTP/1.1 200 x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375 content-type: application/x-amz-json-1.0 content-length: 229 {"Count":2,"Items":[{ "AttributeName1":{"S":"AttributeValue1"}, "AttributeName2":{"S":"AttributeValue2"}, "AttributeName3":{"S":"AttributeValue3"} },{ "AttributeName1":{"S":"AttributeValue4"}, "AttributeName2":{"S":"AttributeValue5"}, "AttributeName3":{"S":"AttributeValue6"}, "AttributeName5":{"B":"dmFsdWU="} }], "LastEvaluatedKey": {"HashKeyElement":{"S":"AttributeName1"}, "RangeKeyElement":{"N":"AttributeName2"}, "ConsumedCapacityUnits":1, "ScannedCount":2} }
Nome Descrição
Items

Contêiner dos atributos que atendem aos parâmetros da operação.

Tipo: mapa de nomes de atributo e seus tipos de dados e valores.

Count

Número de itens na resposta. Para ter mais informações, consulte Contar os itens nos resultados.

Tipo: número

ScannedCount

Número de itens na verificação completa antes de todos os filtros serem aplicados. Um valor ScannedCount alto com poucos ou sem Count resultados indica uma operação Scan ineficiente. Para ter mais informações, consulte Contar os itens nos resultados.

Tipo: número

LastEvaluatedKey Chave primária do item em que a operação Scan foi interrompida. Forneça esse valor em uma operação Scan subsequente para continuar a operação a partir desse ponto.

O valor LastEvaluatedKey é null quando o conjunto de resultados da verificação inteira está completo (ou seja, a operação processou a “última página”).

ConsumedCapacityUnits

O número de unidades de capacidade de leitura consumidas pela operação. Esse valor mostra o número utilizado no throughput provisionado. Para ter mais informações, consulte Modo de capacidade provisionada do DynamoDB.

Tipo: número

Erros especiais

Erro Descrição
ResourceNotFoundException A tabela especificada não foi encontrada.

Exemplos

Para obter exemplos sobre o uso do AWS SDK, consulte Verificar tabelas no DynamoDB.

Exemplo de solicitação

// This header is abbreviated. For a sample of a complete header, see API de baixo nível do DynamoDB. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Scan content-type: application/x-amz-json-1.0 {"TableName":"1-hash-rangetable","ScanFilter":{}}

Exemplo de resposta

HTTP/1.1 200 x-amzn-RequestId: 4e8a5fa9-71e7-11e0-a498-71d736f27375 content-type: application/x-amz-json-1.0 content-length: 465 {"Count":4,"Items":[{ "date":{"S":"1980"}, "fans":{"SS":["Dave","Aaron"]}, "name":{"S":"Airplane"}, "rating":{"S":"***"} },{ "date":{"S":"1999"}, "fans":{"SS":["Ziggy","Laura","Dean"]}, "name":{"S":"Matrix"}, "rating":{"S":"*****"} },{ "date":{"S":"1976"}, "fans":{"SS":["Riley"]}," name":{"S":"The Shaggy D.A."}, "rating":{"S":"**"} },{ "date":{"S":"1985"}, "fans":{"SS":["Fox","Lloyd"]}, "name":{"S":"Back To The Future"}, "rating":{"S":"****"} }], "ConsumedCapacityUnits":0.5 "ScannedCount":4}

Exemplo de solicitação

// This header is abbreviated. For a sample of a complete header, see API de baixo nível do DynamoDB. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Scan content-type: application/x-amz-json-1.0 content-length: 125 {"TableName":"comp5", "ScanFilter": {"time": {"AttributeValueList":[{"N":"400"}], "ComparisonOperator":"GT"} } }

Exemplo de resposta

HTTP/1.1 200 OK x-amzn-RequestId: PD1CQK9QCTERLTJP20VALJ60TRVV4KQNSO5AEMVJF66Q9ASUAAJG content-type: application/x-amz-json-1.0 content-length: 262 Date: Mon, 15 Aug 2011 16:52:02 GMT {"Count":2, "Items":[ {"friends":{"SS":["Dave","Ziggy","Barrie"]}, "status":{"S":"chatting"}, "time":{"N":"2000"}, "user":{"S":"Casey"}}, {"friends":{"SS":["Dave","Ziggy","Barrie"]}, "status":{"S":"chatting"}, "time":{"N":"2000"}, "user":{"S":"Fredy"} }], "ConsumedCapacityUnits":0.5 "ScannedCount":4 }

Exemplo de solicitação

// This header is abbreviated. For a sample of a complete header, see API de baixo nível do DynamoDB. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Scan content-type: application/x-amz-json-1.0 {"TableName":"comp5", "Limit":2, "ScanFilter": {"time": {"AttributeValueList":[{"N":"400"}], "ComparisonOperator":"GT"} }, "ExclusiveStartKey": {"HashKeyElement":{"S":"Fredy"},"RangeKeyElement":{"N":"2000"}} }

Exemplo de resposta

HTTP/1.1 200 OK x-amzn-RequestId: PD1CQK9QCTERLTJP20VALJ60TRVV4KQNSO5AEMVJF66Q9ASUAAJG content-type: application/x-amz-json-1.0 content-length: 232 Date: Mon, 15 Aug 2011 16:52:02 GMT {"Count":1, "Items":[ {"friends":{"SS":["Jane","James","John"]}, "status":{"S":"exercising"}, "time":{"N":"2200"}, "user":{"S":"Roger"}} ], "LastEvaluatedKey":{"HashKeyElement":{"S":"Riley"},"RangeKeyElement":{"N":"250"}}, "ConsumedCapacityUnits":0.5 "ScannedCount":2 }