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

附加数据源

承接设计您的架构的内容,AWS AppSync 还可以根据您的架构定义自动创建表。这是一个可选步骤,但如果您是入门用户,建议完成该步骤。在此过程中,AWS AppSync 还会为您创建所有解析程序,您可立即编写 GraphQL 查询、更改和订阅。您可以在(可选)根据架构预置中了解相关内容。本教程的其余部分假设您会跳过自动预配置过程,从头构建。

添加数据源

您已在 AWS AppSync 控制台中创建并保存了一个架构,现在可以添加数据源。上一节中的架构假设您拥有一个 Amazon DynamoDB 表(名为 Todos),其中的主键名为 id、类型为 String。您可以在 Amazon DynamoDB 控制台中手动创建它,也可以使用以下 AWS CloudFormation 堆栈。

添加数据源

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

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

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

  4. 选择适当的区域。

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

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

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

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

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

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

IAM 信任策略

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

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