Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Cosmos DB (in Azure und Fabric) unterstützt Abfragen mit Parametern, die von der vertrauten @Notation ausgedrückt werden. Parametrisierte SQL bietet eine robuste Behandlung und Flucht von Benutzereingaben und verhindert versehentliche Gefährdung von Daten durch SQL-Einfügung.
Examples
Sie können z. B. eine Abfrage schreiben, die als Parameter verwendet upperPriceLimit wird, und sie für verschiedene Werte price basierend auf der Benutzereingabe ausführen.
SELECT
*
FROM
p
WHERE
(NOT p.onSale) AND
(p.price BETWEEN 0 AND @upperPriceLimit)
Sie können diese Anforderung dann als parametrisiertes JSON-Abfrageobjekt an Cosmos DB senden.
{
"query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
"parameters": [
{
"name": "@upperPriceLimit",
"value": 100
}
]
}
In diesem nächsten Beispiel wird das TOP Argument mit einer parametrisierten Abfrage festgelegt:
{
"query": "SELECT TOP @pageSize * FROM products",
"parameters": [
{
"name": "@pageSize",
"value": 10
}
]
}
Parameterwerte können beliebige gültige JSON-Werte sein: Zeichenfolgen, Zahlen, Booleans, Null, sogar Arrays oder geschachtelte JSON. Da Cosmos DB schemalos ist, werden Parameter nicht anhand eines Typs überprüft.
Hier sind Beispiele für parametrisierte Abfragen in jedem Cosmos DB SDK: