AWS Lambda JavaScriptコードでUUIDモジュールを使用しようとすると、このエラーが表示されます。
Error: Cannot find module 'uuid/v4'
AWSCLIまたはNPMを使用していません。代わりに、AWS Lambdaダッシュボードを使用してJavaScriptでLambda関数を作成しています。
const AWS = require('aws-sdk');
const AWSUUID = require('uuid/v4');
const AWSGamelift = new AWS.GameLift();
exports.handler = async (event) =>
{
//...
私は、UUIDモジュールを機能させる方法を見つけるためにGoogleをノンストップで検索してきました。 NPM環境をセットアップして使用する必要はありません。
AWS LambdaダッシュボードにLambdaコードのUUIDモジュールへのアクセスを提供する方法はありますか?
AWS Lambda Layersは、npm環境をセットアップしない場合のオプションです。
AWSコンソールからfrom Lambda関数の新しいレイヤーを作成し、uuid npmパッケージを含むnode_modules
ディレクトリのZipファイルをアップロードします。
この作業を行うために覚えておかなければならないことがいくつかあります。
これは重要です。それ以外の場合、Lambda関数はパッケージを認識しません。
lambda:GetLayerVersion
アクション権限が必要です。そうしないと、パッケージが見つからないという問題が発生します。これについても、上記のドキュメントで明確に説明されています。これらが完了したら、コードを実行できます。応答例
nodejsフォルダー構造は次のとおりです