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

咨询:从Databricks调用隔离计划Azure HTTP Trigger函数是否可行

从Databricks Notebook调用隔离计划Azure HTTP函数的可行方案

当然可以实现,近期已有不少开发者成功完成这类部署,核心是确保网络连通性和正确的访问配置,以下是关键步骤和注意事项:

1. 先验证网络连通性

既然已经配置了Databricks与Function App所在VNET的对等连接,先在Databricks Notebook里用curl或Python的requests测试基础连通性:

%sh curl -I https://your-function-app.azurewebsites.net/api/YourHttpTrigger

如果用了Function的私有端点,需要确保Databricks集群能解析到私有DNS记录,或者直接使用私有IP访问。

2. 配置Function访问权限

根据你的Function认证方式,在请求中带上对应凭证:

方式一:使用Function访问密钥

在请求头中添加x-functions-key字段,示例代码:

import requests

function_endpoint = "https://your-function-app.azurewebsites.net/api/YourHttpTrigger"
function_key = "your-function-access-key"

request_headers = {
    "x-functions-key": function_key,
    "Content-Type": "application/json"
}

payload = {"data": "test-payload"}

response = requests.post(function_endpoint, json=payload, headers=request_headers)
print(f"响应状态码: {response.status_code}")
print(f"响应内容: {response.json()}")

方式二:Azure AD认证

如果Function启用了Azure AD身份验证,需要在Databricks中获取访问令牌:

import requests
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
token = credential.get_token("https://azurefunctions.net/.default")

function_endpoint = "https://your-function-app.azurewebsites.net/api/YourHttpTrigger"
request_headers = {
    "Authorization": f"Bearer {token.token}",
    "Content-Type": "application/json"
}

payload = {"data": "test-payload"}
response = requests.post(function_endpoint, json=payload, headers=request_headers)

3. 避坑指南

  • 确认VNET对等的路由表没有阻止Databricks子网到Function子网的流量;
  • 如果Function设置了IP限制,将Databricks集群所在的子网IP范围加入允许列表;
  • 隔离计划的Function App需要开启VNET集成(入站),确保能接收来自对等VNET的请求;
  • 若使用私有端点,需在Databricks所在VNET中配置私有DNS区域关联,保证域名解析正常。

这种架构非常适合将Azure Function作为通用工具服务复用,完全不需要在Databricks中重复开发功能,目前已经是成熟的落地方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:57:20