🫥
[AWS SAM]Hello World Example templateにリソースを追加する
はじめに
AWS SAMを使ってみた!感動した!
で作成した環境のHello World Example templateにリソースを追加します。
以下を追加します。
- AWS Lambda関数からアクセスするDynamoDB
追加項目
- DynamoDB
- テーブル名:helloworld
- プライマリキー:複合プライマリキー
- パーティションキー:id(文字列)
- ソートキー:datetime(文字列)
- Function
- DynamoDBテーブルに作成、読み取り、更新、および削除許可を付与
template.yaml修正箇所
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: hello_world/
Handler: app.lambda_handler
Runtime: python3.9
Architectures:
- x86_64
# 追加↓
Policies:
DynamoDBCrudPolicy: # DynamoDBテーブルに作成、読み取り、更新、および削除許可を付与するポリシー
TableName: !Ref HelloWorldTable
# 追加↑
Events:
HelloWorld:
Type: Api
Properties:
Path: /hello
Method: get
# 追加↓
HelloWorldTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: helloworld
AttributeDefinitions:
- AttributeName: id
AttributeType: S
- AttributeName: datetime
AttributeType: S
KeySchema:
- AttributeName: id
KeyType: HASH
- AttributeName: datetime
KeyType: RANGE
BillingMode: PAY_PER_REQUEST
# 追加↑
デプロイ後
できてますね。OK!
Discussion