Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Importante
This section refers to API version 2011-12-05,
which is deprecated and should not be used for new
applications.
Per la documentazione sull'attuale livello bassoAPI, consulta Amazon DynamoDB Reference API.
Descrizione
Un'Query
operazione ottiene i valori di uno o più elementi e i relativi attributi per chiave primaria (Query
è disponibile solo per le tabelle a chiave hash-and-range primaria). È necessario fornire un HashKeyValue
specifico ed è possibile restringere l'ambito della query utilizzando gli operatori di confronto sul RangeKeyValue
della chiave primaria. Utilizza il parametro ScanIndexForward
per ottenere risultati in ordine in avanti o all'indietro in base alla chiave di intervallo.
Le query che non restituiscono risultati consumano il numero minimo di unità di capacità di lettura in base al tipo di lettura.
Nota
Se il numero totale di elementi che soddisfano i parametri della query supera il limite di 1 MB, la query si interrompe e i risultati vengono restituiti all'utente con un LastEvaluatedKey
per continuare la query in un'operazione successiva. A differenza di un'operazione Scan, un'operazione Query non restituisce mai un set di risultati vuoto e un LastEvaluatedKey
. LastEvaluatedKey
viene fornito solo se i risultati superano 1 MB o se è stato utilizzato il parametro Limit
.
Il risultato può essere impostato per una lettura consistente utilizzando il parametro ConsistentRead
.
Richieste
Sintassi
// This header is abbreviated. // For a sample of a complete header, see DynamoDB di basso livello API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Query content-type: application/x-amz-json-1.0 {"TableName":"Table1", "Limit":2, "ConsistentRead":true, "HashKeyValue":{"S":"AttributeValue1":}, "RangeKeyCondition": {"AttributeValueList":[{"N":"AttributeValue2"}],"ComparisonOperator":"GT"} "ScanIndexForward":true, "ExclusiveStartKey":{ "HashKeyElement":{"S":"AttributeName1"}, "RangeKeyElement":{"N":"AttributeName2"} }, "AttributesToGet":["AttributeName1", "AttributeName2", "AttributeName3"]}, }
Nome | Descrizione | Richiesto |
---|---|---|
TableName
|
Il nome della tabella che contiene gli elementi richiesti. Tipo: stringa |
Sì |
AttributesToGet
|
Matrice di nomi di attributi. Se i nomi degli attributi non sono specificati, verranno restituiti tutti gli attributi. Se alcuni attributi non vengono trovati, non verranno visualizzati nel risultato. Tipo: Array |
No |
Limit
|
Il numero massimo di elementi da restituire (non necessariamente il numero di elementi corrispondenti). Se DynamoDB elabora il numero di elementi fino al limite durante la query sulla tabella, interrompe la query e restituisce i valori corrispondenti fino a quel punto e un Tipo: numero |
No |
ConsistentRead
|
Se impostato su Tipo: Booleano |
No |
Count
|
Se impostato su Non impostare Tipo: Booleano |
No |
HashKeyValue
|
Valore attributo del componente hash della chiave primaria composita. Tipo: String, Number o Binary |
Sì |
RangeKeyCondition
|
Un container per i valori degli attributi e gli operatori di confronto da utilizzare per la query. Una richiesta di query non richiede un Tipo: Map |
No |
RangeKeyCondition :
AttributeValueList |
I valori degli attributi da valutare per i parametri della query. Tipo: una mappa di |
No |
RangeKeyCondition :
ComparisonOperator |
I criteri per valutare gli attributi forniti, come uguale, maggiore di, ecc. Di seguito sono riportati operatori di confronto validi per un'operazione Query. NotaI confronti tra i valori delle stringhe con valori maggiori di, uguali o minori di si basano sui valori dei codici di ASCII caratteri. Ad esempio, Per Binary, DynamoDB tratta ciascun byte dei dati binari come non firmato quando confronta i valori binari, ad esempio quando valuta le espressioni di query. Tipo: String o Binary |
No |
Per |
||
Per |
||
Per |
||
Per |
||
Per |
||
Per |
||
Per |
||
ScanIndexForward |
Specifica l'attraversamento ascendente o discendente dell'indice. DynamoDB restituisce risultati che riflettono l'ordine richiesto determinato dalla chiave range: se il tipo di dati è Numero, i risultati vengono restituiti in ordine numerico; in caso contrario, l'attraversamento si basa sui valori del codice carattere. ASCII Tipo: Booleano L'impostazione predefinita è |
No |
ExclusiveStartKey |
La chiave primaria dell'elemento da cui continuare una query precedente. Una query precedente potrebbe fornire questo valore come Tipo: |
No |
Risposte
Sintassi
HTTP/1.1 200
x-amzn-RequestId: 8966d095-71e9-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0
content-length: 308
{"Count":2,"Items":[{
"AttributeName1":{"S":"AttributeValue1"},
"AttributeName2":{"N":"AttributeValue2"},
"AttributeName3":{"S":"AttributeValue3"}
},{
"AttributeName1":{"S":"AttributeValue3"},
"AttributeName2":{"N":"AttributeValue4"},
"AttributeName3":{"S":"AttributeValue3"},
"AttributeName5":{"B":"dmFsdWU="}
}],
"LastEvaluatedKey":{"HashKeyElement":{"AttributeValue3":"S"},
"RangeKeyElement":{"AttributeValue4":"N"}
},
"ConsumedCapacityUnits":1
}
Nome | Descrizione |
---|---|
Items
|
Attributi dell'elemento che soddisfano i parametri della query. Tipo: mappa di nomi degli attributi e dei relativi tipi di dati e valori. |
Count
|
Il numero di elementi nella risposta. Per ulteriori informazioni, consulta Conteggio degli elementi nei risultati. Tipo: numero |
LastEvaluatedKey |
La chiave primaria dell'elemento per cui l'operazione di query è stata interrotta, incluso il set di risultati precedente. Utilizza questo valore per avviare una nuova operazione escludendo questo valore nella nuova richiesta.
Tipo: |
ConsumedCapacityUnits |
Il numero di unità di capacità di scrittura utilizzate dall'operazione. Questo valore mostra il numero applicato alla velocità effettiva assegnata. Per ulteriori informazioni, consulta Modalità di capacità fornita da DynamoDB. Tipo: numero |
Errori speciali
Errore | Descrizione |
---|---|
ResourceNotFoundException
|
La tabella specificata non è stata trovata. |
Esempi
Per esempi di utilizzo di, vedere. AWS SDK Interrogazione di tabelle in DynamoDB
Richiesta di esempio
// This header is abbreviated. For a sample of a complete header, see DynamoDB di basso livello API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Query content-type: application/x-amz-json-1.0 {"TableName":"1-hash-rangetable", "Limit":2, "HashKeyValue":{"S":"John"}, "ScanIndexForward":false, "ExclusiveStartKey":{ "HashKeyElement":{"S":"John"}, "RangeKeyElement":{"S":"The Matrix"} } }
Risposta di esempio
HTTP/1.1 200
x-amzn-RequestId: 3647e778-71eb-11e0-a498-71d736f27375
content-type: application/x-amz-json-1.0
content-length: 308
{"Count":2,"Items":[{
"fans":{"SS":["Jody","Jake"]},
"name":{"S":"John"},
"rating":{"S":"***"},
"title":{"S":"The End"}
},{
"fans":{"SS":["Jody","Jake"]},
"name":{"S":"John"},
"rating":{"S":"***"},
"title":{"S":"The Beatles"}
}],
"LastEvaluatedKey":{"HashKeyElement":{"S":"John"},"RangeKeyElement":{"S":"The Beatles"}},
"ConsumedCapacityUnits":1
}
Richiesta di esempio
// This header is abbreviated. For a sample of a complete header, see DynamoDB di basso livello API. POST / HTTP/1.1 x-amz-target: DynamoDB_20111205.Query content-type: application/x-amz-json-1.0 {"TableName":"1-hash-rangetable", "Limit":2, "HashKeyValue":{"S":"Airplane"}, "RangeKeyCondition":{"AttributeValueList":[{"N":"1980"}],"ComparisonOperator":"EQ"}, "ScanIndexForward":false}
Risposta di esempio
HTTP/1.1 200
x-amzn-RequestId: 8b9ee1ad-774c-11e0-9172-d954e38f553a
content-type: application/x-amz-json-1.0
content-length: 119
{"Count":1,"Items":[{
"fans":{"SS":["Dave","Aaron"]},
"name":{"S":"Airplane"},
"rating":{"S":"***"},
"year":{"N":"1980"}
}],
"ConsumedCapacityUnits":1
}