azure-data-factory - 使用 Azure 数据工厂从 HTTPS Web 服务读取 API 数据
问题描述
我正在尝试从 Web 服务 API 摄取数据,源是 XML 格式,因为 Azure 数据工厂不支持 XML 格式,我正在以二进制格式读取它,加载到 Azure 数据湖 gen2,然后使用 Azure Databricks 转换为 xml、csv。
问题:我能够从 API 读取 tokenid,但不能读取实际数据,这意味着使用 token 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": []
}
如果有人不明白这个问题,我很抱歉,我可以清楚地发布。谢谢,
解决方案
根据您的描述,我认为您可以使用WehHook Activity,而不是 Web Activity。
使用 WehHook 活动,您可以调用端点并传递回调 URL。管道运行等待回调被调用,然后再继续下一个活动。
实际步骤是将正文中的附加属性“callBackUri”(摄取数据 API)传递给 url 端点(获取令牌 API),并期望在指定的超时值之前调用此 uri。
更新:
最后,OP 选择了 databricks 作为解决方案,它工作正常。
推荐阅读
- reactjs - 如何使用反应显示无法选择/复制的文本
- mongodb - 使用 MongoDB 休眠 OGM - 创建 EntityManagerFactory 时出现 ClassNotFoundException
- python - 如何在 Bar Plot、Plotly 中设置 bin 大小
- python - Django - 如何提交多个表单
- javascript - 从子类错误继承
- cassandra - 为什么我没有在 grafana 中获得所有 cassandra 指标?
- android - 使用 DataBinding 时,MediatorLiveData 永远不会变为活动状态
- spring - 如何允许用户在 Spring Boot / Spring Security 中仅访问自己的数据?
- r - 使用 here() 函数在根目录之上上一层
- haskell - 如何列出由 Haskell cabal 包安装的文件?