Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cosmos DB (en Azure y Fabric) admite consultas con parámetros expresados por la notación @ conocida. SQL con parámetros proporciona un control sólido y escape de la entrada del usuario y evita la exposición accidental de datos a través de la inyección de CÓDIGO SQL.
Examples
Por ejemplo, puede escribir una consulta que toma upperPriceLimit como parámetro y ejecutarla para varios valores de en función de la entrada del price usuario.
SELECT
*
FROM
p
WHERE
(NOT p.onSale) AND
(p.price BETWEEN 0 AND @upperPriceLimit)
A continuación, puede enviar esta solicitud a Cosmos DB como un objeto de consulta JSON con parámetros.
{
"query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
"parameters": [
{
"name": "@upperPriceLimit",
"value": 100
}
]
}
En este ejemplo siguiente se establece el TOP argumento con una consulta con parámetros:
{
"query": "SELECT TOP @pageSize * FROM products",
"parameters": [
{
"name": "@pageSize",
"value": 10
}
]
}
Los valores de parámetro pueden ser cualquier JSON válido: cadenas, números, booleanos, null, incluso matrices o JSON anidados. Dado que Cosmos DB no tiene esquema, los parámetros no se validan con ningún tipo.
Estos son ejemplos de consultas parametrizadas en cada SDK de Cosmos DB: