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

Azure Synapse无法解析VNet集成Function App URL的问题求助

解决托管VNet的Azure Synapse与VNet集成Function App的专用连接问题

解决方案步骤

1. 关联Function App专用DNS区域与Synapse托管VNet

  • 定位Function App对应的专用DNS区域:如果是ASE环境,对应区域通常为privatelink.appserviceenvironment.net;如果是Premium Plan的VNet集成,对应区域为privatelink.azurewebsites.net。
  • 进入该专用DNS区域的Azure门户页面,添加虚拟网络链接,选择Synapse工作区所在资源组,关联Synapse的托管VNet(名称格式一般为synapseworkspace-managed-vnet)。
  • 确认链接状态为Completed,确保Synapse托管环境能解析该区域内的DNS记录。

2. 验证托管专用端点配置

  • 进入Synapse工作区的托管专用端点页面,找到为Function App创建的端点,确认状态为Approved。
  • 检查对应专用DNS区域中,是否已自动生成该托管端点的A记录(记录值应为Function App的专用IP)。

3. 配置Azure Function链接服务的私有端点绑定

由于Synapse门户暂不支持可视化配置Function链接服务的私有端点选项,需通过ARM模板或PowerShell修改链接服务:

  • ARM模板方式:导出现有Azure Function链接服务的ARM模板,添加privateEndpointConnections属性并指定已创建的托管专用端点ID,示例片段如下:
    {
      "properties": {
        "type": "AzureFunction",
        "typeProperties": {
          "functionAppUrl": "https://func-xxxx.appserviceenvironment.net",
          "functionKey": {
            "type": "AzureKeyVaultSecret",
            "store": {
              "referenceName": "YourKeyVaultLinkedService",
              "type": "LinkedServiceReference"
            },
            "secretName": "function-access-key"
          }
        },
        "connectVia": {
          "referenceName": "AutoResolveIntegrationRuntime",
          "type": "IntegrationRuntimeReference"
        },
        "privateEndpointConnections": [
          {
            "privateEndpoint": {
              "id": "/subscriptions/[你的订阅ID]/resourceGroups/[资源组名]/providers/Microsoft.Synapse/workspaces/[Synapse工作区名]/managedPrivateEndpoints/[托管专用端点名称]"
            },
            "connectionState": {
              "status": "Approved"
            }
          }
        ]
      }
    }
    
    将修改后的模板重新部署到Synapse工作区。
  • PowerShell方式:将上述修改后的JSON保存为文件,执行以下命令更新链接服务:
    Update-AzSynapseLinkedService -WorkspaceName "你的Synapse工作区名" -Name "你的Function链接服务名" -DefinitionFile "updated-linked-service.json"
    

4. 验证集成运行时网络

  • 若使用自托管集成运行时,确保其部署在能访问Function App专用端点的VNet中;若使用托管集成运行时,因Synapse已启用托管VNet,只要上述配置正确,即可自动通过托管专用端点访问。

问题原因分析

  1. DNS解析失败:Synapse托管VNet的DNS环境独立于公共DNS,若未将Function App的专用DNS区域与Synapse托管VNet关联,Synapse内部无法解析Function App的FQDN。
  2. 链接服务未绑定专用端点:当前Azure门户对Function链接服务未提供可视化的私有端点配置选项,必须手动通过ARM/PowerShell配置privateEndpointConnections属性,强制流量通过托管专用端点传输。

错误对应说明

你遇到的2108(Web请求)和3610(Function活动)错误,核心都是DNS解析失败,即Synapse托管环境无法将Function App的FQDN解析为专用IP,完全符合上述配置缺失的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 11:28:21