AWS Amplify SDK 在放大推送时失败([unauthRoleName, authRoleName] 缺失)
Posted
技术标签:
【中文标题】AWS Amplify SDK 在放大推送时失败([unauthRoleName, authRoleName] 缺失)【英文标题】:AWS Amplify SDK fail on amplify push ([unauthRoleName, authRoleName] missing) 【发布时间】:2021-07-26 18:49:08 【问题描述】:我正在为我的公司开发一个应用程序,该应用程序利用具有 lambda 函数的 API 网关 REST 端点和 cognito 用户池(带组)进行授权。
我昨天尝试添加一个新端点,并收到角色策略太大(超过 X 字节)的错误 - 在查看此问题后,我看到较新版本的 AWS amplify CLI(即 4.50.0)规避了这一点通过整合和组合类似的内联策略以减小总大小来解决问题。
我升级到此版本的 Amplify CLI 并发现此问题已修复,但随后我遇到了另一个问题...在尝试通过 amplify push
推送任何更改时,我现在得到以下信息错误:
Parameters: [unauthRoleName, authRoleName] do not exist in the template
此错误指的是什么“模板”,我该如何解决?在谷歌搜索后,我看到了一些潜在的解决方案,但没有一个真正对我有用,对于那些确实为它工作的人来说,这只是一个临时解决方案。最终,如果有什么我需要继续做的临时修复,那么我会接受它,它会做的,但我想知道如何永久解决这个问题,因为我认为必须缺少一些东西无论是在我端还是在 AWS 云上...可能是升级 CLI 之前遇到的初始错误的产物?
感谢您的帮助,非常感谢 :)
【问题讨论】:
【参考方案1】:我发现问题在于 Amplify CLI 从 amplify/backend/api/APPNAME/APPNAME-cloudformation-template.json
中删除了以下内容:
"authRoleName":
"Type": "String"
,
"unauthRoleName":
"Type": "String"
在手动重新添加并重新添加直到它卡住并且不再被删除后,问题就解决了。
【讨论】:
以上是关于AWS Amplify SDK 在放大推送时失败([unauthRoleName, authRoleName] 缺失)的主要内容,如果未能解决你的问题,请参考以下文章
AWS Amplify GraphQL Schema 导致错误