2017-09-07 22 views
0

私のlambdaプログラムは、twilioからurlの助けを借りてファイルを取得し、lambdaの/ tmpに保存しますラムダの/ tmpからaws S3にアップロードされました。私の懸念は、その大きなファイルが200MBと言うと、その時間の間にラムダが長い時間実行されるということです。ラムダがs3にアップロードされている間にラムダを停止させる方法はありますか?そして、s3のアップロードが正常に完了したときには起動します。ラムダが停止し、ファイルが/ tmpにアップロードされたときにそれが起きてAWS S3にファイルをアップロードするようにダウンロードすることも可能です。それはラムダを実行している/tmpが存在し、ハードドライブおよびアップロード/ダウンロードおよびアップロード/ダウンロードが使用するバッファに必要なメモリを処理しているCPUが... によって提供されAWS Lambda node.jsを使用してS3にファイルをアップロードするときに時間を費やす

+5

Lambdaを実行しているコンテナは、これらのアクションを実行しているときにアクティブでなければならないため、スリープしてから戻ってくることはなく、コンテナからのアップロードと読み取りには実行時間が必要です。このような状況が頻繁に発生し、コードが毎回非常に長く実行された場合、Lambdaにとって最適ではないユースケースがあるかもしれません。 – birryree

+0

ラムダを停止すると、アップロードが停止します。 – dashmug

答えて

3

多くの時間を節約することができます転送を処理しているコンテナ。

ラムダコンテナを支払っているため、これらのリソースにアクセスできるということはまさにそのことです。

実行を停止または一時停止することができた場合、そのリソースにアクセスすることはできず、アップロード/ダウンロードが停止します。

これは可能性がありません。

+0

ファイルをs3に直接ダウンロードするapiはなく、ラムダはそれらの間にありません。ラムダを通過するAPI呼び出しとURLだけがAPIによって処理されますか? –

+0

外部からコンテンツを取得するようにAmazon S3に指示するAPIリクエストはありません。アカウントにソースオブジェクトに対するアクセス許可がある場合でもS3が別のS3バケット(または同じバケット)からコンテンツを取得およびコピーするようにリクエストすることはできますが、これは引き続き同期/ブロッキングAPIコールです - 待機中に接続したままにしておく必要があります応答のために。 –

+0

マイケル、つまり、私はec2サーバーや中間サーバーを持っていない限り、公開URLからs3バケットにデータを送信する方法はありません。 –

関連する問題