azure - 在列映射中传递管道参数
问题描述
我正在尝试将默认值配置为我的 sourceID 列。我的源是一个文件,我的接收器是一个数据库表。因此,我无法在 sql 查询中定义 sourceID。
我创建了一个参数并定义了值。意图在列映射的动态内容字符串中传递参数。但是,我无法将参数值加载到我的表中。
如果我在动态内容定义中犯了错误,或者有更好的方法来实现预期的结果,请提出建议。
{
"type":"TabularTranslator",
"columnMappings":{
"AS_OF_DATE":"AS_OF_DATE",
"SECTOR_ID":"SECTOR_ID",
"ASSET_GROUP":"ASSET_GROUP",
"REGION":"REGION",
"COUNTRY":"COUNTRY",
"FIELD":"FIELD",
"SECTOR_FLAG":"SECTOR_FLAG",
"PRODUCT":"PRODUCT",
"PERIODICITY":"PERIODICITY",
"UNIT_CODE":"UNIT_CODE",
"OPERATORSHIP":"OPERATORSHIP",
"OPRNAME":"OPRNAME",
"ACTUAL":"ACTUAL",
"PLAN":"PLAN",
"SOURCE_ID":"@{pipeline().parameters.sourceIDmpm}"
}
}
解决方案
要在复制活动中动态映射列,请在管道中定义一个“对象”类型的参数:
"parameters": {
"columnMapping": {
"type": "Object"
}
}
并在复制活动中引用此参数,例如:
"translator": {
"value": "@pipeline().parameters.columnMapping",
"type": "Expression"
}
请注意,您需要将 JSON 值传递给参数。比如我传给参数
'columnMapping'.
{
"type": "TabularTranslator",
"columnMappings": {
"Prop_0": "Prop_0",
"Prop_1": "Prop_1", "Prop_2": "Prop_2"
}
}
有关更多详细信息,您可以参考解决类似问题的MSDN线程。
希望这可以帮助。
推荐阅读
- python - 绘制时间序列图
- python - 如何进行双重验证?
- node.js - 如何在 AWS Elastic Beanstalk 上部署 next.js?
- linux - 为旧键盘/隐藏设备编写 linux 内核模块/驱动程序
- visual-studio-code - 遇到 ninja 和 CMake 问题时如何在 VSCode 上构建 ESP 项目?
- r - 缺少数据的误差线性回归
- android - 如何在android上自定义通知
- android - 从 URL 中提取音频文件详细信息(mp3 文件)
- c# - CoPurchase Recommendation 引擎返回 NaN
- javascript - 未捕获的 RangeError:Int16Array 的字节长度应为 2 的倍数