【发布时间】:2021-11-15 09:21:06
【问题描述】:
对于我们的一个客户,我们正试图从一个有点老式的 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?我们的团队中没有可以创建自定义连接器的程序员,因此这不是一种选择。任何见解将不胜感激。
【问题讨论】:
-
我相信 Content-Type:application/xml 的标头将请求正文设置为 xml。您可以尝试添加带有“接受:应用程序/xml”的标题吗?请参阅此链接ibm.com/docs/en/order-management-sw/…。
-
不幸的是使用 Accept: application/xml 也不起作用。
标签: xml azure api azure-data-factory-2