2016-04-22 20 views
0

awsラムダの仕組みを理解できないようにしようとしていますが、私はこのawsモジュールのユーティリティを完全には捕まえていないことを認めなければなりません。だから、私はラムダが事前に指定されたイベントの後にスクリプトを開始することを許可することを知っているから?わかりましたので、簡単なケースを構築するために数日から試しています。ラムダ関数を呼び出せません

私はS3から何かをアップロードまたは削除するときに、私のラムダ機能がSNSを使用してプッシュ通知を送ってもらいたいです。残念ながら、私はこの仕事を得ることができません。私はどのように進むべきかわかりません。私はAWSのチュートリアルフォームlambdaを始めて、私は役割とすべてのものを設定し、その後、私はnode.js関数(デプロイメント関数)を作成し、依存関係をインストールし、これらすべてのものを圧縮し、Awsラムダにアップロードします。

また、aws S3でイベントを設定しましたが、S3からファイルをアップロードまたは削除したときにプッシュ通知を受け取ることはありませんでした。私はAWS Lambdaをテストする最も簡単な方法を知りたいだけです。amazonサンプルのテストラムダ関数(S3アップロードイメージ、サイズ変更と別のバケットへのコピー)もテストしても機能しないからです。ここで

は、私はそれがすべてのヘルプは高く評価されます

var async = require('async'); 
 
var AWS = require('aws-sdk'); 
 

 

 
// get reference to S3 client 
 
var s3 = new AWS.S3(); 
 
var sns = new AWS.SNS(); 
 

 
exports.handler = function(event, context, callback) { 
 
\t var params = { 
 
\t Message: 'STRING_VALUE', /* required */ 
 
\t MessageAttributes: { 
 
\t  someKey: { 
 
\t  DataType: 'raw', /* required */ 
 
\t  BinaryValue: new Buffer('...') || 'STRING_VALUE', 
 
\t  StringValue: 'STRING_VALUE' 
 
\t  }, 
 
\t  /* anotherKey: ... */ 
 
\t }, 
 
\t MessageStructure: 'Hello from lambda', 
 
\t Subject: 'STRING_VALUE', 
 
\t TargetArn: 'XXXXXXX', //my target arn 
 
\t TopicArn: 'XXXXX' //my topic arn 
 
\t }; 
 
\t async.waterfall([ 
 
\t \t \t sns.publish(params, function(err, data) { 
 
\t \t \t if (err) console.log(err, err.stack); // an error occurred 
 
\t \t \t else  console.log(data);   // successful response 
 
\t \t \t }) 
 
\t \t ],function(error){ 
 
\t \t if (error) throw err; 
 
\t }) 
 
\t 
 
};

を働く取得しようとしているコードです。チェックするためのおかげ

答えて

3

カップルの事:

1

また、それがトリガされている場合は、ログエントリがあるでしょう、ラムダ関数のためにあなたのCloudWatchのログを確認してください。これは、関数からデバッグトレースを生成する方法でもあり、エラーを表示します。

私はJavaで開発していますので、サーバレスは私には役に立ちませんが、ノード開発者はこのツールセットが役立つかもしれません。 https://github.com/serverless/serverless

関連する問題