由网友(乱世女霸王)分享简介:Data Factory新手,我遇到了以下问题:我有一个调用API并返回以下JSON的Web活动:{"ResponseCode": 200,"ResponseText": "OK","Data": {"ramco_purchaseordershipment": "ramco_purchaseordership...![10年Java架构师总结,微服务Saga分布式事务解决方案与实践](https://p.xsw88.cn/allimgs/daicuo/20230903/2132.png)
Data Factory新手,我遇到了以下问题:
我有一个调用API并返回以下JSON的Web活动:
{
"ResponseCode": 200,
"ResponseText": "OK",
"Data": {
"ramco_purchaseordershipment": "ramco_purchaseordershipment",
"ramco_ramco_paymentschedule_cobalt_duesoption": "ramco_ramco_paymentschedule_cobalt_duesoption",
"cobalt_accountingintegrationbatch": "cobalt_accountingintegrationbatch",
"opportunitycompetitors": "OpportunityCompetitors"}
![10年Java架构师总结,微服务Saga分布式事务解决方案与实践](https://p.xsw88.cn/allimgs/daicuo/20230903/2132.png)
}
表示来自Dynamics 365数据库的实体名称。
我将For-Each活动设置项添加到:
@array(activity('Web1').output.Data)
这最终为我提供了一个不是我想要的项目数组。
我尝试完成的是使用迭代通过Ramco_PurchasorderShipping、ramco_ramco_paymentschedule_cobalt_duesoption,等,然后使用每个值作为参数触发另一个管道。
我知道这是件愚蠢的事情,但我整个下午都在盯着它,但没有运气。
谢谢!
Michael
推荐答案
我创建了一个简单的测试来实现这一点。在这里,我使用查找活动返回与您的相同的json文件。 我的想法是:
将此json对象转换为字符串。 将},{
添加到字符串中。
使用逗号将其拆分为字符串数组。
最终遍历此数组。
将字符串转换为json对象并将其传递给下一个管道的参数。
声明数组类型变量。
使用表达式@split(replace(string(activity('Lookup1').output.value[0].Data),',','},{'),',')
获取字符串数组。此处您需要将activity('Lookup1').output.value[0].Data
替换为activity('Web1').output.Data
。
Foreach字符串数组。
添加动态内容@json(item())
,它会将字符串解析为json
执行管道1的输入如下:
"parameters": {
"Para1": {
"ramco_purchaseordershipment": "ramco_purchaseordershipment"
}
"parameters": {
"Para1": {
"ramco_ramco_paymentschedule_cobalt_duesoption":
"ramco_ramco_paymentschedule_cobalt_duesoption"
}
"parameters": {
"Para1": {
"cobalt_accountingintegrationbatch": "cobalt_accountingintegrationbatch"
}
"parameters": {
"Para1": {
"opportunitycompetitors": "OpportunityCompetitors"
}
}
相关推荐
最新文章