【问题标题】:Azure Data Factory 401 error when calling GET request on SharePoint online API在 SharePoint Online API 上调用 GET 请求时出现 Azure 数据工厂 401 错误
【发布时间】:2021-06-28 08:39:05
【问题描述】:

我正在尝试在 Azure 数据工厂和 SharePoint Online 之间移动文件。

我在 SharePoint 位置有一些测试数据文件,并且在数据工厂中有一个管道,其中包含一个 Web 活动和一个复制数据活动。然后,复制活动链接到作为其接收器的数据湖。

我的期望结果是授予复制数据活动对 SharePoint Online API 的访问权限,然后继续将检索到的数据移动到数据湖中。目前它具有不记名令牌,但无法通过 SharePoint Online API 访问数据。

我已遵循 Microsoft 指南 here,包括先决条件。

我在数据工厂中收到以下错误: Error code 2200 "Failure happened on 'Sink' side. ErrorCode=UserErrorInvalidCredentialToReadHttpFile,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=The credential to read http file is invalid.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Net.WebException,Message=The remote server returned an error: (401) Unauthorized.,Source=System,

错误出现在复制数据活动(使用 HTTP 链接服务)中,不是网络活动。因此,我成功获得了传递给复制数据活动的不记名令牌,但被拒绝了。

疑难解答:

  • 我已为数据分配了所有者角色访问数据工厂的权限 湖。

  • 我已经按照先决条件注册了服务主体 App 在上面的微软指南中,成功使用应用程序 ID, 用于访问承载令牌的密钥和租户 ID

  • 我已授予 SharePoint online完全 访问已注册的 服务应用程序,成功,因为我可以看到它在 SharePoint 的受信任应用程序中列出。我没有 只在这里: https://my_company.sharepoint.com/_layouts/15/appinv.aspx 但在这里 https://my_company.sharepoint.com/sites/folder/_layouts/15/appinv.aspx

  • 我已授予 SharePoint 和 Microsoft Graph 的完整 API 权限 在注册的服务应用程序中。

  • 我已经在 Postman 中复制了这个过程。只为拥有相同的 结果 - 我检索了一个不记名令牌,然后在 尝试使用不记名令牌调用文件的 GET 请求。 Postman 中的错误是:{"error_description":"Exception of type 'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException' was thrown."}

我已经读到,在此处使用基本身份验证无法在数据工厂中使用替代 OData 链接服务。因此,我尝试使用带有证书的 AAD 服务主体 this article,但在尝试生成证书时遇到了进一步的问题。也许这是我最好的选择。

我用过的最相关的帖子:

How to move sharepoint list or excel file to azure sql dw?

https://docs.microsoft.com/en-us/answers/questions/109275/copy-file-from-sharepoint-not-working.html

http://www.ktskumar.com/2017/01/access-sharepoint-online-using-postman/

Azure Data Factory and SharePoint

【问题讨论】:

    标签: azure azure-data-factory sharepoint-online sharepoint-rest-api


    【解决方案1】:

    所以我找到了我的问题的解决方案。使用 Azure Logic 应用将文件从 SharePoint Online 移动到 Azure 存储。

    这比使用数据工厂要容易得多,我希望不久前有人告诉我。

    找到参考here

    【讨论】:

      猜你喜欢
      • 2017-11-22
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2021-01-18
      • 1970-01-01
      • 2021-05-01
      • 2022-01-10
      • 2019-12-17
      相关资源
      最近更新 更多