如何使用 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/&lt; functionName&gt;/&lt; value&gt;?code=&lt; secret&gt;,则要在 Azure 函数活动中使用的 functionName&lt; functionName&gt;/&lt; value&gt;。您可以参数化此函数以在运行时提供所需的 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 一起使用

什么是Azure Private Endpoint

在 Azure 数据工厂中完成活动后,如何向 Azure 服务总线发送消息

Azure终结点访问控制列表ACL