Azure函数可以将文件绑定到事件网格,但是不能从Azure Data Factory调用它时,可以在Data Lake中写入文件

问题描述 投票:0回答:1

我有一个Azure函数,应处理zip文件并将其内容转换为csv文件并将其保存在第1代Data Lake中。

我已启用此Azure功能的托管身份。然后,我已将此托管身份作为所有者添加到Data Lake的访问控制(IAM)。

第一种情况:

我从Azure Data Factory]调用此Azure函数,然后将zip文件的文件uri从Azure Data Factory保留在存储帐户中到Azure Functions,Azure Function通过将csv文件保存在数据中来处理文件湖我得到这个错误:

创建文件root \ folder1 \ folder2 \ folder3 \ folder4 \ test.csv时出错。>>

操作:创建失败,HttpStatus:未授权令牌长度:1162

未知错误:JSON错误输出中异常的异常类型。预期:RemoteException实际:错误来源:Microsoft.Azure.DataLake.Store StackTrace:位于Microsoft.Azure.DataLake.Store.WebTransport.ParseRemoteError(Byte []errorBytes,Int32 errorBytesLength,OperationResponse响应,字符串内容类型)。

RemoteJsonErrorResponse:错误响应的Content-Type:application / json; charset = utf-8。

错误:{“错误”:{“代码”:“ AuthenticationFailed”,“消息”:““授权”标头中的访问令牌已过期。

第二场景

我已经为此Azure功能设置了事件网格。在将zip文件放到与Azure Functions绑定的存储帐户中之后,将处理zip文件并将csv文件成功保存在Data Lake中。

很高兴知道天蓝色的功能和Data Lake在同一个vnet中

有人可以向我解释,为什么我的函数可以在事件网格中正常工作,但是如果我从Azure数据工厂调用它却不能正常工作? (将CSV文件保存到Data Lake Gen 1中)

我有一个Azure函数,该函数应处理zip文件并将其内容转换为csv文件,并将其保存到第1代Data Lake中。我已启用此Azure函数的托管身份。然后我有...

azure azure-functions azure-data-factory azure-data-lake azure-managed-identity
1个回答
0
投票

您显示了所有错误吗?

从错误看来,这与Azure Active AD身份验证有关(Data Lake Storage Gen1使用Azure Active Directory进行身份验证)。当您尝试向Data Lake Storage Gen1发送内容时,是否在Azure函数中使用Bearer令牌

© www.soinside.com 2019 - 2024. All rights reserved.