https://github.com/isystk/aws-lambda-gulp
AWS Lambda から、DynamoDB に書き込みをするサンプルです。(GulpでZIPしてデプロイ)
https://github.com/isystk/aws-lambda-gulp
aws-cli aws-lambda gulp
Last synced: 10 months ago
JSON representation
AWS Lambda から、DynamoDB に書き込みをするサンプルです。(GulpでZIPしてデプロイ)
- Host: GitHub
- URL: https://github.com/isystk/aws-lambda-gulp
- Owner: isystk
- License: mit
- Created: 2021-11-01T10:49:11.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-11-24T02:58:39.000Z (about 4 years ago)
- Last Synced: 2025-01-10T13:53:04.882Z (12 months ago)
- Topics: aws-cli, aws-lambda, gulp
- Language: JavaScript
- Homepage:
- Size: 48.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
aws-lambda-gulp
## 🌐概要
AWS Lambda から、DynamoDB に書き込みをするサンプルです。
GulpでZIPしてデプロイしてます。
## 💬使い方
### Labmda をZIPに纏める
```
gulp dist
```
### aws cli を起動
```
docker-compose up -d
docker-compose exec awscli /bin/bash
```
### Labmda をAWS にデプロイ
```
POLICY=$(cat<< EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
EOF
)
# ロールを作成する
aws iam create-role \
--role-name lambda-dynamodb-role \
--assume-role-policy-document "${POLICY}"
※ DynamoDBへのアクセス権限はCLIだとエラーになるぽいので後ほどコンソール画面から付与する
# 実行結果を CloudWatch Log として保存させる
aws iam attach-role-policy \
--role-name lambda-dynamodb-role \
--policy-arn arn:aws:iam::aws:policy/CloudWatchLogsFullAccess
# Lambda関数を作成する
aws lambda create-function \
--function-name lambda-dynamodb-read-function \
--zip-file fileb://dist/read-fde29740-3b0a-11ec-856f-514ae6ed300d.zip \
--handler index.handler \
--runtime nodejs14.x \
--role "arn:aws:iam::004796740041:role/lambda-dynamodb-role"
aws lambda create-function \
--function-name lambda-dynamodb-write-function \
--zip-file fileb://dist/write-fde29740-3b0a-11ec-856f-514ae6ed300d.zip \
--handler index.handler \
--runtime nodejs14.x \
--role "arn:aws:iam::004796740041:role/lambda-dynamodb-role"
# Lambda関数を実行してみる
aws lambda invoke \
--function-name lambda-dynamodb-write-function \
--log-type Tail \
--payload '{"email":"taro@test.com", "first_name":"太郎", "last_name":"テスト", "age":40}' \
outputfile.txt
aws lambda invoke \
--function-name lambda-dynamodb-read-function \
--log-type Tail \
--payload '{"email":"taro@test.com"}' \
outputfile.txt
```
## 🎫 Licence
[MIT](https://github.com/isystk/aws-lambda-gulp/blob/master/LICENSE)
## 👀 Author
[isystk](https://github.com/isystk)