Lambda実行環境(AWS)上のSDKのバージョンについて
Lambda実行環境(AWS)上のSDKのバージョンについて:
node_modulesに、sdkを含めた場合と含めない場合に、使用されるsdkのバージョンがどうなるのかを確認してみました。
使用したいバージョンのsdkをnode_modulesに含めデプロイすれば、そのバージョンを使用可能でした。
公式では、Lambdaでサポートするバージョンが謳われているので、それ以外のバージョンを使用するのは微妙ではありますが、bigfixが入ったバージョンを使用する必要性がある場合致し方ありません・・・
https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html
(英語版が最新です。)
The underlying AWS Lambda execution environment includes the following software and libraries.
AWS SDK for JavaScript – 2.290.0
この記事のきっかけになったのは、sdkが標準で持つリトライ機能でした。
中でも、リトライ対象となるべき「TooManyRequestsException」が漏れていたバグが
v2.348.0にマージされていたのでした。
https://github.com/aws/aws-sdk-js/pull/2246
Lambda実行環境(AWS)上のSDKのバージョンについて
node_modulesに、sdkを含めた場合と含めない場合に、使用されるsdkのバージョンがどうなるのかを確認してみました。
sdkのVERSIONをログに出力するLambdaを作成
'use strict'; const AWS = require('aws-sdk'); module.exports.handler = (event, context, callback) => { console.info(AWS.VERSION); // TODO implement const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; callback(null, response); };
含めない場合 Lambdaがサポートするデフォルトのバージョン2.290.0(検証した時点)が使用される
START RequestId: fc958f2e-e09c-11e8-bf95-c18a822dd3f9 Version: $LATEST 2018-11-05T01:49:09.871Z fc958f2e-e09c-11e8-bf95-c18a822dd3f9 2.290.0 END RequestId: fc958f2e-e09c-11e8-bf95-c18a822dd3f9 REPORT RequestId: fc958f2e-e09c-11e8-bf95-c18a822dd3f9 Duration: 27.24 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 33 MB
含めた場合 node_modulesに、2.348.0を含めてデプロイすると、2.348.0が使用される
START RequestId: 1f77eb6b-e09d-11e8-879c-43b0c47d9c8a Version: $LATEST 2018-11-05T01:50:07.770Z 1f77eb6b-e09d-11e8-879c-43b0c47d9c8a 2.348.0 END RequestId: 1f77eb6b-e09d-11e8-879c-43b0c47d9c8a REPORT RequestId: 1f77eb6b-e09d-11e8-879c-43b0c47d9c8a Duration: 0.52 ms Billed Duration: 100 ms Memory Size: 1024 MB Max Memory Used: 35 MB
まとめ
使用したいバージョンのsdkをnode_modulesに含めデプロイすれば、そのバージョンを使用可能でした。公式では、Lambdaでサポートするバージョンが謳われているので、それ以外のバージョンを使用するのは微妙ではありますが、bigfixが入ったバージョンを使用する必要性がある場合致し方ありません・・・
https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html
(英語版が最新です。)
The underlying AWS Lambda execution environment includes the following software and libraries.
AWS SDK for JavaScript – 2.290.0
備考
この記事のきっかけになったのは、sdkが標準で持つリトライ機能でした。中でも、リトライ対象となるべき「TooManyRequestsException」が漏れていたバグが
v2.348.0にマージされていたのでした。
https://github.com/aws/aws-sdk-js/pull/2246
コメント
コメントを投稿