2016-11-16 18 views
0

私はs3バケットを持っています。圧縮されたディレクトリは、サブフォルダなどのイメージを保持します。アップロードされたファイルをs3から取得して、s3にアップロードした後、再度解凍したフォルダをs3にアップロードするためのAWSラムダ機能

新しいアップロード時にトリガされ、ファイルを解凍し、解凍されたコンテンツをs3バケットにアップロードするラムダ関数を作成する必要があるため、http-で個別のファイルにアクセスできます私はそのような機能をどのように書くことができるのかというとかなり無頓着ですか?

私の懸念は、以下のとおりです。

  • PyphonまたはJavaはおそらくnodejsを超える優れたパフォーマンスのですか? GB以上の解凍ファイルが(私はS3に戻ってコンテンツをストリーミングすることができますか?)、メモリが不足して
  • 避け、

答えて

2

AWS Lambda FAQ状態:

各ラムダ関数は、独自の/ tmpディレクトリに非永続的なディスク領域の500メガバイトを受けます。

1GBのzipファイルと解凍された内容を格納するには、が不足しています。

範囲内で '入力' zipファイルをストリーミングし、この問題を回避するには、解凍したファイルを小さなグループに格納する必要があります。おそらくは価値がありませんこのアプリケーションではLambdaを使用しています。

1

AWSラムダは、現在実行時間の5分に制限されています。

ダウンロード+アンインストール+アップロードの実行時間が5分を超える場合、ラムダは動作しません。ここで

は、いくつかの解決策のための参照です: https://serifandsemaphore.io/aws-lambda-going-beyond-5-minutes-34e381e71231#.maz4sfo43

+0

ラムダは512 MBの一時的なディスクスペースに制限されています... http://docs.aws.amazon.com/lambda/latest/dg/limits.html –

0

ラムダは、他のポスターで言及された理由により、ファイルの実際の処理にはあまり適していません。しかし、S3イベントと統合されているため、他のイベントのトリガーとして使用することができます。 EC2(ECS、ElasticBeanstalk、ECS)上で実行される別のプロセスがキュー内のメッセージを処理してS3からのファイルを処理できるというメッセージをSQSに送信する可能性があります。

関連する問題