最近AWS lambdaをいろいろ触っていて、ネタ的なものがちゃんとできたら会社のブログに書こうと思ってるんだけど、とりあえず初歩的な動かすところまでーみたいなのはこっちに書こうと思う。
AWS lambdaではAWSマネージメントコンソール上で直接jsスクリプトを書く以外に、外部モジュールもまとめてzip化してアップロードすることができる。というのでやってみた。
スクリプトを作成するプロジェクトディレクトリを掘って、その中に移動する。
---
var async = require('async');
exports.handler = function(event, context) {
async.series([
function (callback) {
console.log("one");
callback(null, "one");
},
function (callback) {
console.log("two");
callback(null, "two");
},
function (callback) {
console.log("three");
callback(null, "three");
}
], function (err, results) {
if (err) {
throw err;
}
console.log('all done. ' + results);
});
};
---
したらば、zip化する。この時面倒臭がってプロジェクトディレクトリごとzip化すると、ファイルが見つからない(Can't find module)になっちゃうので、以下のようにファイルと外部モジュールディレクトリを指定してzip化する。
さて、次はちゃんと動くスクリプトを書こう。自宅からこの本持ってきました。
AWS lambdaではAWSマネージメントコンソール上で直接jsスクリプトを書く以外に、外部モジュールもまとめてzip化してアップロードすることができる。というのでやってみた。
スクリプトを作成するプロジェクトディレクトリを掘って、その中に移動する。
$ mkdir myfunc外部モジュールをプロジェクトにインストールする。
$ cd myfunc
$ npm install asyncそんんでスクリプトを書く。
$ vi index.js内容はこんな感じ。
---
var async = require('async');
exports.handler = function(event, context) {
async.series([
function (callback) {
console.log("one");
callback(null, "one");
},
function (callback) {
console.log("two");
callback(null, "two");
},
function (callback) {
console.log("three");
callback(null, "three");
}
], function (err, results) {
if (err) {
throw err;
}
console.log('all done. ' + results);
});
};
---
したらば、zip化する。この時面倒臭がってプロジェクトディレクトリごとzip化すると、ファイルが見つからない(Can't find module)になっちゃうので、以下のようにファイルと外部モジュールディレクトリを指定してzip化する。
$ zip -r myfunc.zip index.js node_modulesあとはこのzipファイルをアップロードして実行したら以下のように動きます。
Logs ---- START RequestId: bf1f1533-75f5-11e4-a765-67c132e1225f 2014-11-27T05:24:52.586Z bf1f1533-75f5-11e4-a765-67c132e1225f one 2014-11-27T05:24:52.625Z bf1f1533-75f5-11e4-a765-67c132e1225f two 2014-11-27T05:24:52.625Z bf1f1533-75f5-11e4-a765-67c132e1225f three 2014-11-27T05:24:52.625Z bf1f1533-75f5-11e4-a765-67c132e1225f all done. one,two,three Process exited before completing request END RequestId: bf1f1533-75f5-11e4-a765-67c132e1225f REPORT RequestId: bf1f1533-75f5-11e4-a765-67c132e1225f Duration: 220.41 ms Billed Duration: 300 ms Memory Size: 128 MB Max Memory Used: 9 MB Message ------- Process exited before completing request::
さて、次はちゃんと動くスクリプトを書こう。自宅からこの本持ってきました。
初めてのJavaScript 第2版 Shelley Powers,武舎 広幸,武舎 るみ オライリージャパン 売り上げランキング : 397774 Amazonで詳しく見る by AZlink |