Приложение-функция Azure с Cosmos DB + nodejs, не работающими с SQLQuery (входные данные).Документ не возвращен.
Я успешно получил комбо Id / PartionKey для возврата документа.Я пробовал много комбинаций SQL-запросов в поле ввода SQLQuery, например, из документов, но безрезультатно.Нет ошибок, ни документ не возвращается.Я ожидаю, что мой запрос будет:
SELECT * from Users where Users.UserName = '12345'
Я пробовал с и без значения в одинарных кавычках.Я пробовал жестко закодированные (без привязки) запросы, такие как:
SELECT * from Users where Users.UserName = 12345
И запросы с привязкой (с одинарными кавычками и без них вокруг {userName}):
SELECT * from Users where Users.UserName = {userName}
У меня естьпопытался использовать {userName}, поместив его в маршрут:
Account / login / {userName}
, и я также попытался использовать userName из запроса (с одинарными кавычками или без них):
SELECT * from Users where Users.UserName = '{Query.userName}'
Ключ Partion: / id
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/\"_etag\"/?"
}
]
}
Я провел много часов поиска и чтения, и я понимаю, что привязка может не поддерживаться полностью с SQLQuery, однако даже жесткое кодированиезначение не возвращает документ.
Пример документа:
{
"id": "e90ece01373e5d011fdaef2c20d9717b",
"UserName": "17002",
"password": "newpassword",
"Address": "123 West ",
"state": "FL",
"city": "mycity",
"zip": "32222",
"phoneNumber": "3215551212",
"emailId": "email@email.com",
"refNo": "0",
"aboutUs": "someplace",
........
}
Function.json:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"post",
"get"
],
"route": "Account/login/{userName}"
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"type": "cosmosDB",
"name": "myInput",
"databaseName": "cdel",
"collectionName": "Users",
"connectionStringSetting": "cdel_DOCUMENTDB",
"direction": "in",
"sqlQuery": "SELECT * FROM Users where Users.UserName = {userName}"
}
]
}
index.js:
module.exports = async function (context, req, myInput) {
context.log('JavaScript queue trigger function processed work item');
context.log('Passed in: ' + context.bindingData.userName);
if (!myInput)
{
context.log("UserName not found");
context.res = {
status: 400,
body: "UserName not found."
}
}
else
{
context.log(req.query.password);
context.log(myInput.password);
context.log(context.bindings.myInput.password);
if (myInput.password != req.query.password) {
context.res = {
status: 400,
body: "Invalid logon."
}
}
else {
.....
}
}
context.done();
};
Ожидайте возврата одного документа.Ни один не возвращается.myInput.password = undefined
Есть ли какой-то монитор запросов, которого я не нашел, чтобы я мог видеть, что происходит?
Заранее спасибо за помощь.