AppSync作为一种现代的服务器无服务器的服务,可以使用DynamoDB作为其数据源之一,DynamoDB具有出色的灵活性和可伸缩性。使用AppSync DynamoDB Resolvers,可以轻松地将AppSync GraphQL API连接到DynamoDB表。
首先需要在AWS控制台中创建一个DynamoDB表,然后在AppSync中将其导入。 接下来就可以创建一个DynamoDB Resolver,用于将AppSync查询或变更操作映射到DynamoDB表上。
代码示例:
// 查询操作 { "version": "2017-02-28", "operation": "Query", "query": { "expression": "PK = :pk", "expressionValues": { ":pk": $util.dynamodb.toDynamoDBJson($ctx.args.pk) } }, "index": "PK-index", "consistentRead": true }
// 变更操作 { "version" : "2017-02-28", "operation" : "UpdateItem", "key" : { "PK": $util.dynamodb.toDynamoDBJson($ctx.args.pk), "SK": $util.dynamodb.toDynamoDBJson($ctx.args.sk) }, "attributeValues": $util.dynamodb.toMapValuesJson($ctx.args.input), "updateExpression" : "SET #attr1 = :val1 REMOVE #attr2", "expressionAttributeNames" : { "#attr1" : "attribute1", "#attr2" : "attribute2" }, "expressionAttributeValues" : { ":val1" : $util.dynamodb.toDynamoDBJson($ctx.args.input.attribute1) }, "returnValues" : "ALL_NEW" }