`amplify push` 上不存在 GraphQLSchema 指定的键

GraphQLSchema Specified key does not exist on `amplify push`

我已将放大版本从 4.45.0 升级到 5.2.0,

现在,当我执行 amplify push 时,出现以下错误:

Following resources failed

Resource Name: ci5lt23eofhvxlc3an7db4d7veGraphQLSchema (AWS::AppSync::GraphQLSchema)
Event Type: update
Reason: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: GZQF1T9HWCCED75H; S3 Extended Request ID: qicfcwF2YUNdqMDU3EUkt+hsXIQawcirDG7TIX+peEEkAWOE1v9ee6n2L5Qc2I8uePyAXg2eJ4U=; Proxy: null)

删除了用力推动后的错误:amplify push --force

强行推送到云端对我的情况没有帮助。 原来我的 graphql 密钥有一个有效期,我在 运行 amplify update api 之后才意识到,这里是:

Authorization modes
- Default: API key expiring Tue Oct 25 2022 ....

然后我更新了我的密钥。结果很好...

我遇到了同样的问题,我发现这是由于 graphQL 文件中的这一部分造成的:

此“输入”配置全局授权规则以允许public 访问此架构中的所有模型。在此处了解有关授权规则的更多信息:https://docs.amplify.aws/cli/graphql/authorization-rules

input AMPLIFY { globalAuthRule: AuthRule = { allow: public } } # FOR TESTING ONLY!
type User @model {
    id: ID!
    username: String!
    email: String!
}

解决方案是删除 type 之前的所有内容,然后在 shell

上执行 amplify-push