[AWS] Lambda から Lambda を呼ぶ

ようやく AWS Lambda が把握できてきた。
小さい機能単位で Lambda ファンクション作って、それを呼ぶ感じで作っていくとやりやすい。

イベント発生して呼び出される Lambda ファンクション

イベントの情報をもとになんかする Lambda ファンクション

結果を SNS なり、Slack なりに投げる Lambda ファンクション

みたいに Lambda ファンクションから Lambda ファンクションを呼び出して作業させると具合がいい
Lambda から Lambda を呼ぶには

console.log('Loading event');
var aws = require('aws-sdk');

exports.handler = function(event, context) {
    // なんか処理

    var lambda = new aws.Lambda({apiVersion: '2014-11-11'});
    var params = {
        FunctionName: "lambda-function-name",
        InvokeArgs: JSON.stringify({
            "key_1": 'var_1',
            "key_2": 'var_2',
            "key_3": 'var_3'
            }, null, ' ')
        };
    lambda.invokeAsync(params, function(err, data){
        if(err) context.done('error', err.stack);
        else context.done(null, '');
}

Lambda から SNS を呼ぶには

var sns = new aws.SNS({region: 'リージョン'});
var params = {
    TopicArn: 'トピック arn',
    Subject: 'サブジェクト',
    Message: 'メッセージ'
  };
  sns.publish(params, function(err, data) {
    if(err) context.done('error', err.stack);
    else context.done(null, '');
  })

Posted

in

by

Tags:

Comments

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。