2016-09-06 22 views
1

AWS Lambdaの新機能で、これが私がしようとしていることを達成するための正しいツールであるかどうかはわかりません。AWS Lambdaを使用してS3のファイルをチェックする方法

私がやろうとしていることは、ファイルが存在するのか、それともS3で最近更新されたのかを確認することです。そのファイルが存在しない場合、または最近更新されていない場合は、AMIをAWSインスタンスに複製する必要があります。

  1. 上記は可能ですか?
  2. Lambdaは仕事に適したツールですか?

私はかなり有能ですが、node.jsやPythonを一度も使用していないので、ラムダ関数を書くのは私にとっては複雑です。

ラムダ関数の構築に役立つリソースはありますか?

ありがとうございます!

+0

はい、これは可能であり、AWSラムダで達成するには完全に合理的な仕事のようです。 AWSが提供するサンプルを見てみましょう。 –

答えて

2

Javascriptについて知り、NPMについて知っていれば簡単になります。ノードjsの簡単な方法を教えてください:

  1. あなたのAWSへのログイン。
  2. AWSコンソールメニューの右上にあるボタンをクリックします。
  3. ラムダを選択し、機能をクリックして新しい機能を作成します。
  4. click 青いプリントページのボタンをスキップしてください。
  5. スキップ設定トリガーページ。
  6. あなたは、あなたを、あなたは、関数名、ランタイム使用NodeJS.4.3を埋めることができ、設定機能ページを参照してください、そして編集コードのインラインボックスから下のコードタイプに編集コードのインライン
  7. を選択しますあなたが今まで持っていたIAMの役割を選択しなければなりません。 IAMロールがない場合は、AWS Consoleでアイデンティティとアクセス管理(IAM)を選択し、ロールを選択して新規作成してください。
  8. すべてのフィールドの入力が完了している場合は、次へをクリックしてラムダ関数を作成できます。

注:お使いの編集コードのインラインボックスで、このコードを書き留めてください:

exports.handler = function(event, context, callback) { 
    var AWS = require('aws-sdk'); 
    AWS.config.update({accessKeyId: 'xxxxxxxxxxx', secretAccessKey: 'xxxxxxxxxxxxxxxxxxxx'}); 
    var s3 = new AWS.S3(); 
    var params = {Bucket: 'myBucket', Key: 'myFile.html'}; 
    s3.getObject(params, function(err, data) { 

    if (err) { 
     console.log(err, err.stack); 
     // file does not exist, do something 
    } 
    else { 
     console.log(data); 
     //file exist, do something 
    }  
    }); 
}; 

あなたはIAMメニューからaccessKeyIdを得ることができます - >ユーザ - >セキュリティ資格 - >アクセスキーを作成します。 secretAccessKeyも得られます。
この回答がお役に立てば幸いです。

+0

ありがとう!今私はそれをAMIを起動する方法を理解する必要がありますが、私はそれを自分自身で理解しようとします。 – Vinny

関連する問題