【Azure Function App】在ADF(Azure Data Factory)中调用 Azure Function 时候遇见 Failed to get MI access token

Function ,Azure,ADF,App · 浏览次数 : 64

小编点评

**解决问题步骤:** 1. **在Azure Function Link Service中配置正确的Resource ID:** - 在Link Service中创建一个新的配置。 - 在Configuration Name中输入“Resource ID”。 - 在Value中输入Function App的Client ID。 2. **重新启动Link Service:** - 在Azure portal的Azure Functions app设置中,选择“重新启动Link Service”。 3. **在Function App中配置认证:** - 在Function App的配置中选择“Authentication”。 - 选择“Anonymous”。 - 完成配置。 4. **再次尝试调用Azure Function:** - 再次发送Authentication请求给Azure Function。 - 此次,应该成功获取MI访问token。 **注意:** - 将Resource ID的值从Azure Function App中获取出来。 - 您可能需要在Azure Function App中创建多个Client ID,每个用于不同的资源。 - 如果您遇到了任何其他问题,可以参考Azure Functions 文档或与Azure支持团队联系。

正文

问题描述

在ADF(Azure Data Factory)中,调用Azure Function App中的Function,遇见了 Failed to get MI access token

There was an error while calling endpoint with error message - 'Failed to get MI access token. The error message is: Acquire MI token from AAD failed.

ErrorCode: invalid_resource,

Message: AADSTS500011: The resource principal named https://xxxxxxxxxx.chinacloudsites.cn was not found in the tenant named ***************.

This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant.

You might have sent your authentication request to the wrong tenant.

错误截图如下:

那么,如何来解决 Acquire MI Token from AAD Failed 的问题呢?

 

问题解答

出现Failed to get MI access token的问题,主要原因是: 在Azure Function Link Service 时,选择了Authentication Method为 System Assigned Managed Identity。

  • 如果Funcation App没有启用认证(Authentication),只需要选择Anonymous(匿名)访问模式即可解决 Failed to get  MI access token 问题。
  • 但是只要选择了 System Assigned Managed Identity认证方式,在Resource ID的输入框中,没有输入任何内容。所以它默认使用了Function App 的 host url 作为 resource principal named。

如果输入的是其他值,则错误消息中,包含您输入的Resource ID值。如下图所示:

所以,解决这个问题的关键就是在ADF的Link Service中,配置正确的Resource ID(即被访问资源所生产的System Managed Identity App(Client) ID)。

具体的操作步骤,参考文章:https://www.cnblogs.com/lulight/articles/17195587.html

 

 

 

 

与【Azure Function App】在ADF(Azure Data Factory)中调用 Azure Function 时候遇见 Failed to get MI access token相似的内容:

【Azure Function App】在ADF(Azure Data Factory)中调用 Azure Function 时候遇见 Failed to get MI access token

问题描述 在ADF(Azure Data Factory)中,调用Azure Function App中的Function,遇见了 Failed to get MI access token There was an error while calling endpoint with error m

【Azure 应用服务】Azure Function App在部署时候遇见 503 ServiceUnavailable

问题描述 在VS Code中编写好 Azure Function App代码后,通过 func azure functionapp publish 部署失败,抛出 503 Service Unavailable 错误。 Getting site publishing info... Creating

【Azure Function App】Java Function部署到Azure后出现中文显示乱码问题

问题描述 Java Function在Azure上遇见中文显示乱码问题?如何解决呢? 问题解答 中文字符显示为乱码,这个情况就是服务实例上设置的编码格式不是统一的UTF-8所导致的。 在查看Azure App Service/Function App的官方文档,都没有明确的说明它们使用的默认编码是什

【Azure Function App】Python Function调用Powershell脚本在Azure上执行失败的案例

问题描述 编写Python Function,并且在Function中通过 subprocess 调用powershell.exe 执行 powershell脚本。 import azure.functions as func import logging import subprocess app

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

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

【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')

问题描述 参考文档“Using FastAPI Framework with Azure Functions”, 使用FastAPI 模块在Function中实现API请求。通过VS Code本地运行成功。 但是部署到Azure Function App后,遇见了如下错误: [2023-01-30T

【Azure Developer】在Github Action中使用Azure/functions-container-action@v1配置Function App并成功部署Function Image

问题描述 使用Github Action,通过 Azure/functions-container-action@v1 插件来完成 yaml 文件的配置,并成功部署Function Image 的过程记录。 操作步骤 第一步: 准备Function的镜像文件 如在VS Code中,通过Termina

【Azure 应用服务】Function App / App Service 连接 Blob 报错

问题描述 因 Blob 启用了防火墙功能,但是当把App Service 或 Function App的出站IP地址都加入到Blob的白名单中,为什么访问还是403错误呢? 问题解答 Azure Storage的IP网络规则不适用于同一数据中心的客户端。 存储帐户部署在同一区域中的服务使用专用的 A

【Azure Function App】Nodejs Function遇见WorkerProcessExitException : node exited with code -1073740791 (0xC0000409) 错误

Exception while executing function: Functions.AzureBlobTrigger ---> Microsoft.Azure.WebJobs.Script.Workers.WorkerProcessExitException : node exited with code -1073740791 (0xC0000409)

【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