Я пытаюсь использовать привязку данных JavaScript-функции Azure к базе данных Cosmos, используя sqlQuery с параметром float в предложении where.
Вот мое определение привязки из function.json:
Не работает, не возвращает результатов. Я полагаю, что широта / долгота обрабатываются как строки:
"bindings": [
{
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"route": "GetLoq/{lat:float}/{lon:float}"
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"type": "cosmosDB",
"name": "doc",
"databaseName": "%CosmosDBNAME%",
"collectionName": "%CosmosCollectionNAME%",
"sqlQuery": "SELECT * FROM c where c.location.coordinates = [{lat}, {lon}]",
"connectionStringSetting": "DB",
"direction": "in"
}
]
Работает, когда я жестко кодирую значения (для сравнения):
"bindings": [
{
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"route": "GetLoq/{lat:float}/{lon:float}"
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"type": "cosmosDB",
"name": "doc",
"databaseName": "%CosmosDBNAME%",
"collectionName": "%CosmosCollectionNAME%",
"sqlQuery": "SELECT * FROM c where c.location.coordinates = [36.71, 3.25]",
"connectionStringSetting": "DB",
"direction": "in"
}
]