类似于这个问题how to pass variables to Azure Data Factory REST url's query stirng
然而,我有一个管道来查询graphapi,在这里我需要传入一个userid作为Url的一部分,以使他们的经理构建一个ActiveDirectory人员层次结构,这在个人的基础上是很好的,甚至作为一个预定义的数组变量,我将[“xx”,“xxx”]插入管道变量中,等等。我的挑战是,我需要将SQL查询的结果作为数组变量传递。因此,我需要将SQL查询的结果传递到foreach循环中,而不是定义用户列表。
我可以使用一个集合变量的查找,但是url似乎构造错误,并且由于某种原因添加了额外的字符。
返回graph.microsoft.com/v1.0/users/%7B%7B%22id%22:%22xx9e7878-bwbbb-bwbwr-7897 - 414a8e60c78c%22%7D%7D/?$expand=xxxxxx,其中“%7B%7B%22id%22:%”和“%22%7D%7D/”都是不必要的,并且似乎来自json,而不仅仅是使用值。x1c 0d1x
- 查找将从SQL运行查询
- “设置”变量使用查找值(如下所示)作为数组分配给管线变量。
- 则foreachloop使用源中的变量值
如果您有任何问题,请与我们联系。$select=id,显示名称,用户主体名称,创建日期。')
如果有人能建议如何动态地构造数组值,那就太好了。
我已经用
SELECT '["'+STRING_AGG(CONVERT(NVARCHAR(MAX),t.[id]),'","')+'"]' AS id FROM
stage.extract_msgraphapi_users t LEFT JOIN stage.extract_msgraphapi_users s ON s.id = t.id
这将返回类似于数组[“xx”,“xxx”]的内容,但数据工厂仍然将其解释为字符串而不是数组。如有任何帮助,将不胜感激。
1条答案
按热度按时间dwbf0jvd1#
十分钟后:
请注意,引用item().id是为了使用数组的id级别。2对于其他面临同样问题的人来说,这就像做梦一样