Database “数据工厂”;段条件'@身体……';无效”;

Database “数据工厂”;段条件'@身体……';无效”;,database,api,rest,azure-data-factory,azure-data-factory-pipeline,Database,Api,Rest,Azure Data Factory,Azure Data Factory Pipeline,我在微软Azure数据工厂工作。 我正在尝试创建一个复制数据活动,它接受一个输入“userId”,并向我返回一个输出 其结构如下: 我用“设置变量”活动创建了一个变量 这将导致“复制数据”活动,该活动使用该变量并将其发送到Rest资源数据集 这个Rest资源有一个名为“comon”的参数,它等于前面的变量。Rest资源链接到Rest服务 此Rest服务包含一个参数:“variable”,该参数等于“comon”参数。Rest服务然后在其包含API调用的基本URL中使用“变量” 有了这个结构,我希

我在微软Azure数据工厂工作。 我正在尝试创建一个复制数据活动,它接受一个输入“userId”,并向我返回一个输出

其结构如下:

  • 我用“设置变量”活动创建了一个变量
  • 这将导致“复制数据”活动,该活动使用该变量并将其发送到Rest资源数据集
  • 这个Rest资源有一个名为“comon”的参数,它等于前面的变量。Rest资源链接到Rest服务
  • 此Rest服务包含一个参数:“variable”,该参数等于“comon”参数。Rest服务然后在其包含API调用的基本URL中使用“变量”
  • 有了这个结构,我希望用上面步骤1中使用的任何变量进行API调用。 但是,当尝试使用变量“预览数据”时,我得到以下错误:

    [
     {
      "result": "error",
      "message": "The segment condition '@body(&#039' is not valid")
      }
    ]
    
    出于以下原因,我已将问题锁定到上述第3步: 如果我不使用“comon”变量,而是从第4步硬编码“variable”,使其等于我的原始变量,那么API调用可以正常工作。 然而,当我再次尝试实现“comon”时,我又回到了错误

    以下是我的Data Factory管道的屏幕截图:

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

    但如果我改为在“参数”中硬编码,它就不起作用了:


    我测试了你的管道。虽然成功了,但是我没有得到我期望的URL。 我知道了:
    http://localhost:8080/test/Test?parameter=@正文(“复制数据1ComposeRuntimeVariables”)?.RestResource1cec80568393745918b91c3a6b6cfece4.com。
    似乎
    @dataset().com的值未传递给链接服务

    然后我删除了链接服务中的参数,并使用了如下相对URL:


    它运行得很好,我得到了预期的URL:
    http://localhost:8080/test/Test/?parameter=userId==0023

    谢谢,我昨天也做了类似的事情。然而,我选择在我的“set variable”活动中使用我的Var连接我的API。