You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CloudFormation回滚更新报错:指定AppSync函数ID不匹配

解决CloudFormation回滚时AppSync函数ID不匹配的报错

1. 定位模板里的硬编码函数ID

先查CloudFormation模板中所有AWS::AppSync::Resolver资源,看是否在FunctionId属性或者映射模板(RequestMappingTemplate/ResponseMappingTemplate)里硬编码了报错里的klgmrt6o3zf7fcrdlnptvfi3su这类固定ID。这些硬编码就是问题根源——实际创建的函数ID是动态生成的,和模板里写死的对不上。

2. 改用动态引用函数ID

把硬编码的ID替换成CloudFormation的动态引用方式:

  • 如果函数是同模板里定义的(比如资源名是MyAppSyncFunction),解析器里直接用:
    FunctionId: !Ref MyAppSyncFunction
    
  • 如果函数来自其他堆栈,用!ImportValue导入该函数的ID输出值。
  • 映射模板里不要直接写ID,改用上下文变量,比如$context.function.id或$context.function.name来引用。

3. 解决回滚卡住的问题

如果当前堆栈回滚卡着动不了:

  • 先去AppSync控制台,找到引用报错里那两个函数ID的解析器,手动删除它们。
  • 回到CloudFormation控制台,重新触发回滚操作。

4. 排查ID不匹配的深层原因

  • 查看CloudFormation的事件日志,找到之前创建AppSync函数的记录,确认函数的实际物理ID,对比模板里的引用逻辑是否正确。
  • 检查是否修改过函数的Name、DataSourceName等会触发资源重建的属性——这类修改会导致旧函数被删除、新函数生成新ID,但解析器还在引用旧ID,就会报错。

内容的提问来源于stack exchange,提问作者Ilijanovic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 08:07:34