Ошибка выдачи POST функции Axios Azure в NODEJS
Я использую следующий код, который вызывает ошибку, как показано ниже.
Выполнено "Functions.TranslateFunction" (Failed, Id=4cc27692-14a1-4c22-b0b7-7615d9812950) [10.12.2019 10:40:06 AM] System.Private.CoreLib: Исключение при выполнении функции: Functions.TranslateFunction. System.Private.CoreLib: Результат: Ошибка исключения: TypeError: context.error не является функцией Стек: TypeError: context.error не является функцией в module.exports (C:\Users\M1056438\Coding\Functions\TranslateFunction\index.js:26:13) в processTicksAndRejection (internal/process/task_queues.js:93:5).
const axios = require('axios');
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
if (req.query.name || (req.body && req.body.name)) {
// Make a QNA maker API call
var postData = {
question: "Who are you"
};
let axiosConfig = {
headers: {
'Content-Type': 'application/json',
"Authorization":"EndpointKey ********"
}
};
try {
const response = await axios.post('https://qnamakercommonfordemos.azurewebsites.net/qnamaker/knowledgebases/********/generateAnswer', postData,axiosConfig)
context.log(`statusCode: ${response.statusCode}`);
context.log(response);
context.done();
return response; // or return a custom object using properties from response
} catch (error) {
// If the promise rejects, an error will be thrown and caught here
context.error(error);
}
context.res = {
// status: 200, /* Defaults to 200 */
body: response
};
}
else {
context.res = {
status: 400,
body: "Please pass a name on the query string or in the request body"
};
}
};
1 ответ
Думаю нет функции error
определено на context
объект. Но в context.log доступны дополнительные методы ведения журнала, которые позволяют писать журналы функций на других уровнях трассировки:
например:
context.log.info({hello: 'world'});
context.log.error("An error has occurred.")
;
Подробнее об объекте context читайте здесь:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-node
Так что ты можешь изменить context.error
к context.log.error