Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Cosmos DB (v Azure a Prostředcích infrastruktury) podporuje dotazy s parametry vyjádřenými známým zápisem @ . Parametrizovaný SQL poskytuje robustní zpracování a únik uživatelského vstupu a zabraňuje náhodnému vystavení dat prostřednictvím injektáže SQL.
Examples
Můžete například napsat dotaz, který přebírá upperPriceLimit jako parametr, a spouštět ho price pro různé hodnoty na základě uživatelského vstupu.
SELECT
*
FROM
p
WHERE
(NOT p.onSale) AND
(p.price BETWEEN 0 AND @upperPriceLimit)
Tento požadavek pak můžete odeslat do Cosmos DB jako parametrizovaný objekt dotazu JSON.
{
"query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
"parameters": [
{
"name": "@upperPriceLimit",
"value": 100
}
]
}
Tento další příklad nastaví TOP argument parametrizovaným dotazem:
{
"query": "SELECT TOP @pageSize * FROM products",
"parameters": [
{
"name": "@pageSize",
"value": 10
}
]
}
Hodnoty parametrů můžou být libovolné platné JSON: řetězce, čísla, logické hodnoty, null, sudé pole nebo vnořené JSON. Vzhledem k tomu, že služba Cosmos DB je bez schématu, parametry se neověřují vůči žádnému typu.
Tady jsou příklady parametrizovaných dotazů v každé sadě SDK služby Cosmos DB: