You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Java程序使用AzureResourceManager启用/禁用单条Azure Function

实现方案

实现原理

Azure Function App 中单个函数的启用/禁用能力,本质是通过修改应用配置项 AzureWebJobs.<函数名称>.Disabled 的取值实现的:

  • 取值为 true 时,对应函数被禁用
  • 取值为 false 或删除该配置项时,对应函数恢复启用

代码示例

你使用的 azure-resourcemanager 2.1.0 版本已支持直接修改Function App的应用配置,示例代码如下:

禁用单个函数

import com.azure.resourcemanager.AzureResourceManager;
import com.azure.resourcemanager.appservice.models.FunctionApp;

// 入参说明:
// azureResourceManager: 已完成认证的Azure资源管理器实例
// functionAppId: 目标Function App的资源ID
// functionName: 要禁用的单条函数名称,需与部署的函数名完全一致
public void disableFunction(AzureResourceManager azureResourceManager, String functionAppId, String functionName) {
    FunctionApp targetApp = azureResourceManager.functionApps().getById(functionAppId);
    String disableConfigKey = String.format("AzureWebJobs.%s.Disabled", functionName);
    targetApp.update()
        .withAppSetting(disableConfigKey, "true")
        .apply();
}

启用单个函数

public void enableFunction(AzureResourceManager azureResourceManager, String functionAppId, String functionName) {
    FunctionApp targetApp = azureResourceManager.functionApps().getById(functionAppId);
    String disableConfigKey = String.format("AzureWebJobs.%s.Disabled", functionName);
    targetApp.update()
        // 两种写法二选一即可,效果完全一致
        .withoutAppSetting(disableConfigKey)
        // .withAppSetting(disableConfigKey, "false")
        .apply();
}

注意事项

  • 修改应用配置会触发Function App实例重启,配置会在重启完成后正式生效
  • 函数名称大小写敏感,需和你实际部署的函数名称完全匹配
  • 操作需要目标Function App的写入权限,与启停整个Function App所需的权限一致

内容的提问来源于stack exchange,提问作者Thunderbird

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:36:02