繁体   English   中英

Azure数据工厂V2动态内容

[英]Azure Data Factory V2 Dynamic Content

长话短说,我的数据转储对于 azure function 来说太大了。 所以我们正在使用数据工厂。 我已委托另一个 function 为 API 和 output 生成访问令牌,将其作为 Z464Z855DE76ECDDF24DZ 的一部分我想将该令牌设置为管道中的一个变量。 到目前为止,我有这个: 在此处输入图像描述

我正在尝试使用动态内容“语言”来设置变量:

@activity('Get_Token').output

我想要蟒蛇之类的东西:

token = data.get('data', {}).get('access_token', '')

作为第二个问题,我的下一步是在迭代另一个 output 时使用这个令牌调用 API,所以也许这个确切的步骤可以添加到 ForEach 中?

看起来变量应该是@activity('Get token').output.data.access_token正如其他人所指出的那样,但正如您所猜测的,如果您只需要在 foreach 中分配变量,则无需分配变量。 您可以从该后继活动访问任何前任 output。 以下是在迭代另一个 output 时如何使用令牌:

  1. 假设您的 function 还将listOfThings作为data键中的数组输出。 然后,您可以将 foreach 活动设置为迭代@activity('Get token').output.data.listOfThings
  2. 在 foreach 中,您将拥有(比方说)一个以 REST 数据集作为源的复制活动。 使用匿名身份验证配置 REST链接服务...
  3. ...然后您会在 REST数据集中找到一个名为Additional Headers的字段,您可以在其中创建具有上述值的密钥AuthorizationBasic @activity('Get token').output.data.access_token
  4. 您说要迭代的东西(在listOfThings JSON 数组中)可以在 foreach 活动中使用@item()引用(或者,如果它是 listOfThings 可迭代项中某个项目的成员,那么它将是@item().myMember )

为了让其他到达这里的人明确#4:

  • 如果 listOfThings 看起来像这样, listOfThings: [ "thing1", "thing2", ...]

  • 例如, filenames: ["file1.txt", "file2.txt", ...]

  • 然后@item()变成file1.txt等等。

然而

  • 如果 listOfThings 看起来像这样, listOfThings: [ {"key1":"value1", "key2":"value2"... }, {"key1":"value1", "key2":"value2"... }, ...]

  • 例如。 filenames: [ {"folder":"folder1", "filename":"file1.txt"}, {"folder":"folder2", "filename":"file2.txt"}, ... ]

  • 然后@item().filename变成file1.txt等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM