【问题标题】:Restoring Previous instance of AWS Appsync schema恢复 AWS Appsync 架构的先前实例
【发布时间】:2020-02-16 09:46:28
【问题描述】:

我希望我能解释清楚。

因此,我创建了一个带有放大功能的反应应用程序并推送了我的架构,然后继续修改并创建了我需要的各种解析器也将被重置我开始直接在 Appsync 控制台中更新我的架构,因此每次我想更改某些内容时都不必重做解析器。现在不幸的是,我以某种方式执行了放大推送,它再次删除了我所有的解析器。所以我的问题是......有没有办法将我的 shema 恢复到以前的状态并带回所有丢失的解析器?

谢谢。

【问题讨论】:

  • 尝试联系 AWS 支持并向他们提供您的账户 ID、api ID 以及您创建覆盖的架构的大致时间。不过,这些数据不太可能仍然存在。

标签: aws-amplify aws-appsync aws-amplify-cli


【解决方案1】:

首先,您是否对解析器进行了版本控制?我没有 AppSync 版本您的解析器或保留备份,但您可能想立即联系服务团队,看看他们是否可以恢复仅存在于 AppSync API 中的任何解析器。

第二:您是更改了默认解析器,还是创建了新的解析器?

如果您想覆盖默认解析器,您可以在/<project_root>/amplify/backend/api/<your_api_name>/resolvers 中创建它们。 (如果此目录不存在,则创建此目录。)

以下是有关覆盖解析器的官方 Amplify 文档。链接后直接有一个页面

假设你有一个简单的 schema.graphql……

type Todo @model {
  id: ID!
  name: String!
  description: String
}

并且您想要更改将在项目编译时生成的 Query.getTodo 解析器的请求映射模板的行为。为此,您将在 API 项目的解析器目录中创建一个名为 Query.getTodo.req.vtl 的文件。下次您运行 amplify push 或 amplify api gql-compile 时,将使用您的解析器模板而不是自动生成的模板。您可以类似地创建一个 Query.getTodo.res.vtl 文件来更改解析器的响应映射模板的行为。

https://aws-amplify.github.io/docs/cli-toolchain/graphql#overwriting-resolvers

还有关于创建自定义解析器并将它们作为自定义资源附加的文档。 https://aws-amplify.github.io/docs/cli-toolchain/graphql#overwriting-resolvers

【讨论】:

    猜你喜欢
    • 2019-12-11
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多