Azure 逻辑应用程序中大小为 20+MB 的块逗号分隔平面文件并转换为 Json - ActionResult SizeLimitExceeded

Chunk comma delimeted flatfile of size 20+MB in Azure logic app and convert to Json - ActionResultsSizeLimitExceeded

我在 blob 中有一个平面文件,其结构如下,内容为 header 和 body。这个文件的大小可以达到 20+MB。我需要为每 4000 条记录拆分此文件并转换为 Json 格式。

"000","IN",04963,"xyz_abc",20210602,034425,278233

"803","IN","123456",0,"00002",0,1.519,"INR",1,

"803","IN","123456",0,"00004",0,1.579,"INR",1,

"803","IN","232323",0,"00002",0,1.519,"EUR",1,

"803","IN","232323",0,"00004",0,1.579,"EUR",1,

我正在尝试以下方法 Step1 - 读取 blob 内容并使用 XML 模式转换为 XML(使用集成帐户模式和平面文件解码) 第 2 步 - 每 4000 条记录的块 XML 并转换为所需的 Json 格式并将其保存到已处理的 Blob

但是我在第 1 步中遇到了以下问题,尽管文件大小为 20MB,但平面文件解码时遇到了以下问题,但限制是 200MB。

ActionResultsSizeLimitExceeded。操作 'Flat_File_Decoding' 的结果大小超过“228151576”字节。这超出了允许的最大大小“209715200”。

任何帮助将不胜感激

请注意,错误与结果的大小有关,与源文件的大小无关。

20 MB CSV 文件可以轻松转换为 200+ MB XML 文件,具体取决于 XML 文件中使用的标签大小。

例如虽然示例中第一行的大小仅为 50 个字符,但包含相同数据的以下线性化 XML 的大小为 455 个字符:

<?xml version="1.0" encoding="utf-8"?><ReagllyLongTag00 xmlns="http://ReallyLongNamespaceWellNotReallyLong"><ReallyLongRecord xmlns=""><ReallyLongTag01>000</ReallyLongTag01><ReallyLongTag02>IN</ReallyLongTag02><ReallyLongTag03>04963</ReallyLongTag03><ReallyLongTag04>xyz_abc</ReallyLongTag04><ReallyLongTag05>20210602</ReallyLongTag05><ReallyLongTag06>034425</ReallyLongTag06><ReallyLongTag07>278233</ReallyLongTag07></ReallyLongRecord></ReagllyLongTag00>

A​​zure Functions 倾向于比逻辑应用更好地处理大文件中的数据。