【Azure 应用服务】Azure Data Factory中调用Function App遇见403 - Forbidden

Azure ,Forbi,App,Function · 浏览次数 : 12

小编点评

**问题描述:** 在Azure Data Factory(数据工厂)中,调用同在Azure中的Function App函数时,却出现403 - Forbidden错误。 **错误截图:** ![Azure Data Factory 403 Forbidden 错误截图](image.png) **问题原因:** Function App启用了限制访问功能,并在配置中设置了允许访问的IP地址列表。由于ADF的请求使用的IP地址不在列表中,导致403错误。 **解决方案:** 1. **检查IP地址范围:**根据Function App中收集到的日志,确定请求使用的IP地址所在的IP地址范围。 2. **设置访问限制:**创建一个新的访问限制,允许该范围内的IP地址访问Function App。可以使用Azure CLI或Azure Portal设置访问限制。 3. **配置虚拟网路:**将ADF的主机所在子网地址配置到访问限制中,这样Function App可以直接访问该子网。 **注意:** * 在设置访问限制之前,请确保子网地址是 valid 的CIDR地址。 * 确保 Function App的运行环境已配置了正确的IP地址。

正文

问题描述

在Azure Data Factory (数据工厂)中,调用同在Azure中的Function App函数,却出现403 - Forbidden错误。

截图如下:

 

 

问题解答

访问Azure Function App遇见403 - Forbidden错误,这是因为Function App启用了限制访问功能,在其中配置了允许访问的IP地址列表,而从ADF中发出的请求使用的IP地址不属于这个列表中。

根据Function App中收集到的日志显示,请求出现403所使用的IP地址为IPv6 --  [fde4:8dba:5**0:6**a:6**9:1*0:a*7:c***]。

当直接以这个IPv6的地址在Function的访问限制页面配置时,却提示错误:(not a valid CIDR address range].

幸好,最后发现可以直接允许一个虚拟网路中子网对其(Function)进行访问,当把ADF的主机所在子网地址配置到访问限制(Access Restrictions)后,ADF 调用 Function 成功。

 

参考资料

限制访问:https://docs.azure.cn/zh-cn/app-service/app-service-ip-restrictions

 

与【Azure 应用服务】Azure Data Factory中调用Function App遇见403 - Forbidden 相似的内容:

【Azure 应用服务】Azure Data Factory中调用Function App遇见403 - Forbidden

问题描述 在Azure Data Factory (数据工厂)中,调用同在Azure中的Function App函数,却出现403 - Forbidden错误。 截图如下: 问题解答 访问Azure Function App遇见403 - Forbidden错误,这是因为Function App启用

【Azure Redis 缓存】应用中出现连接Redis服务错误(production.ERROR: Connection refused)的排查步骤

问题描述 在PHP应用中,连接Redis的方法报错 RedisException(code: 0): Connection refused at /data/Redis/Connectors/PhpRedisConnector.php production.ERROR: Connection ref

【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题

Warning: Unexpected call to 'log' on the context object after function execution has completed. Please check for asynchronous calls that are not awaited or calls to 'done' made before function executi

【Azure 应用服务】Azure Web App 服务默认支持一些 Weak TLS Ciphers Suite,是否有办法自定义修改呢?

问题描述 当 Azure Web App 进行安全扫描后,发现依旧支持很多弱TLS加密套件(Weak TLS Ciphers Suite),那么是否有办法来关闭这些弱的加密套件呢? 在Windows IIS环境中,可以通过修改注册表修改 For Microsoft IIS, you should m

【Azure 应用服务】Azure Powershell Function 出错 The term 'Connect-AzAccount' is not recognized

问题描述 在Azure Function中,执行Powershell的Function脚本时,先后出现 1:[Error] ERROR: The term 'Connect-AzAccount' is not recognized as a name of a cmdlet, function, s

【Azure 应用服务】Azure Function Timer触发函数加上Singleton后的问题

问题描述 在Azure Function Timer Trigger的函数中,添加了Singleton属性,当Function的实例变为3个后,发现Timer函数并没有在三个实例上同时运行,每次触发时,都只有在一个实例上运行。这时因为Singleton属性的原因吗? 问题解答 在调查Singleto

【Azure 应用服务】Azure Function Python函数部署到Azure后遇见 Value cannot be null. (Parameter 'receiverConnectionString') 错误

问题描述 使用VS Code创建Python Function,处理Event Hub中的数据。当部署到Azure Function App后,函数无法执行,查看 Function 日志出现 Value cannot be null. (Parameter 'receiverConnectionSt

【Azure 应用服务】Azure Function Python函数中,如何获取Event Hub Trigger的消息Event所属于的PartitionID呢?

问题描述 在通过Azure Function消费Event Hub中的消息时,我们从Function 的 Trigger Details 日志中,可以获得当前Funciton中处理的消息是哪一个分区(PartitionID), 偏移量Offset,序列号SequenceNumber 等信息。 但是在

【Azure 应用服务】Azure Function 部署槽交换时,一不小心把预生产槽上的配置参数交换到生产槽上,引发生产错误

问题描述 部署Function代码先到预生产槽中,进行测试后通过交换方式,把预生产槽中的代码交换到生产槽上,因为在预生产槽中的设置参数值与生产槽有不同,但是在交换的时候,没有仔细检查。导致在交换的时候,把预生产的一些设置值交换到生产中,引起生产错误。 那么是否只进行代码交换而不进行设置值的交换呢?

【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数

问题描述 在Azure App Service for Windows的环境中,部署.NET应用,其中使用了 SAP NetWeaver RFC函数 (需要加载 sapnwrfc.dll)。详细的错误为: “System.DllNotFoundException: Unable to load DL