🦔

ServerlessFrameworkでDynamoDBのテーブルを作成する。

2022/12/16に公開

概要

serverlessframeworkを用いて、DynamoDBのテーブルを作成する方法をご紹介します。

  • serverlessframeworkにてサービスが作成されていることを前提に手順を紹介していきます。

1. serverless.ymlの設定

serverless.ymlのresources配下にて、以下のように設定を記述します。

resources:
  Resources:
  DynamoDbTable:
      Type: 'AWS::DynamoDB::Table'
      Properties:
          # Partition Key / Sort Key
          AttributeDefinitions:
              - AttributeName: id
                AttributeType: N
              - AttributeName: content
                AttributeType: S
          # the type of key
          KeySchema:
              - AttributeName: id
                KeyType: HASH
              - AttributeName: content
                KeyType: RANGE
          # CapacityUnits
          ProvisionedThroughput:
              ReadCapacityUnits: 1
              WriteCapacityUnits: 1
          # table name
          TableName: test-DynamoDB

各値についての概要は以下の通りです。

AttributeDefinitions:
AttributeNameでキー名、AttributeTypeで型を定義します。AttributeTypeの対応表は以下を参照ください。
【AWS】DynamoDBでの変数型と記号の対応表

KeySchema:
AttributeDefinitionsにて定義したキータイプを定義します。
HASH(Partition Key)とRANGE(Sort Key)から選択します。(HASH必須)

ProvisionedThroughput:
キャパシティユニット数を指定します。
読み込みと書き込み、分けて定義を行います。

TableName:
テーブル名

2. デプロイ

以下のコマンドでデプロイを行います。

sls deploy

AWSコンソール>DynamoDB>テーブルにてテーブルが作成されていることが確認できると思います。

Discussion