在Azure Data Factory中为数据库接收器映射添加当前日期
简单实现ADF添加当前日期到数据库表列的方法
你不需要复杂的变量设置,直接利用ADF的系统函数就能快速实现,推荐两种最简方案:
方案一:在复制活动接收器映射中直接配置
针对你第二个「读取数据湖xlsx写入数据库」的复制活动,操作步骤如下:
- 打开该复制活动,切换到映射标签页,先点击「导入架构」同步源(xlsx)和目标(数据库表)的列结构
- 在目标列列表里找到你新增的日期列(比如命名为
load_date),点击对应源列的输入框,选择「添加动态内容」 - 在动态内容编辑器中输入:
如果需要本地时区的日期(比如中国时间),改用:@utcnow('yyyy-MM-dd')@convertFromUtc(utcnow(), 'China Standard Time', 'yyyy-MM-dd') - 保存管道后运行,数据库的目标列会自动填充当前日期
方案二:在源数据集(数据湖xlsx)中添加计算列
如果希望读取xlsx数据时就附带日期列,可通过数据集配置实现:
- 打开数据湖存储的xlsx数据集,切换到架构标签页
- 点击「添加列」,设置列名为
load_date,数据类型选择「日期/时间」 - 在「表达式」栏输入
@utcnow('yyyy-MM-dd')(或带时区转换的表达式) - 回到复制活动的映射页面,重新导入架构,新增的
load_date列会出现在源列列表中,直接映射到数据库的目标日期列即可
注意事项
- 确保数据库目标表已提前创建好对应的日期列(建议用
DATE类型) utcnow()返回UTC时间,需根据业务场景调整时区转换逻辑- 两种方案都无需额外的「设置变量」活动,直接利用系统函数即可完成需求
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

