2017-09-04 2 views
2

展開があなたのスタックをプロビジョニングしながら、サーバレス展開エラー - コードのストレージの制限は私のサーバーレスプロジェクトの

エラーが発生し、次のエラーを返す開始した超過... [ラムダ名] [GUID] - コードのストレージ制限を超え..

私は、S3バケットにアップロードできるパッケージの数に制限があると思っていますが、運はありません。

以下のトレントで説明したように、私は配備の制限を見てきましたが、圧縮された2.1MB(8MBの圧縮されていない)のパッケージで、私は限界を超えています。

これを引き起こしている可能性のあることについてのご提案です。

(マイ)ソリューション:

私は、根本的な問題のより良い理解を得るために期待していた、そして最後の手段としてこれを行うには期待していました。しかし、それはクラウドからスタックを削除し、問題が修正されたサーバーレスプロジェクトを再デプロイすることで表示されます。

答えて

2

http://docs.aws.amazon.com/lambda/latest/dg/limits.html

すべてラムダ関数に関わらずメモリ割当ての特定のリソースの固定量が割り当てられ、各関数は、関数ごとにコード記憶の固定量とし、アカウントごとに割り当てられています。

ラムダは、呼び出しの制限を持っているだけでなく、あなたの問題が何であるかである展開制限、。限界を見て、どちらが破られているか調べてください。

+1

おかげトレントを削除したいものを決めるあなたの機能

'const params = { FunctionName: 'functionName' }; lambda.listVersionsByFunction(params, function(err, data) { if (err) console.log(err, err.stack); else console.log(data); });' 

のバージョンを取得したいと思います。圧縮されたserverlessパッケージは2.1MBで、8.1MBの非圧縮です。これは、配備の制限を超えていないようです。 "sls deploy"コマンドを使用してデプロイメントがうまくいけば、小さな1行がコードに変更されてから再デプロイされ、突然このエラーメッセージが発生するというのは奇妙なことです。 – Adam

+1

その場合、あなたのラムダの以前のバージョンがあまりにも多く、それらをクリアする必要があります。 –

0

ラムダは各展開で機能のバージョンを作成するため、頻繁に展開すると記憶域の問題が発生する可能性があります。あなたの解決策は正しいですが、シンプルなスクリプトを書くことで、使用していない他のバージョンの関数を削除することもできます。

まず、あなたは、あなたが

`const params2 = { 
    FunctionName: 'functionName', 
    Qualifier: '1' //version of your function you want to delete 
}; 
lambda.deleteFunction(params2, function(err, data) { 
    if (err) console.log(err, err.stack); 
    else  console.log(data); 
});` 
関連する問題