问题描述
我正在开发 Salesforce Bulk API,我可以在其中创建作业并将数据成功上传到 Salesforce。现在我想向 Salesforce 发送 GET 请求并获取工作状态,但在 Web 活动的 URl 字段中,我试图传递来自先前 Web 活动的 JOB ID,但它不起作用,因为 Salesforce 将其 15 位 ID 转换为 18 位 ID 时它将它发送到 Azure 数据工厂。我正在尝试将 url 与作业 ID 一起连接,但同时删除最后 3 个字符。
例如:网址: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 字段中传递它。
我不确定这是否可行或如何实现。任何帮助将不胜感激。
谢谢,
解决方法
您可以使用 length()
函数获取您的 id 长度,然后使用 substring(id,length-3)
函数获取您期望的 id。最后连接你的 URL 和 id。
类似这样的表达:
@concat('http://test.salesforce.com/data/v42.0/job/ingest/ ',substring(activity('name').output.id,sub(length(activity('name').output.id),3)))