【问题标题】:Unable to upload large graphql schema to aws appsync无法将大型 graphql 模式上传到 aws appsync
【发布时间】:2018-08-25 10:51:47
【问题描述】:

我正在尝试将我的 graphql 架构上传到 aws appsync。我的 graphql 架构将近 5000 行。我尝试使用 cli 和 gui 上传。

(1.) 使用 cli 时,我不断收到错误消息“无法解析架构文档 - 确保它是有效的 SDL 格式文档。”

(2.) 使用 gui 时,我的 graphql 架构中所有联合中的管道(例如 union UnionType = Type1 | Type2 | Type3 )被替换为空格,导致语法错误。通过手动替换空格解决此问题后,选项卡变得无响应,需要被终止。

我尝试从 cli 上传一个带有 union 的小型 graphql 架构,并且成功。但是,从 gui 来看,它导致了在联合中用空格替换管道的相同错误。

我需要使用 aws cli 和 aws 控制台来帮助理解这种行为。

【问题讨论】:

  • 你的架构有多大?
  • 就文件大小而言,134KB。就行数而言,5600行以上。
  • 至于第 1 点,这是服务无法解析的模式的“全部捕获”消息。你能分享一个请求ID、相对时间戳和你调用的区域吗?我可以进一步调查。
  • 这里有同样的问题。有什么解决办法吗?
  • 我们最终使用了github.com/sid88in/serverless-appsync-plugin,因为它为我们提供了在 serverless.yaml 文件中添加 graphql 解析器和所有内容的灵活性。这简化了我们的构建过程,因为无论如何我们都在使用无服务器

标签: graphql aws-appsync


【解决方案1】:

事实证明,在我们的例子中,问题在于存在定义在 out 模式 (DynamoDB reserved words) 中的保留键,即使我们根本没有使用 Dynamo。

【讨论】:

【解决方案2】:

我遇到了类似的问题,AppSync 不允许只使用一个 # 符号将任何 cmets 放入其中。

确保没有只有一个 # 的 cmets 并使用双尖 ## 无论如何,它碰巧有一些 AppSync 尚不支持的无效格式或语法。

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 2019-02-06
    • 2018-08-23
    • 2020-11-12
    • 2020-11-01
    • 2022-01-23
    • 2018-07-07
    • 2019-05-03
    • 2018-10-11
    相关资源
    最近更新 更多