无法创建变更跟踪与清单数据收集规则,模板验证失败求助
问题排查与解决方法
错误根源
模板中subscriptionId变量使用substring函数时,传入的长度参数为-16,这是因为函数依赖的前置字符串(比如某个资源ID)长度不足,导致计算出负数长度,违反了substring函数的参数要求(长度不能小于0)。
具体修复步骤
- 检查模板中的
subscriptionId变量定义,通常是依赖从工作区资源ID中截取订阅ID的逻辑,当订阅ID格式不符合预期或资源ID结构变化时,就会出现长度计算为负的情况。 - 将
subscriptionId变量的定义替换为直接引用当前部署上下文的订阅ID,替换后的代码如下:
这种方式无需依赖资源ID格式,直接获取当前订阅ID,可靠性更高。"subscriptionId": "[subscription().subscriptionId]" - 确认模板中
workspaceName等参数对应的资源存在于当前订阅,且参数值填写正确。 - 修改完成后重新导入JSON文件,执行模板验证与部署操作。
内容的提问来源于stack exchange,提问作者rybanapet
相关产品推荐
相关产品推荐

