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

如何通过Azure Bicep将APIM连接至Azure Function App并自动导入API?

问题解答

是的,存在和Azure UI操作等效的便捷方式,无需手动逐个定义API与操作,Bicep支持直接从Azure Function App导入所有HTTP触发器并自动关联后端,主要有两种实现方式:

方法1:通过API导入功能直接从Function App创建API

这种方式和UI里「导入API」→「Azure Function」的流程完全一致,在Bicep中只需指定Function App的资源ID作为导入源,APIM会自动扫描并创建所有HTTP触发器对应的操作,同时自动配置后端转发策略。

示例Bicep代码:

param location string = resourceGroup().location
param functionAppName string = 'bicep-fa-demo'

// 引用已存在的Function App
resource functionApp 'Microsoft.Web/sites@2022-09-01' existing = {
  name: functionAppName
}

// 创建APIM实例
resource apimService 'Microsoft.ApiManagement/service@2022-09-01-preview' = {
  name: 'bicep-poc'
  location: location
  sku: {
    name: 'Consumption'
    capacity: 0
  }
  identity: {
    type: 'SystemAssigned'
  }
  properties: {
    publisherEmail: 'abc@xyz.com'
    publisherName: 'abcd'
  }
}

// 从Function App自动导入所有HTTP触发器API
resource importedApi 'Microsoft.ApiManagement/service/apis@2022-09-01-preview' = {
  parent: apimService
  name: 'bicep-fa-demo-api'
  properties: {
    displayName: 'bicep-fa-demo API'
    apiRevision: '1'
    subscriptionRequired: false
    protocols: ['https']
    isCurrent: true
    // 指定Function App作为导入源
    source: {
      type: 'FunctionApp'
      resourceId: functionApp.id
    }
  }
}

方法2:使用APIM的Linked Backends功能

通过配置APIM的linkedBackends属性,可实现UI中「连接到APIM」的一键关联效果,自动将Function App设为后端并生成对应API与操作。

示例Bicep代码:

param location string = resourceGroup().location
param functionAppName string = 'bicep-fa-demo'

resource functionApp 'Microsoft.Web/sites@2022-09-01' existing = {
  name: functionAppName
}

resource apimService 'Microsoft.ApiManagement/service@2022-09-01-preview' = {
  name: 'bicep-poc'
  location: location
  sku: {
    name: 'Consumption'
    capacity: 0
  }
  identity: {
    type: 'SystemAssigned'
  }
  properties: {
    publisherEmail: 'abc@xyz.com'
    publisherName: 'abcd'
    // 配置Linked Backend自动关联Function App
    linkedBackends: [
      {
        resourceId: functionApp.id
        // 可选:自定义API路径前缀
        apiPath: 'bicep-fa-demo'
      }
    ]
  }
}

关键注意事项

  • 需确保APIM的系统托管身份对目标Function App拥有Microsoft.Web/sites/functions/read权限,才能正常扫描触发器信息
  • 使用Consumption SKU的APIM时,Function App与APIM必须处于同一区域
  • 两种方式都会自动生成操作的URL模板、请求方法及后端转发策略,无需手动定义operations和policies资源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 13:53:11