首页 > 解决方案 > 在 Azure 数据工厂的 Web 活动中动态传递作业 ID

问题描述

我正在使用 Salesforce Bulk API,我可以在其中成功创建作业并将数据上传到 Salesforce。现在我想向 Salesforce 发送一个 GET 请求并获取工作状态,但在 Web 活动的 URl 字段中,我试图从以前的 Web 活动中传递 JOB ID,但它不起作用,因为 Salesforce 将其 15 位 ID 转换为 18 位 ID 时它将其发送到 Azure 数据工厂。我正在尝试将 url 与作业 ID 联系起来,但同时去掉最后 3 个字符。

例如: URL:http ://test.salesforce.com/data/v42.0/job/ingest/ JOBID:01fr6745gh00000AAF(从以前的活动中动态添加,“activity.output.id”)

我想要的输出:http ://test.salesforce.com/data/v42.0/job/ingest/01fr6745gh00000 。我想在 Web 活动 URL 字段中传递它。

我不确定这是否可能或如何实现。任何帮助都感激不尽。

谢谢,

标签: azure-data-factorysalesforce-service-cloudazure-data-factory-pipeline

解决方案


您可以使用length()函数来获取您的 id 的长度,然后使用substring(id,0,length-3)函数来获取您期望的 id。最后连接你的 URL 和 id。

像这样的表达:

@concat('http://test.salesforce.com/data/v42.0/job/ingest/ ',substring(activity('name').output.id,0,sub(length(activity('name').output.id),3)))

推荐阅读