如何在Synapse工作区部署时覆盖触发器计划的小时参数?
解决Synapse部署时用OverrideArmParameters覆盖触发器调度参数的正确方法
当你需要在不同环境覆盖Synapse触发器的调度时间时,由于模板中Load from FTP_properties_typeProperties_recurrence_schedule是object类型(包含minutes和hours两个数组属性),直接用0,9这种字符串格式覆盖会因为类型不匹配导致解析失败,最终时间框为空。
正确的覆盖写法
需要严格匹配参数的对象结构,使用JSON格式的字符串来指定完整的调度对象:
OverrideArmParameters: | KeyVault_properties_typeProperties_baseUrl: xxxx${{ parameters.environment }}xxx Datalake_properties_typeProperties_url: xxxx${{ parameters.environment }}xxxx.dfs.core.windows.net Load from FTP_properties_typeProperties_recurrence_schedule: '{"minutes": [0], "hours": [0,9]}'
关键说明
- 必须用单引号包裹JSON字符串,避免YAML解析时出现语法错误
- JSON结构要和模板中
defaultValue的结构完全一致:minutes和hours都是数组类型,即使只有一个值也要用数组格式(比如[0]) - 如果需要调整分钟数,直接修改
minutes数组内容即可,例如"minutes": [15,45]
这样部署后,触发器的调度时间就会被正确覆盖为指定的小时和分钟。
内容的提问来源于stack exchange,提问作者justsander
相关产品推荐
相关产品推荐

