数据工厂 "The segment condition '@body....' is not valid"

Data Factory "The segment condition '@body....' is not valid"

我在 Microsoft Azure 数据工厂工作。 我正在尝试创建一个复制数据 activity,它接受输入“userId”和 return 对我的输出。

这个的结构如下:

  1. 我用“设置变量”创建了一个变量activity
  2. 这导致“复制数据”activity,它使用变量并将其发送到 Rest Resource 数据集
  3. 此 Rest Resource 有一个名为“comon”的参数,它等于之前的变量。休息资源链接到休息服务
  4. 此 Rest 服务包含一个参数:“variable”,它等于“comon”参数。然后 Rest 服务使用其 Base URL 中的“变量”,其中包含 API 调用。

使用此结构,我希望使用上面步骤 1 中使用的任何变量进行 API 调用。 但是,当尝试使用变量“预览数据”时,出现以下错误:

[
 {
  "result": "error",
  "message": "The segment condition '@body(&#039' is not valid")
  }
]

由于以下原因,我已将问题归结为上面的第 3 步: API 调用工作正常,如果我不使用“comon”变量而是只是将第 4 步中的“变量”硬编码为等于我的原始变量。 然而,当我再次尝试实现“comon”时,我又回到了我的错误。

以下是我的数据工厂管道的屏幕截图:

Variable to Copy Data

Copy Data Activity

Rest Resource

Rest Parameter

Rest Service

这是我可以硬编码到变量以使其工作的地方:

Hardcoded instead of parameter

但是,如果我改为在“参数”中对其进行硬编码,则它不起作用:

Not working again...

我测试了你的管道。虽然成功了,但是并没有得到我期望的URL。 我得到这个:http://localhost:8080/test/Test?parameter=@body('Copy data1ComposeRuntimeVariables')?.RestResource1cec80568393745918b91c3a6b6cfece4.comon@dataset().comon 的值似乎没有传递给 link 服务。

然后我删除了 link 服务中的参数并使用 Relative URL 像这样:

它工作正常,我达到了预期 URL:http://localhost:8080/test/Test/?parameter=userId==0023.