如何使用 Azure 数据工厂使用私有终结点访问 Azure Function?
Posted
技术标签:
【中文标题】如何使用 Azure 数据工厂使用私有终结点访问 Azure Function?【英文标题】:How to access Azure Function with private endpoint with Azure Data Factory? 【发布时间】:2022-01-20 10:28:47 【问题描述】:我拥有启用了专用终结点和 VNet 集成的 Azure Functions。
我有带有 Azure Function Activity 的 Azure 数据工厂。
触发管道时出现错误:
Call to provided Azure function 'myfunction' failed with status-'Forbidden' and message - '<!DOCTYPE html> <html> <head> <title>Web App - Unavailable
显然 ADF 无法访问 Function。如何解决?
【问题讨论】:
【参考方案1】:您的 azure 功能阻止了 ADF 的外部访问,请确保您使用以下步骤:
-
如果您使用的是 azure 功能的 网络活动,它不支持托管在私有虚拟网络中的 URL。
将 azure 函数应用迁移到独立(在 ASE 中)
App-Service-Plan 可以解决您的问题。
Azure Function Activity 支持路由。你的天蓝色
函数具有端点
https://functionAPP.azurewebsites.net/api/< functionName>/< value>?code=< secret>
,则要在 Azure 函数活动中使用的 functionName 是 < functionName>/< value>
。您可以参数化此函数以在运行时提供所需的 functionName。
注意
持久函数的 functionName 应取自 JSON 定义中函数绑定的 route 属性,以包含其路由信息。仅使用 functionName 而不包含路由详细信息将导致失败,因为找不到 Function App。
确保您的 ADF 已设置为私有端点。如果没有请参考here
参考supported and not supported in azure ADF private endpoint
使用 Azure 函数活动 Link 1 和 Link 2 的 ADF 示例
【讨论】:
以上是关于如何使用 Azure 数据工厂使用私有终结点访问 Azure Function?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Bicep 创建 Azure Purview 私有终结点
如何使 azure redis 服务的公共链接和私有端点链接同时工作
用于 postgresql 的 Azure 专用终结点无法与多个 Vnet 一起使用