附加数据源
(推荐)自动预配置
承接设计您的架构的内容,AWS AppSync 还可以根据您的架构定义自动创建表。这是一个可选步骤,但如果您是入门用户,建议完成该步骤。在此过程中,AWS AppSync 还会为您创建所有解析程序,您可立即编写 GraphQL 查询、更改和订阅。您可以在(可选)根据架构预置中了解相关内容。本教程的其余部分假设您会跳过自动预配置过程,从头构建。
添加数据源
您已在 AWS AppSync 控制台中创建并保存了一个架构,现在可以添加数据源。上一节中的架构假设您拥有一个 Amazon DynamoDB 表(名为 Todos
),其中的主键名为 id、类型为 String。您可以在 Amazon DynamoDB 控制台中手动创建它,也可以使用以下 AWS CloudFormation 堆栈。

添加数据源
-
在控制台中选择数据源选项卡,然后选择新建。
-
为您的数据源取个好记的名称,如
TodosTable
。 -
选择 Amazon DynamoDB 表作为类型。
-
选择适当的区域。
-
选择您的 Todos 表。然后创建新角色(推荐)或选择现有角色,现有角色需拥有
PutItem
和扫描您的表的 IAM 权限。现有角色需要下文中说明的信任策略。 -
如果您有现有表,还可以通过选择自动生成 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" } ] }