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

如何在ADF中创建无Function App Key的Azure Function链接服务?两种调用活动有何区别?

一、用托管标识+Azure AD认证创建无密钥的Azure Function链接服务

要实现无密钥连接,得先给Azure Function开启Azure AD认证,再给ADF的托管标识授权,最后在ADF里用托管标识创建链接服务,具体步骤:

  • 给Azure Function配置Azure AD认证

    1. 打开你的Function App,进入「Authentication」面板,启用「Microsoft Identity Platform」作为身份提供者
    2. 设置令牌受众:可以用Function App的客户端ID,或者填api://<你的Function App客户端ID>这种格式的自定义受众
    3. 把「未认证请求」设为「返回401未授权」,强制所有请求必须经过认证
  • 给ADF托管标识添加Function App的访问权限

    1. 进入Function App的「Access control (IAM)」,点击「添加角色分配」
    2. 选择合适的角色:如果只需要调用函数,选「Function Invoker」即可;要是需要管理权限,选「Function App Contributor」
    3. 主体类型选「托管标识」,找到你的ADF实例对应的托管标识,完成权限分配
  • 在ADF中创建链接服务

    1. 新建「Azure Function」链接服务,填写Function App的名称或URL
    2. 认证类型选「Managed Identity」
    3. 受众填之前配置的Azure AD令牌受众(比如api://<Function App客户端ID>)
    4. 此时无需填写Function App Key,直接测试连接,验证通过后保存即可
二、Web活动和Azure Function活动的区别
  • 认证支持范围

    • Azure Function活动:专门针对Azure Function优化,仅支持Function App Key、系统/用户托管标识这几种认证方式,不用折腾通用HTTP认证配置
    • Web活动:支持Basic、OAuth2、客户端证书等多种通用HTTP认证,能调用任意HTTP API,不限于Azure Function
  • 数据流转便捷性

    • Azure Function活动:可直接将ADF数据集作为输入传给函数,函数返回结果也能直接对接后续活动的数据集,ETL管道内数据流转更顺畅
    • Web活动:需要手动用ADF表达式构造请求体,返回结果也得自己写逻辑解析,灵活性高但步骤更繁琐
  • 错误处理与重试

    • Azure Function活动:内置Azure Function专属错误检测,比如函数超时、返回非2xx状态码时,可直接复用ADF的重试策略自动重试,集成度更高
    • Web活动:需自定义重试条件,比如根据返回状态码、响应内容设置,通用性强但要手动配置细节
  • 配置便捷性

    • Azure Function活动:可直接下拉选择Function App内的具体函数,无需手动输入完整URL,减少配置错误
    • Web活动:必须手动输入完整的函数触发URL(含触发器路径),需自行确认URL正确性
  • 监控与日志关联

    • Azure Function活动:ADF监控面板会直接显示函数执行状态、调用ID,与Function App日志可直接关联,排查问题更高效
    • Web活动:ADF日志仅显示HTTP请求状态,要查函数执行细节需自行前往Function App日志查找,关联性较弱

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:43:20