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 导致错误

Aws Amplify:部分更新(突变)

AWS Amplify CLI:将资源推送到云时出错

AWS Amplify Appsync 在创建具有关系的对象时解决错误

使用 AWS Amplify 设置 API 连接时出现问题