Я создал приложение функции на портале azure, имеющее Nodejs из v12 в качестве среды выполнения.
Я могу войти в систему с именем и секретным именем службы следующим образом:
module.exports = async function (context, req) {
context.log("Started Execution");
msRestAzure.loginWithServicePrincipalSecret(clientId, secret, domain, function(err, credentials) {
if (err) return console.log(err);
var client = new someAzureServiceClient(credentials, 'subscriptionId');
if(req.body.action ==="xyz") {
client.someOperationGroup.method(param1, param2, function(err, result) {
if (err) {
context.res = {
status: 500,
body: "Error: " + err
}
}
context.res = {
status: 200,
body: "action executed" + result
}
});
}
else {
context.res = {
status: 500,
body: "failed"
}
}
});
context.res = {
status: 200,
body: "Done" // Output
}
}
Проблема в том, что переменная контекста недоступна внутри, и я не могу обработать ответ. Вывод вышеупомянутого метода - «Готово» всегда независимо от того, что выполнение не удалось или успешно.