V2 复制活动中是否有办法使用表达式对输入列(字符串类型)之一进行操作?在将行加载到目的地之前,我需要限制列中的字符数。
我的希望是简单地从这样的事情切换:
"ColumnMappings": "inColumn: outColumn"
Run Code Online (Sandbox Code Playgroud)
像这样:
"ColumnMappings": "@substring(inColumn, 1, 300): outColumn"
Run Code Online (Sandbox Code Playgroud)
如果有人可以指出我可以在哪里阅读有关何时可以使用字符串表达式的信息,我可以使用该指南。
以下是工作:
responses/desc/50000/1/1525756206/json?X-apikey=542c0603951a208c4be688002d36f48808c40116174
Run Code Online (Sandbox Code Playgroud)
但不是这个:
responses/desc/50000/1/@{formatDateTime(adddays(utcnow(), -6), '%a %b %d %H:%M:%S +0000 %Y')}/json?X-apikey=542c0603951a208c4be688002d3c40116174
Run Code Online (Sandbox Code Playgroud)
即使这不起作用:
responses/desc/50000/1/@{formatDateTime(adddays(utcnow(), -6), '%s')}/json?X-apikey=542c0603951a208c4be688002d3c40116174
Run Code Online (Sandbox Code Playgroud)
所以它是
@{formatDateTime(adddays(utcnow(), -6), '%a %b %d %H:%M:%S +0000 %Y')}
vs
1525756206
vs
@{formatDateTime(adddays(utcnow(), -6), '%s')}
有人可以帮我吗?我已经被困在这里几天了。如何在数据工厂中计算或使用秒数?
基本上,当我使用时@{formatDateTime(adddays(utcnow(), -6), '%a %b %d %H:%M:%S +0000 %Y')},它只是忽略 URL 中的过滤器/标签。
我在 Azure 数据工厂中有一个管道设置,它有一个名为 MonthsBack 的管道变量设置,默认为 12。在Until 循环中,我构建了一个SQL 语句,该语句使用此MonthsBack 变量来生成SQL 语句,并且在循环中它还将值减1,并将这些SQL 语句附加到另一个集合变量中。在Until 块运行后,我有一个包含12 个SQL 语句的数组,然后在ForEach 块中使用它来执行这12 个语句并动态生成12 个存储在数据湖中的文件。这一切都很好,并且完全符合我的要求。
现在我有一个新的需求,而不是有 12 个 SQL 语句,我想要做的是将 MonthsBack 变量设置为等于 SQL 数据库中的某个值,所以理想情况下我会创建一个新的 DataSet 来查询和检索它值,然后使用它来设置 MonthsBack 数据库的默认值。我似乎无法弄清楚如何使用给定的任务完成此任务。
我知道我在“动态内容”窗格中看到了一种引用先前任务结果的方法,但我不记得我之前是如何做到这一点的。有人可以告诉我或指向我有关如何执行此操作的正确文档。谢谢
我有一个非常简单的 ADF 管道,用于将数据从本地 mongoDB(自托管集成环境)复制到 Azure SQL 数据库。
我的管道能够从 mongoDB 复制数据并插入到 SQL 数据库中。目前,如果我运行管道,它会在多次运行时插入重复数据。
我已经将 _id 列作为 SQL 数据库中的唯一列,现在运行管道抛出和错误,因为 SQL 约束不会让它插入记录。
如何在插入 SQL 数据库之前检查重复的 _id?
我应该使用预复制脚本/存储过程吗?一些指导/说明将有助于在何处添加额外步骤。谢谢
azure azure-data-factory azure-sql-database azure-data-factory-2