AppSync开发流程备忘录

开发过程中的时间流逝

使用AWS CDK和TypeScript添加AppSync API的步骤如下:

安装必需的软件包:

首先,请安装@aws-cdk/aws-appsync软件包。

npm install @aws-cdk/aws-appsync

创建CDK堆栈

在lib目录中创建一个新的堆栈文件(例如:appsync-cdk-app-stack.ts),并导入所需的模块。

import * as cdk from 'aws-cdk-lib';
import * as appsync from 'aws-cdk-lib/aws-appsync';

添加AppSync API

在Stack类中创建AppSync API。 定义GraphQL Endpoint本身。
在以下示例中,我们从schema.graphql文件中读取模式。

export class AppsyncCdkAppStack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    // AppSync APIの作成
    const api = new appsync.GraphqlApi(this, 'api', {
      name: 'myApi',
      schema: appsync.Schema.fromAsset(path.join(__dirname, 'schema.graphql')),
    });
  }
}

添加数据源和解析器

根据需要,可以向API添加数据源和解析器。
数据源和解析器在使用AWS AppSync构建GraphQL API时扮演着重要角色。数据源定义了API访问数据的位置,解析器指定了如何获取和操作数据,以响应客户端的GraphQL查询和变更。
数据源支持多种数据存储和服务,如DynamoDB、RDS、Amazon Elasticsearch Service、HTTP终端等。

解析器的作用是将客户端的请求映射到数据源,并将结果返回给客户端。每个解析器与特定的数据源(例如DynamoDB表或Lambda函数等)相关联,并从该数据源获取数据或进行数据更改。

管道是将多个解析器(也称为解析器函数)组合成一系列步骤的东西。每个解析器函数按顺序执行,一个函数的输出成为下一个函数的输入。这样可以从多个数据源获取数据并合并,进行复杂的数据操作和转换。

因此,通过使用管道解析程序,您可以操作多个数据源并将它们的结果组合起来,在单个请求中将其返回给客户端。这使得更复杂的数据获取和操作成为可能。
以下是一个添加DynamoDB表作为数据源并创建解析程序的示例。

import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';

// DynamoDBテーブルの作成
const table = new dynamodb.Table(this, 'MyTable', {
  partitionKey: { name: 'id', type: dynamodb.AttributeType.STRING },
});

// データソースの追加
const dataSource = api.addDynamoDbDataSource('MyDataSource', table);

// リゾルバの追加
dataSource.createResolver({
  typeName: 'Query',
  fieldName: 'getItem',
  requestMappingTemplate: appsync.MappingTemplate.dynamoDbGetItem('id', 'id'),
  responseMappingTemplate: appsync.MappingTemplate.dynamoDbResultItem(),
});

部署

最后,将部署CDK应用程序。

cdk deploy

完成以上的步骤,我们使用AWS CDK和TypeScript成功添加了AppSync API。

bannerAds