Azure 数据工厂。无法通过 HTTP 连接器加载文件
Posted
技术标签:
【中文标题】Azure 数据工厂。无法通过 HTTP 连接器加载文件【英文标题】:Azure Data Factory. Unable to load files via HTTP Connector 【发布时间】:2021-12-29 18:57:04 【问题描述】:要将文件从远程服务器加载到 Azure BLOB 存储,我正在学习 Azure 团队的本教程:Copy data from an HTTP endpoint by using Azure Data Factory or Azure Synapse Analytics。
我需要通过这个 API 从这个 site 加载公开可用的文件:通过 API https://api.usaspending.gov/api/v2/download/disaster/
使用 API(以及上述链接站点中的其他 API)的教程由 here 提供。
但是当我运行管道时,出现以下错误:
ErrorCode=HttpFileFailedToRead,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=无法从 http 服务器读取数据。查看http服务器报错:远程服务器返回错误:(405) Method Not Allowed.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Net.WebException,Message=远程服务器返回错误:( 405) 方法不允许。,Source=System,'
问题:我们如何在 Azure 数据工厂中使用上述 API 端点从其远程服务器加载公开可用的文件?
备注:据their site:/api/v2/download/disaster/ POST Returns a zipped file containing Account and Award data for the Disaster Funding
我们对 ADF Pipeline 的Source
的配置:
以上源码测试成功如下图:
目的地(Azure Data Lake Storage)也测试成功,如下所示:
【问题讨论】:
【参考方案1】:检查您在复制活动中使用的方法。它需要是 POST。
此外,响应不是文件,而是提供了可以下载文件的链接。请参阅下面的示例响应。这意味着您需要另一个活动来实际获取文件。
【讨论】:
嗨@nam,如果这回答了您的问题,请将其标记为正确答案。 您的建议有效(谢谢)。但我无法添加另一个实际获取文件的活动。我已经为它创建了另一个帖子here以上是关于Azure 数据工厂。无法通过 HTTP 连接器加载文件的主要内容,如果未能解决你的问题,请参考以下文章