AWS Lambdaリソースの作成¶
■IAMロールの作成¶
IAMのコンソール画面を開きます
- 一般的なユースケースからLambdaを選択 > 次のステップ
- AWSLambdaBasicExecutionRole、AmazonS3FullAccess、AmazonDynamoDBFullAccessの3つのAWS管理ポリシーを選択 > 次のステップ
- タグは空のまま > 次のステップ
- ロール名に「StudyS2-Lambda-Role」を入力
- 作成
■Lambda関数の作成と設定¶
Lambdaのコンソール画面を開きます。
- 関数名:StudyS2-SampleAPI、ランタイム:Node.js 14.x
- アクセス権限: 既存のロールを使用するを選択 > 前の手順で作成した「StudyS2-Lambda-Role」を選択
- 関数の作成
- コードソースに下記のコードをペースト > 保存(Deploy)
'use strict';
const AWS = require('aws-sdk');
const dbClient = new AWS.DynamoDB.DocumentClient({ apiVersion: '2012-08-10' });
exports.handler = async (event, context) => {
const src_bucket = event.Records[0].s3.bucket.name;
const objectKey = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, ' '));
await resizeToThumbnail(src_bucket, objectKey);
};
- 「設定」タブを開く
- 一般設定を編集しメモリを256MBに、タイムアウトを15秒に変更
- 保存