【问题标题】:Read API data from HTTPS webservice using Azure Data Factory使用 Azure 数据工厂从 HTTPS Web 服务读取 API 数据
【发布时间】:2019-12-30 11:13:47
【问题描述】:

我正在尝试从 Web 服务 API 提取数据,源是 XML 格式,因为 Azure 数据工厂不支持 XML 格式,我正在以二进制格式读取它,加载到 Azure 数据湖 gen2,然后使用 Azure 转换为 xml、csv数据块。

问题: 我能够从 API 读取 tokenid 但不是实际数据意味着使用令牌 id 我必须获取实际数据。请任何人都可以帮忙。 注意:使用 HTTP 链接服务来摄取数据。 所有连接器都很好,测试连接成功。 以下是我可以从 ADF 看到的错误消息。

"errorCode": "2200",
"message": "Failure happened on 'Sink' side. ErrorCode=UserErrorFailedToReadHttpFile,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=The remote server returned an error: (500) Internal Server Error.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Net.WebException,Message=The remote server returned an error: (500) Internal Server Error.,Source=System,'",
"failureType": "UserError",
"target": "Copy data1",
"details": []

}

如果有人不明白这个问题,我很抱歉,我可以清楚地发布。 谢谢,

【问题讨论】:

    标签: azure-data-factory azure-data-lake azure-data-factory-2


    【解决方案1】:

    根据您的描述,我认为您可以使用 WehHook Activity,而不是 Web Activity。

    使用 WehHook 活动,您可以调用端点并传递回调 URL。管道运行等待回调被调用,然后再继续下一个活动。

    实际步骤是将正文中的附加属性“callBackUri”(Ingest Data API) 传递给 url 端点(Get Token API),并期望在指定的超时值之前调用此 uri。


    更新:

    最后,OP 选择了 databricks 作为解决方案,它工作正常。

    【讨论】:

    • 感谢您的回复,使用 webhook Activity 可能是可能的,无论如何我使用 Databricks 访问 API。它工作正常。
    • @Sra1K 没关系,我在回答中总结了最终解决方案。如果您不介意,可以接受它作为结束此案的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    相关资源
    最近更新 更多