ADF v2 中 Copy Activity 中列名称的子字符串

Substring of column name in Copy Activity in ADF v2

V2 Copy Activity 中有没有一种方法可以使用表达式对其中一个输入列(字符串类型)进行操作?在将行加载到目标之前,我需要限制列中的字符数。

我希望简单地从这样的东西切换:

"ColumnMappings": "inColumn: outColumn"

像这样:

"ColumnMappings": "@substring(inColumn, 1, 300): outColumn"

如果有人能指出我在哪里可以阅读字符串表达式的使用地点和时间,我可以使用该指南。

这是关于表达式和函数的官方文档:https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions

这是关于映射的文档:https://docs.microsoft.com/en-us/azure/data-factory/copy-activity-schema-and-type-mapping

还请记住,如果您在副本 activity 中使用定义的查询,则可以使用 sql 函数,如 CAST([fieldName] as varchar(300)) 来限制查询的数量特定字段上的字符。

希望对您有所帮助!

当您没有 SQL 源,但您的目标是 SQL 接收器时,您可以使用存储过程将数据插入最终 table。这样,您就可以在存储过程中定义这些类型的转换。我不认为数据工厂可以处理这些类型的活动,它更像是一个协调器。

看看这里: https://docs.microsoft.com/en-us/azure/data-factory/connector-sql-server#invoke-stored-procedure-from-sql-sink