azure 如何通过服务器托管功能应用的托管标识获取资源组?

igetnqfo  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(141)

我正在用C#编写Azure Function应用程序,需要检测正在运行Function应用程序的资源组。这是一个计时器触发器函数,它将为我执行一些常规的资源管理操作。
部署模型是这样的,我们使用资源组作为不同客户资源的筒仓-类似于单租户。因此,我希望能够动态检测Function应用程序正在其中运行的资源组,而不必引入配置值来告诉应用程序该信息。
我有下面的代码,我假设它能够从订阅资源的标识开始,但是为了获得资源组,我必须提供一个名称。
有没有什么方法可以确定这个Function应用程序正在哪个资源组中运行?

log.LogInformation($"Initializing Azure client ...");

var client = new ArmClient(new DefaultAzureCredential());

log.LogInformation("Fetching subscription and resource group ...");

var subscription = await client.GetDefaultSubscriptionAsync();
var resourceGroup = await subscription.GetResourceGroupAsync("NAME");
55ooxyrt

55ooxyrt1#

在所有应用服务环境中都设置了一个WEBSITE_RESOURCE_GROUP环境变量,您可以直接读取该变量。
这里有一个complete list of similar environment variables可供参考。

相关问题