在 Azure 数据工厂的 Web 中动态传递作业 ID activity

Pass Job ID dynamically in Azure Data Factory's Web activity

我正在处理 Salesforce Bulk API,我可以在其中创建工作并将数据成功上传到 Salesforce。现在我想向 Salesforce 发送 GET 请求并获取工作状态,但是在网络 activity 的 URl 字段中,我试图从以前的网络 activity 传递工作 ID,但它不起作用因为 Salesforce 在将其发送到 Azure 数据工厂时会将其 15 位 ID 转换为 18 位 ID。我正在尝试连接 url 和作业 ID,但同时删除最后 3 个字符。

例如:URL:http://test.salesforce.com/data/v42.0/job/ingest/ JOBID:01fr6745gh00000AAF(从之前的 activity、'activity.output.id' 动态添加)

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

我不确定这是否可行或如何实现。任何帮助将不胜感激。

谢谢,

您可以使用 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)))