xml - Azure 数据工厂 HTTP 连接器不返回 XML 输出
问题描述
对于我们的一个客户,我们正试图从一个有点老式的 REST API 中提取数据,该 API 返回一个 XML 响应。我们已经发现 REST API 连接器不能用于此目的,因为它只能处理 JSON 响应。因此,我们切换到 HTTP 连接器,而不是返回数据,然后我们能够将其写入 Azure SQL DB 接收器。奇怪的是 ADF 输出总是 JSON 格式,尽管 API 响应是 XML。
起初我们并不认为这是一个问题,但我只是发现数组处理没有正确完成。如果返回多条记录,一切都很好,但是当 API 只返回一条记录时,数组周围的方括号将被删除,并且 ADF 在映射中不再正确识别它,因为它需要一个数组。因此,单个记录不会写入 SQL 数据库。
我们尝试使用 Content-Type: application/xml 标头来强制 XML 输出,但这也不起作用。由于 API 确实返回 XML,因此 ADF 似乎自行将其转换为 JSON,并且没有正确执行。有什么方法可以使用标准连接器在 ADF 中处理 XML API?我们的团队中没有可以创建自定义连接器的程序员,因此这不是一种选择。任何见解将不胜感激。
解决方案
不幸的是,Azure Datafactory 中没有连接器支持带有 XML 响应的 REST API。
恐怕唯一可能的方法是拥有Custom Activity
或Azure Function Activity
调用 REST API。
您可以使用自己的数据移动或转换逻辑构建自定义活动,并在管道中使用它来向/从服务不支持的数据存储传输数据,或以服务不支持的方式转换/处理数据不支持。
DataItch 的原始帖子:ADF V2 从返回 XML 的 REST API 中提取 | 关联
推荐阅读
- python - 如何在每次检查时提示,如果为假则返回假,如果为真则显示结果?
- r - 遍历R中的变量名
- sql-server - SQL 从多个日期时间寄存器中获取最小小时数
- pdf - 是否可以在不破坏 Adobe Reader 交互的情况下使用 pdftk 填写 pdf 表格?
- c++ - 对如何定义/实现原型感到困惑
- javascript - 部分视图渲染后按钮不起作用
- reactjs - 为什么 null React 组件状态初始化会得到`never` 类型?
- mysql - 从 --secure-file-priv 文件夹导入 mysqlimport,但仍然出现错误
- python - 使用 python 监控文本站点(json)
- ios - UINavigationBar & UITabBar 下的内容