Azure Data Factory中读取JSON文件不存在时动态创建默认文件
解决Azure Data Factory动态生成默认JSON文件并写入的问题
你已经通过Get Metadata Activity判断文件是否存在,接下来可以按以下步骤实现不存在时生成默认JSON的需求:
1. 定义默认JSON变量
在管道中创建一个String类型的变量(比如defaultJsonContent),直接将默认JSON内容设为变量值:
{ "LastRunDate": "2000-01-01" }
2. 配置If Condition分支逻辑
在Get Metadata Activity后添加If Condition活动,判断条件使用:
@activity('Get Metadata1').output.exists
- 条件为True时:执行读取JSON文件的逻辑(用Lookup Activity读取文件内容,再提取
LastRunDate值) - 条件为False时:执行生成默认JSON文件的逻辑
3. 动态生成并写入默认JSON文件
在False分支中添加Copy Activity,配置如下:
源端设置
- 选择Inline作为数据集类型
- 在Inline数据集的「Content」字段中引用之前定义的变量:
@variables('defaultJsonContent') - 格式选择JSON,关闭「First row as header」选项
目标端设置
- 选择你的存储账户Blob数据集,指定要创建的文件路径(与Get Metadata检查的路径完全一致)
- 明确设置「File name」为你需要生成的文件名(比如
lastRunDate.json)
4. 读取已存在的JSON文件
在True分支中用Lookup Activity读取目标JSON文件,之后通过表达式提取LastRunDate值:
@activity('Lookup1').output.firstRow.LastRunDate
这样就能实现:文件存在时读取指定值,不存在时自动生成带默认值的JSON文件。
内容的提问来源于stack exchange,提问作者O'Neil Tomlinson
相关产品推荐
相关产品推荐

