【问题标题】:AWS Appsync $ctx vs $context in resolvers解析器中的 AWS Appsync $ctx 与 $context
【发布时间】:2019-08-10 03:44:10
【问题描述】:

我知道上下文是您在 Lambda 函数中定义的任何名称,但对于 Appsync 解析器,我有点困惑。我已经看到 $ctx$context 在 AppSync 解析器中使用,包括在 AWS 文档中。 AWS 自己的一些代码生成工具(例如 AWS Amplify CLI)会创建在同一代码中使用两者的解析器!我在解释这一点的文档中找不到任何内容。这是怎么回事?

【问题讨论】:

  • 我正在清理我们的文档并将$context 替换为$ctx 以保持一致性。我将在Resolver Mapping page 中添加一条注释,说明$ctx 是一个别名。很抱歉造成混乱。

标签: amazon-web-services graphql aws-appsync appsync-apollo-client aws-appsync-ios


【解决方案1】:

(此处为 AWS AppSync 开发人员)

AWS AppSync 中的$ctx$context 指的是同一个Resolver Context。我们添加了$ctx 作为$context 的别名,以减少用户必须输入的字符数($ctx$context 短50%!!)

选择$context$ctx 是个人喜好。在编写 AWS AppSync 解析器时,我更喜欢 $ctx

【讨论】:

  • 感谢您的回答。这同样适用于争论吗?我见过一些地方使用 $ctx.args...?还有其他有用的别名吗?
  • $ctx.* 和 $context.* 指的是同一个东西。
  • 请注意,在引用缓存键时不允许使用 $ctx。缓存键需要以 $context.args、$context.arguments、$context.identity 或 $context.source 开头,否则 AppSync 失败并显示 400
  • 为什么不$c?打字减少 85%。
猜你喜欢
  • 2018-10-11
  • 2019-02-04
  • 2019-04-16
  • 2019-02-03
  • 2019-12-04
  • 2021-01-06
  • 1970-01-01
  • 2020-01-12
  • 2019-12-06
相关资源
最近更新 更多