Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Cosmos DB (no Azure e no Fabric) dá suporte a consultas com parâmetros expressos pela notação @ familiar. O SQL parametrizado fornece tratamento robusto e escape da entrada do usuário e impede a exposição acidental de dados por meio da injeção de SQL.
Exemplos
Por exemplo, você pode escrever uma consulta que usa upperPriceLimit como parâmetro e executá-la para vários valores com base na entrada do price usuário.
SELECT
*
FROM
p
WHERE
(NOT p.onSale) AND
(p.price BETWEEN 0 AND @upperPriceLimit)
Em seguida, você pode enviar essa solicitação para o Cosmos DB como um objeto de consulta JSON parametrizado.
{
"query": "SELECT * FROM p WHERE (NOT p.onSale) AND (p.price BETWEEN 0 AND @upperPriceLimit)",
"parameters": [
{
"name": "@upperPriceLimit",
"value": 100
}
]
}
Este próximo exemplo define o TOP argumento com uma consulta parametrizada:
{
"query": "SELECT TOP @pageSize * FROM products",
"parameters": [
{
"name": "@pageSize",
"value": 10
}
]
}
Os valores de parâmetro podem ser qualquer JSON válido: cadeias de caracteres, números, boolianos, nulos, até mesmo matrizes ou JSON aninhado. Como o Cosmos DB não tem esquema, os parâmetros não são validados em relação a nenhum tipo.
Aqui estão exemplos para consultas parametrizadas em cada SDK do Cosmos DB: