Я создал функцию Azure, которая запускается с помощью запроса HTTP POST.
Запрос имеет следующее тело:
{
"start": '2018-07-25T08:47:16.094Z',
"end": '2018-07-25T08:47:24.686Z'
}
index.js
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
var inputDocument = context.bindings.inputDocument;
context.log("INPUT DOCUMENT: " + JSON.stringify(inputDocument));
context.res = {
status: 200,
body: "OK",
};
};
function.json
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"type": "cosmosDB",
"name": "inputDocument",
"databaseName": "Messages",
"collectionName": "Collection1",
"sqlQuery": "SELECT * FROM Collection1 c WHERE c.message.timestamp>={start} AND c.message.timestamp<={end}",
"connectionStringSetting": "cosmosdbaccount_DOCUMENTDB",
"direction": "in"
}
]
}
Я хотел бы запросить экземпляр CosmosDB с этими двумя параметрами, например:
"sqlQuery": "SELECT * FROM Collection1 c WHERE c.message.timestamp>={start} AND c.message.timestamp<={end}",
Doingкак показано здесь, результаты ввода-привязки CosmosDB неопределены.
2018-12-13T08:19:54.332 [Information] Executing 'Functions.Function1' (Reason='This function was programmatically called via the host APIs.', Id=af8090a4-5fab-4fbd-b26f-a045d8900d9b)
2018-12-13T08:19:56.704 [Information] JavaScript HTTP trigger function processed a request.
2018-12-13T08:19:56.711 [Information] INPUT DOCUMENT: []
2018-12-13T08:19:56.755 [Information] Executed 'Functions.Function1' (Succeeded, Id=af8090a4-5fab-4fbd-b26f-a045d8900d9b)
Если я выполняю один и тот же точный запрос, заменяя start
и end
на правильные метки времени ISO в CosmosDB Data Explorer, он возвращает всечетыре документа.
Я что-то упустил?Я действительно не нашел ничего по этой теме в Интернете, поэтому я надеюсь, что кто-то уже наткнулся на это.
Заранее большое спасибо!