繁体   English   中英

如何在复制活动( NoSQL 到 SQL )中过滤 ADF(Azure 数据工厂)V2 中最后一次成功触发器运行的数据?

[英]How to filter data on last successful trigger run in ADF(Azure Data Factory) V2 in copy activity ( NoSQL to SQL )?

我有一个 ADF 管道,它仅具有来自 Cosmos Mongo DB 的复制活动并复制到 SQL 服务器。 目前,每次运行管道时我都会截断表,然后复制所有数据。 但是现在我想在一个字段上添加一个过滤器 say(lastModifiedTime) 并与上次成功的触发器运行进行比较。

谁能建议我可以在这里使用的表达式作为增量更新源中的过滤器?

我完全想避免在预拷贝脚本中截断表。

根据 ADF 中的增量复制数据,目前不支持 MongoDB 连接器。 我的解决方法是添加一个外部 static 变量来存储管道的每个结束时间。

Step1-在复制活动之后添加一个 Azure function 活动。 如果复制活动成功执行,则将执行结束时间作为参数传递给 azure function。 utcnow()https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions#date-functions

Step2-在 Azure function 方法中,将time存储到以后可以访问的某个地方,例如 Blob Storage。

Step3-下一个触发器运行,在复制活动之前从blob存储中获取查找活动的最后执行时间,并将其设置为设置变量活动,以便您可以在下一步中使用它。

Step4-在 MongoDB 源数据集中添加过滤条件,其值为设置变量活动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM