使用 API - AWS AppSync
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 API

既然您有了 GraphQL API 且上传了架构、配置了数据源且解析程序已连接到您的类型,您就可以测试 API 了。以下两个示例假定您已使用设计您的架构中的基本架构。

在 AWS AppSync 中,选择 Queries (查询) 选项卡,然后在编辑器中输入以下文本:

mutation add { addTodo(id:"123" name:"My TODO" description:"Testing AWS AppSync" priority:2){ id name description priority } }

选择顶部的按钮来运行更改。运行完成后,来自选择集(即 idnamedescriptionpriority)的结果将显示在右侧。数据也出现在数据源的 Amazon DynamoDB 表中,您可以使用控制台进行验证。

现在按如下所示运行查询:

query list { getTodos { id name } }

这将返回您的数据,但只返回您的选择集中的两个字段(idname)。注意:如果您遇到错误,例如 Validation error of type FieldUndefined (类型为 FieldUndefined 的验证错误),您可能已经按照设置关系和分页的说明操作。如果是这样,请使用下一部分中的查询。

关系和分页

如果已设置具有关系和分页的高级架构,您的 getTodos 查询看起来会有点不同。首先,将一条评论添加到 todo,如下所示:

mutation addComment { addComment(todoid:"123" content:"GraphQL is fun"){ todoid commentid content } }

在此示例中,会自动创建 commentid。再添加几个 todoscomments,将 limit 设置为 2 条记录,然后运行 getTodos,如下所示:

query list { getTodos(limit:2){ todos { id name status comments{ commentid content } } nextToken } }

只有两个 todo 返回(带评论),因为您在参数中指定了 limit:2nextToken 字段应返回一个长字符串。如果您复制此字符串,则可以将其作为 getTodos 中的第二个参数传递,方法为替换 getTodos(limit:2 nextToken:"XXXXXXXXXXXX") 中的 XXXXXXXXXXXX。例如:

query list { getTodos(limit:2 nextToken:"eyJ2ZXJzaW9uejE1a2RPanZPQzFCMlFTdGNxdUFBQUJxekNDQWFjR0NTcUdTSWIzRFFFSEJxQ0NBWmd3Z2dHVUFnRUFNSUlCalFZSktvWklodmNOQVFjQk1CNEdDV0NHU0FGbEF3UUJMakFSQkF5eEtWQjUvTlJxS2o5ZHBYc0NBUkNBZ2dGZUZFNW1MbTRkb25BOUg0U0FpOGhSZ1lucmRndmQz"){ todos { id name status comments{ commentid content } } nextToken } }

在客户端应用程序中,您可以根据您的分页流和逻辑将此令牌作为参数传递。

后续步骤

现在您已经创建了一个架构,可以演练如何将它与不同的数据源一起使用,了解有关高级解析程序功能的更多信息,或者构建客户端应用程序。有关详细信息,请参阅以下章节: