我正在尝试实现分成批次的负载。
我使用了以下手册:
https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/extracting-sap-data-using-odata-part-4-handling-large-volumes-of/ba-p/2849727
不幸的是我收到以下错误:
表达式 'concat('$top=',pipeline().parameters.Batch, '&$skip=',string(mul(int(item().value), int(pipeline().parameters.Batch) )))' 无法评估,因为无法选择属性“值”。 “Integer”类型的值不支持属性选择。
我尝试通过在复制数据之前在 ForEach 活动中添加“设置变量”来避免该错误。但我根本不知道如何在不出错的情况下做到这一点。
谁能告诉我必须使用哪种变量(我假设“数组”)以及如何正确填充该变量的“值”?
错误消息表明无法选择
value
属性,因为“Integer”类型的值不支持该属性。这意味着 item()
表达式返回一个整数值。当我浏览您提供的同一个博客时,在每个活动中,项目的表达式给出为 @range(1,....)
。这将返回类似 [1,2,....n] 的值(仅限整数数组)。 由于该数组没有任何属性,因此使用表达式 @item().value
将导致相同的错误。为了避免错误,请将复制数据查询文本框中的表达式指定为
@concat('$top=',pipeline().parameters.Batch, '&$skip=',string(mul(int(item()), int(pipeline().parameters.Batch))))