По вашему требованию, мы не можем вызвать остальной api напрямую, хотя мы включили MSI. Если вы хотите использовать MSI для запроса списка групп ресурсов, обратитесь к решению, которое я предоставил ниже:
1. Установите модули:
npm install ms-rest-azure
npm install azure-arm-resource
2. Пожалуйста, обратитесь к моему коду ниже:
const msRestAzure = require("ms-rest-azure");
const { ResourceManagementClient } = require("azure-arm-resource");
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
credentials = await msRestAzure.loginWithAppServiceMSI({ resource: 'https://management.azure.com' });
const subscriptionId = '<your subscription id>';
const resourceClient = new ResourceManagementClient(credentials, subscriptionId);
let finalResult = await resourceClient.resourceGroups.list();
finalResult.forEach(element => {
console.log(element);
});
context.res = { body: 'success' };
}
Кстати, мое решение использует sdk для выполнения запроса. Если вы хотите запросить api https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups?api-version=2019-10-01
прямо в коде функции, вам нужно сначала получить токен доступа, а затем установить токен в заголовке вашего «Fetch». Но на мой взгляд, я предлагаю вам использовать sdk.