是否可手动编辑AWS Amplify生成的CloudFormation模板添加Cognito Lambda触发器
关于你的需求的具体说明
完全可以直接修改Amplify自动生成的CloudFormation模板来实现Cognito Lambda触发器配置,你有CloudFormation的使用经验的话操作起来会非常顺畅,只要注意几个规则就能避免修改被后续Amplify操作覆盖:
- 首先找到对应Cognito的CloudFormation模板,路径在项目的
amplify/backend/auth/<你创建的auth资源名称>/目录下,文件名为cloudformation-template.json,部分项目可能是yaml格式,直接编辑这个文件即可。 - 不要修改模板中被类似
<!-- ## Auto-Generated Content Start ## -->这类Amplify专属标记包裹的内容,这些区域在你执行Amplify CLI的auth相关更新命令时会被自动覆盖,你的自定义Lambda触发器配置要写在这些标记区域之外。 - 如果你需要绑定的Lambda还没有在Amplify项目中创建,建议先执行
amplify add function完成Lambda的创建,这样Lambda的ARN等资源属性会自动注入到Amplify的全局参数列表中,你直接在Cognito的CloudFormation模板里引用对应参数即可,不需要硬编码资源ID。 - 修改完成后执行
amplify push即可将变更部署到AWS环境,部署前可以执行amplify push --dryrun预览变更内容,确认符合预期后再正式推送。
补充:如果后续你需要通过Amplify CLI更新Cognito的基础配置(比如修改密码规则、新增用户属性等),只要没有改动你自定义的触发器相关配置,这部分修改会一直保留,不会被CLI自动生成的内容覆盖。
内容的提问来源于stack exchange,提问作者Lau
相关产品推荐
相关产品推荐

