自動化 - 使用Grunt
完全なAWS Lambda シードプロジェクトはGit で入手できます。
ステップ 1: npm モジュールの初期化
npm init
ステップ 2: Grunt をインストールする
npm install --save-dev grunt grunt-cli
ステップ 3:インストールgrunt-aws-lambda
npm install --save-dev grunt-aws-lambda
ステップ 4: Lambda サービスのフォルダーを作成する
# Create directory
mkdir lambdaTest
# Jump into folder
cd lambdaTest
# Create service file
touch lambdaTest.js
# Initialize npm
npm init
ロジック/コードを保持するlambdaTest.js
'use strict'
exports.handler = (event, context, callback) => {
console.log("Hello it's looks like working");
};
ステップ 5:作成するGruntfile.js
ルート フォルダに戻る
touch Gruntfile.js
'use strict'
module.exports = function (grunt) {
grunt.initConfig({
lambda_invoke: {
lambdaTest: {
options: {
file_name: "lambdaTest/lambdaTest.js",
event: "lambdaTest/test.json",
}
}
},
lambda_package: {
lambdaTest: {
options: {
package_folder: 'lambdaTest/'
}
}
},
lambda_deploy: {
lambdaTest: {
arn: 'arn:aws:lambda:eu-central-1:XXXXXXXX:function:lambdaTest',
options: {
credentialsJSON: 'awsCredentials.json',
region: "eu-central-1"
},
}
},
});
grunt.loadNpmTasks('grunt-aws-lambda');
grunt.registerTask('ls-deploy', ['lambda_package:lambdaTest', 'lambda_deploy:lambdaTest']);
};
ステップ 6:作成するawsCredentials.js
カスタム ポリシーを使用して AWS IAM ユーザーを作成します。カスタム ポリシーには、、、、およびへのアクセス権が必要lambda:GetFunction
です。lambda:UploadFunction
lambda:UpdateFunctionCode
lambda:UpdateFunctionConfiguration
iam:PassRole
{
"accessKeyId": "XXXXXXXXXXXXXXXXXXXX",
"secretAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
ステップ 7: zip を作成し、AWS Lambda にデプロイします。
ls-deploy
上記の Gruntfile で作成されたカスタム タスクで、ソース コードの zip を作成し、Lambda にデプロイします。
grunt ls-deploy
完全なAWS Lambda シードプロジェクトはGit で入手できます。