Designing and Engineering "遊び心"駆動開発

Playful IT
11:15

AWS CDKでDynamoDBのテーブルを作成する

AWS CDKでDynamoDBテーブルを作成する

import cdk = require('@aws-cdk/cdk');
import dynamodb = require('@aws-cdk/aws-dynamodb');

export class MainStack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);
    
    new dynamodb.CfnTable(this, 'DynamoDBTable', {
      tableName: 'SampleTable',
      billingMode: dynamodb.BillingMode.PayPerRequest,
      keySchema: [
        { attributeName: 'id', keyType: 'HASH' },
        { attributeName: 'createdAt', keyType: 'RANGE' },
      ],
      attributeDefinitions: [
        { attributeName: 'id', attributeType: dynamodb.AttributeType.String },
        { attributeName: 'createdAt', attributeType: dynamodb.AttributeType.String },
      ],
    });
  }
}

billingMode でオンデマンドを指定するには、dynamodb.BillingMode.PayPerRequest を指定すればよい。

@aws-cdk/aws-dynamodb には、CfnTableとTableの2つが定義されているが、どちらでもDynamoDBのテーブルを作成することができた。

CfnTableとTableで微妙にコンストラクタの3番目の引数の形が違うので注意が必要。

関連記事
4/14 11:15

AWS AppSyncでAWSDateTime型を使って日時を扱う

スキーマ定義 日時を扱うためにはAWSDateTime型を利用する。 GraphQLのスキーマでは以下のように使用できる。 リゾルバーで値を自動的にセットする 例えば上のスキーマで、createdAt…

4/13 11:40

AWS AppSyncをGitでバージョン管理する

Serverless FrameworkにAWS AppSync用のプラグインを追加することで、AWS AppSyncのスキーマ・リゾルバーをはじめとした設定が全てコードで書けて、Gitを使ったバージョン管理も行えるようになる。 動作確認 macOS Mojave 10.14.…

3/3 11:18

AppSyncのリゾルバー(VTL)ケーススタディ

リクエストマッピングテンプレート インデックスを使用してクエリする  ※IAMロールにインデックスへのアクセス権限をつける必要がある。 アンダーバーで始まる列名で検索する  レスポンスマッピングテンプレート ハッシュの配列に属性を追加する  

2/14 6:14

Apollo Clientもくもく会 2019.2.14@AWSオフィス

はじめに Apollo Clientを勉強していて、おそらくデータの読み出しと監視を行なっている readQuery メソッドと watchQuery メソッドが出てきたので、公式ドキュメントを読んで概要を把握する。 readQueryについてApollo Client…

2/13 7:03

AWS AppSync Chat Starterのメッセージ表示部分を調査する

前回まで ChatQLでApollo ClientのOptimistic Responseを使っている部分をちょっとだけ変更して、どのような動作をしているかを確認した。 AWS AppSync Chat Starter…

プロフィール