JavaScript SDKでLambdaのソースコードを確認する

AWS, JavaScript, Lambda

この記事は最終更新日から1年以上が経過しています。

必要なライブラリを読み込む

LambdaのソースコードはS3上にzip形式で配置されているため、
AWS JavaScript SDKに加えてjszipというzipファイルを扱うライブラリを使用します。

AWS JavaScript SDKの初期化を行う

まずSDKを初期化します。
Credentialsの生成方法はいくつかありますが簡単なAccessKey/SecretKeyの方式で試します。

Lambdaのソースコードを取得する

次にLambdaのソースコードを取得します。
正確にはソースコードが配備されているS3への認証付きURLを取得します。

Zipを展開してコンソールに出力する

S3に配置されているURLでソースコードのダウンロードは可能ですがzip圧縮されています。
圧縮してあるファイルをそのまま表示はできませんのでダウンロードして展開する必要があります。
ソースコードは以下です。

簡単に解説します。
crossorigin.me を使用しているのは JSZipUtils.getBinaryContent がCORSに対応していないため、
プロキシ的に間に挟んでS3に要求を出しています。
返却されたzipのソースを JSZip.loadAsync で展開します。Promiseなので .then で結果を受け取ります。
zip直下のファイルをループします。 key はファイル名で zip.file(key) でzipファイル内のファイルが取れます。
ファイルはエンコードされているためデコードした文字列を取得するには .file(key).async("string") とします。

以上です。
最後に全部を簡単に試せるソース全体を貼っておきますのでよかったら試してみてください。

AWS, JavaScript, Lambda