Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Cosmos DB (in Azure e Fabric) supporta query con parametri espressi dalla notazione @ familiare. SQL con parametri offre una gestione affidabile e l'escape dell'input dell'utente e impedisce l'esposizione accidentale dei dati tramite SQL injection.
Esempi
Ad esempio, è possibile scrivere una query che accetta upperPriceLimit come parametro ed eseguirla per vari valori di price in base all'input dell'utente.
SELECT
*
FROM
p
WHERE
(NOT p.onSale) AND
(p.price BETWEEN 0 AND @upperPriceLimit)
È quindi possibile inviare questa richiesta a Cosmos DB come oggetto query JSON con parametri.
{
"query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
"parameters": [
{
"name": "@upperPriceLimit",
"value": 100
}
]
}
Nell'esempio seguente viene impostato l'argomento TOP con una query con parametri:
{
"query": "SELECT TOP @pageSize * FROM products",
"parameters": [
{
"name": "@pageSize",
"value": 10
}
]
}
I valori dei parametri possono essere json validi: stringhe, numeri, valori booleani, null, persino matrici o JSON annidati. Poiché Cosmos DB è senza schema, i parametri non vengono convalidati con alcun tipo.
Ecco alcuni esempi per le query con parametri in ogni SDK di Cosmos DB: