LoginSignup
41
33

More than 5 years have passed since last update.

AWS Lambdaで標準で利用できるモジュール一覧

Last updated at Posted at 2016-02-13

はじめに

AWS Lambdaではnode_moduleを利用する場合は、モジュールをzip化してアップロードする必要があります。
しかし、一部のモジュールはLambdaで標準的に提供されています。
そこでAWS Lambdaで標準利用できるモジュールを調べて見ました。

npmコマンドでの調査

とりあえず、npmコマンドでモジュール一覧を取得してみようとしましたが
残念ながらnpmコマンドにはパスが届いておらず実行できませんでした。

index.js
var exec = require('child_process').exec;

exports.handler = function(event, context){
    exec('npm list', function(err, stdout, stderr){
        console.log(stdout);
        context.done(err, stdout);
    });
};
stdout
{
  "errorMessage": "Command failed: /bin/sh: npm: command not found\n",
  "errorType": "Error",
  "stackTrace": [
    "",
    "ChildProcess.exithandler (child_process.js:658:15)",
    "ChildProcess.emit (events.js:98:17)",
    "maybeClose (child_process.js:766:16)",
    "Socket.<anonymous> (child_process.js:979:11)",
    "Socket.emit (events.js:95:17)",
    "Pipe.close (net.js:466:12)"
  ]
}

lsコマンドでの調査

次にlsコマンドで調べて見ました。
node_modulesフォルダは/usr/libにあったので、その中を確認してみました。

index.js
var exec = require('child_process').exec;

exports.handler = function(event, context){
    exec('ls /usr/lib/node_modules', function(err, stdout, stderr){
        console.log(stdout);
        context.done(err, stdout);
    });
};

そしたら、なんとビックリ空っぽでした。どんなモジュールがあるかは秘密なんですね。

requireで調査

そこでrequireを入れて見てシコシコと少しずつ確認していきました。
2016年2月13日現在、以下のモジュールがインストールしているのがわかりました。
余りインストールされているものは多くはないですが、aws-sdkが標準ではいっているので
Lambdaを使って、AWS環境を設定したいというニーズには対応できそうです。
auroraをRDSで採用したので、ぜひともmysqlモジュールは入れて欲しいですね。
あ、あとoauth。

インストールされているもの

  • aws-sdk
  • child_process
  • crypto (2016.3.19 added)
  • fs
  • http
  • https
  • os (2016.10.16 added)
  • querystring (2016.3.7 added)
  • sax (aws-sdk/node_modules/sax)
  • xml2js (aws-sdk/node_modules/xml2js)
  • xmlbuilder (aws-sdk/node_modules/xmlbuilder)

インストールされていないもの

  • express
  • gulp
  • mysql
  • npm
  • oauth
41
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
33