第三方正在使用Azure数据工厂来处理API调用的结果。由于 ADF 的文件大小限制为 4MB,因此如果逻辑应用生成的输出 JSON 文件超过 4MB,则 API 调用将失败。逻辑应用执行 SQL 存储过程,生成 JSON 文件。
如何在 Logic App 中对输出文件进行分页或拆分,以便即使生成的文件大小大于 4 MB,第三方也可以成功调用 API?
您可以尝试以下可能的解决方法。
在逻辑应用中检查该文件中的行数,并在生成输出 JSON 文件后,调用中间 ADF 管道并将长度传递给它。在该管道中,使用以生成的输出文件作为源的数据流,并提供临时 blob JSON 数据集。在数据流的接收器中,使用分区选项并设置分区号。设置此数字,例如目标生成的文件行数为 5000。检查逻辑应用传递的长度并计算此数字。作为示例,我给出 4。
将文件名设置为模式并给出如下所示的模式。
小尺寸文件名将如下生成。
根据您的要求在下一个 ADF 管道中逐个使用小尺寸文件。
如果您有权访问 ADF 管道,请使用复制活动,将 API 调用作为源,将目标作为接收器数据集。使用复制活动源数据集中注释中建议的
skip
和 take
方法。检查这个 SO Answer by @Pratik Lad 以了解更多信息。