如何使用ADF派生列生成符合要求的JSON格式输出
ADF派生列CosmosDB字段映射调整方案
你当前的派生列配置主要存在字段名不匹配、字段类型未对齐、输出结构不符合要求三类问题,可按照以下步骤调整:
- 优先对齐字段命名:你现在配置的
articleCode、promotionPrice、salePrice需要和目标输出要求的Article Code、PromotionPrice、SalesPrice严格保持一致,包括大小写、空格、拼写规则,避免名称不匹配导致的字段缺失。 - 补充完整硬编码字段:如果目标格式要求其余字段为固定硬编码值,需要在配置中明确写出对应字段和固定取值,不要遗漏。
- 补充字段类型转换:CosmosDB返回的
id、Price_For、Price_From字段可能存在类型不匹配问题,可补充类型转换保证输出符合格式要求,调整后的结构体表达式参考如下:
@( Article Code=toString(id), ColorOverrule=toString(null()), DescriptionOverrule=toString(null()), PromotionPrice=toDecimal(Price_For, 2), SalesPrice=toDecimal(Price_From, 2), // 其余硬编码字段按照需求补充,示例: FixedField1="固定值1", FixedField2=0 )
- 调整输出结构层级:如果你需要的是平级的字段输出而非嵌套的对象结构,不需要用
@()包裹所有字段,直接在派生列面板中逐个添加单独的派生列即可:- 新增派生列
Article Code,表达式填写toString(id) - 新增派生列
ColorOverrule,表达式填写toString(null()) - 新增派生列
DescriptionOverrule,表达式填写toString(null()) - 新增派生列
PromotionPrice,表达式填写toDecimal(Price_For, 2) - 新增派生列
SalesPrice,表达式填写toDecimal(Price_From, 2) - 其余硬编码字段直接新建派生列,表达式填写对应固定值即可
- 新增派生列
提示:只有当你需要将所有字段打包为单个对象类型的列输出时,才需要使用
@()结构体语法,平级输出场景直接逐个创建派生列即可。
内容的提问来源于stack exchange,提问作者chiranjib ghatak
相关产品推荐
相关产品推荐

