将sql列值作为API中的参数以下载sql中的数据

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

我在sql表all_company_details中有company_id值。我想使用这些值来调用 api,如下所示: www.api.company.com?companyid=1221

使用此程序的所有公司都需要下载数据。

我尝试按照这样的流程从查找活动中获取数据。 然后我使用输出中的 set 变量,并在 api 表达式中使用该变量,以便对于每个公司 ID,下载数据。 API链接之前工作正常,但现在随着数据的增加添加了company_id参数并且可以增量加载数据。

整体流程

我做了查找活动,它给了我这样的列 查找活动

查找活动输出如下所示 查找输出

然后我使用了 ForEach 活动并使用了 @activity('Lookup_company_id').output.value

对于每个

然后我使用了设置变量 设置变量

我不知道如何解决所有这些问题,因为它会产生错误。第一次来,如有不清楚请见谅

azure-data-factory
1个回答
0
投票
  • 问题在于您在
    set variable activity
    中给出的表达方式。
  • 当您在设置变量活动中将表达式指定为
    @item()
    时,对于 foreach 循环活动中的每次迭代,该值将类似于
    {comp_id:1221}
  • 不是只传递
    comp_id
    的值,而是
    key_column_name
    value
    都作为 Json 传递。这就是您的管道出现错误的原因
  • 要解决此问题,请将设置变量活动的值指定为
    @item().comp_id
    。这将确保您仅传递值。

set-variable-expression

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