0

我正在尝试使用查找活动来返回行数。我能够做到这一点,但是一旦我做到了,我想对它运行一个 If 语句,如果计数返回的行数超过 20MIL,我想执行一个额外的管道以进行进一步的表操作。但是,问题是我无法将返回的值与静态整数进行比较。以下是我对此 If 语句的当前动态表达式:

@greater(int(活动('COUNT_RL_WK_GRBY_LOOKUP').output),20000000)

并且当触发时,返回以下错误: { "errorCode": "InvalidTemplate", "message": "函数 'int' 使用无效参数调用。该值无法转换为目标类型", “failureType”:“UserError”,“target”:“If Condition1”,“details”:“”}

是否可以将此返回值转换为整数以便进行比较?如果没有,是否有可能的解决方法来达到我想要的结果?

4

1 回答 1

0

看起来问题出在您的动态表达式上。请更正您的动态表达式,如下所示,然后重试。

  • 如果firstRowOnly设置为 true : @greater(int(activity('COUNT_RL_WK_GRBY_LOOKUP').output.firstRow.propertyname),20000000)

  • 如果firstRowOnly设置为 false :@greater(int(activity('COUNT_RL_WK_GRBY_LOOKUP').output.value[zero based index].propertyname),20000000)

  • 查找结果在output活动运行结果部分返回。

  • firstRowOnly设置为true(默认)时,输出格式如下代码所示。查找结果在固定的 firstRow 键下。要在后续活动中使用结果,请使用 的模式@{activity('MyLookupActivity').output.firstRow.TableName}。示例输出 JSON 代码如下:
{
    "firstRow":
    {
        "Id": "1",
        "TableName" : "Table1"
    }
}
  • firstRowOnly设置为false时,输出格式如下代码所示。计数字段指示返回的记录数。详细值显示在固定值数组下。在这种情况下,查找活动之后是 Foreach 活动。您可以使用 的模式将值数组传递给 ForEach 活动项字段@activity('MyLookupActivity').output.value。要访问值数组中的元素,请使用以下语法:@{activity('lookupActivity').output.value[zero based index].propertyname}. 一个例子是@{activity('lookupActivity').output.value[0].tablename}。示例输出 JSON 代码如下:
{
    "count": "2",
    "value": [
        {
            "Id": "1",
            "TableName" : "Table1"
        },
        {
            "Id": "2",
            "TableName" : "Table2"
        }
    ]
}

希望这可以帮助。

于 2020-04-08T01:34:13.580 回答