| サンプル集 |
|
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■WordPress ■PowerShell ■Python ■Flutter ■Rust ■Node.js ■other |
| Linuxコマンド |
| 用語集 |
| debian メモ |
| apache2 メモ |
| MySQL メモ |
| Oracle メモ |
| PostgreSQL |
| HOME |
DynamoDBの作成
CloudFormationでDynamoDBを作成してみます。
| dynamodb.yaml | ||
|
aws cloudformationコマンドは以下の通りです。
--stack-name my-dynamodb-stack ^
--template-body file://dynamodb.yaml
コマンドプロンプトで実行してみます。
More? --stack-name my-dynamodb-stack ^
More? --template-body file://dynamodb.yaml
{
"StackId": "arn:aws:cloudformation:ap-northeast-1:888111666777:st
ack/my-dynamodb-stack/eee444aa-a888-1110-0022-2666eeeccc77"}
AWSマネジメントコンソールで確認するとhousehold_budgetテーブルができていました!

Lambdaの作成
Lambdaのページを開き関数の作成をクリックします。

以下の情報を入力し画面下の関数の作成をクリックします。
| 関数名 | householdBudgetPost |
|---|---|
| ランタイム | Node.js 22.x |
Lambda関数が作成されました。

プログラム
Lambda関数のトリガーを設定します。トリガーを追加をクリックします。

API Gatewayをクリックします。

以下の情報を入力し画面の下の作成をクリックします。
| インテント | 新規のAPIを作成 |
|---|---|
| APIタイプ | REST API |
| セキュリティ | IAM |

API Gatewayがトリガーに追加されました。

@aws-sdk/client-dynamodbをインストールします。
added 84 packages, and audited 86 packages in 4s
3 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
リクエストで受け取ったデータをDynamoDBへ追加するようにします。
| householdBudgetHandler.js | ||
|
アクセス権限設定
Lambdaの設定タブのアクセス権限をクリックしロール名をクリックします。

IAMロールのページが開きました。

許可ポリシー欄の許可を追加をクリックしインラインポリシーを作成をクリックします。

ポリシーの作成ページが開きました。サービス欄でDynamoDBを選択します。

アクション許可にputIと入力し下に絞り込まれたPutItemをチェックします。

下にスクロールさせてリソース欄にあるARNを追加をクリックします。

接続するDynamoDBの情報を入力しARNを追加をクリックします。 リソースARNにDynamoDBのページからARNをコピーして貼り付けるとリソースのリージョンとResource table nameが自動で設定されます。
| リソースのリージョン | ap-northeast-1 |
|---|---|
| Resource table name | household_budget |
| リソースARN | DynamoDBのページからARNをコピーして貼り付け |

次へをクリックします。

ポリシー名にhouseholdBudgetPost-policy-putItemと入力しポリシーの作成をクリックします。

ポリシーが作成されました。

テスト
curlコマンドでAPI GatewayへPOSTしたところ正常に動作したようです。
-H "Content-Type: application/json" ^
-d "{\"item\":\"コーヒー\", \"cost\":\"510\"}"
"Added household budget detail!!"
DynamoDBのhousehold_budgetテーブルを選択しテーブルアイテムの探索をクリックします。

テーブル:household_budget - 返された項目(1)と表示されその下にデータも表示されました!

正常に動作しているようです!
後かたずけ
作成したAWSのリソースをそれぞれ削除します。
- CloudFormation my-dynamodb-stack
- DynamoDB stackを削除すると一緒に削除される。
- Lambda householdBudgetPost
- API Gateay householdBudgetPost-API
- IAM ロール householdBudgetPost-role-xxx
- CloudWatch ロググループ /aws/lambda/householdBudgetPost
CloudFormationで作成したものはCloudFormationのstackを削除すると一緒に消えるので便利ですね。
Copyright (C) 2023 - 2025 ymlib.com
