Azure 数据工厂:“整数”类型的值不支持属性选择

问题描述 投票:0回答:1

我正在尝试实现分成批次的负载。
我使用了以下手册:
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 活动中添加“设置变量”来避免该错误。但我根本不知道如何在不出错的情况下做到这一点。
谁能告诉我必须使用哪种变量(我假设“数组”)以及如何正确填充该变量的“值”?

azure-data-factory
1个回答
0
投票

错误消息表明无法选择

value
属性,因为“Integer”类型的值不支持该属性。这意味着
item()
表达式返回一个整数值。当我浏览您提供的同一个博客时,在每个活动中,项目的表达式给出为
@range(1,....)
。这将返回类似 [1,2,....n] 的值(仅限整数数组)。 由于该数组没有任何属性,因此使用表达式
@item().value
将导致相同的错误。为了避免错误,请将复制数据查询文本框中的表达式指定为

@concat('$top=',pipeline().parameters.Batch, '&$skip=',string(mul(int(item()), int(pipeline().parameters.Batch))))

© www.soinside.com 2019 - 2024. All rights reserved.