我正在用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");
1条答案
按热度按时间55ooxyrt1#
在所有应用服务环境中都设置了一个
WEBSITE_RESOURCE_GROUP
环境变量,您可以直接读取该变量。这里有一个complete list of similar environment variables可供参考。