附加数据源 - Amazon AppSync
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

附加数据源

继续从设计您的架构,你可以有AmazonAppSync 会根据您的架构定义自动创建表。这是一个可选步骤,但如果你刚刚开始,建议采取步骤。Amazon在此过程中,AppSync 还会为您创建所有解析程序,您可立即编写 GraphQL 查询、更改和订阅。您可以在(可选)根据架构预置中了解相关内容。本教程的其余部分假设您会跳过自动预配置过程,从头构建。

添加数据源

现在你在AmazonAppSync 控制台并保存了它,您可以添加数据源。上一节中的架构假设您拥有 Amazon DynamoDB 表,名为Todos用主键id的类型字符串. 您可以在 Amazon DynamoDB 控制台中手动创建它,也可以使用以下命令。Amazon CloudFormation堆栈:

添加数据源

  1. 在控制台中选择数据源选项卡,然后选择新建

    1. 为您的数据源取个好记的名称,如 TodosTable

  2. 选择 Amazon DynamoDB 表作为类型。

    1. 选择适当的区域。

  3. 选择您的 Todos 表。然后创建新角色(推荐)或选择现有角色,现有角色需拥有 IAM 权限PutItem然后扫描你的桌子。现有角色需要下文中说明的信任策略。

  4. 如果您有现有表,还可以通过选择自动生成 GraphQL 来自动创建 CRUD、List 和 Query 操作,如(可选)从 Amazon DynamoDB 导入中所述,但在本教程中不要选择它。

如果您没有学习本教程中有关架构使用分页和关系(具有 GraphQL 连接)的高级部分,您可以直接转到配置解析程序

如果您正在完成包括分页和关系的高级部分,需要使用名为 Comments、主键为 todoid 且排序键为 commentid(两个键的类型均为 String)的表重复以上流程。另外,必须在名为 todoid-index、分区键为 todoid 且类型为 String 的表中创建全局二级索引。您可以在 Amazon DynamoDB 控制台中手动创建它,也可以使用以下命令。Amazon CloudFormation堆栈:

您需要针对 Comments 表进行 code:PutItem 和 code:Query 的 IAM 权限。我们建议您如上文所示使用创建新角色

现在,您已连接了数据源,可以利用解析程序将它与您的架构连接。请继续阅读配置解析程序

IAM 信任策略

如果您针对数据源使用现有 IAM 角色,则需要为该角色授予适当的权限,以便针对您的Amazon资源,例如PutItem在 Amazon DynamoDB 表上。您还需要修改该角色的信任策略以允许。AmazonAppSync 以便使用它进行资源访问,如以下示例策略所示:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "appsync.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }