実現したいこと
Lambda上でX-Ray SDK for Node.jsをインポートして任意のS3をトレースしたい
発生している問題・分からないこと
import AWSXRay from 'aws-xray-sdk' でエラーが出てしまい、先へ進めない
エラーメッセージ
error
1cannot find package 'aws-xray-sdk' imported from /var/tassk/index.mjs",
該当のソースコード
import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3' import { AWSXRay } from 'was-xray-sdk' const s3 = new S3Client{ region: 'ap-noetheast-1, }) export const handler = async (event) => { const bucket name = 'tst-xray' const filename = 'temp.json' const data = JSON.stringfy(event, null, 2) let statusCodeS3 = 500 const result = await S3.send( new PutObjectCommand({ Bucket: bucketname, Key: filePath, Body: data }) ) const respons = { statusCode: statusCodeS3, body: JSON.stringfy({ result: result }) //body: JSON.stringfy(event, null, 2) //body: "User-Agent: " + event.headers['User-Agent"] }; return respons; };
試したこと・調べたこと
上記の詳細・結果
S3をX-Rayでトレースするには X-Ray SDK for Node.jsを使用する必要があることがわかったが、
リファレンスを見てもNode.js v20では記載のコマンドではエラーが出てしまう。
補足
Lambdaでコードを書いており、ランタイムはNode.js 20.x
0 コメント