echo("備忘録");

IT技術やプログラミング関連など、技術系の事を備忘録的にまとめています。

Lambda

【AWS CDK】【AWS Lambda】Lambdaオーソライザを実装する

はじめに これは「AWS Lambda と Serverless Advent Calendar 2023」 16日目の記事です。 qiita.com 今回のお題 Lambdaオーソライザを使用し、API GatewayからLambdaを実行する前段で認可処理を実施する LambdaオーソライザはRequestベースのものを使用する …

JSConf JP 2023の「Bunがメジャーリリースされたけど、本当にBunはNode.jsに取って代るほどすごいのか?をAWS Lambdaで検証してみた」で説明しきれなかった点の補足

はじめに この記事は、Bun Advent Calendar 2023 4日目の記事です。 qiita.com JSConf JP 2023について 先月の11/19(日) に「JSConf JP」という、JavaScriptの一大Festivalが開催されました。 jsconf.jp そしてその中で「Bunがメジャーリリースされたけど、…

【AWS CDK】Lambda定義でCloudFormationリソース数を削減するTips

今回のお題 タイトル通り、AWS CDKでLambda定義を書く際にちょっとした工夫でCloudFormationリソース数を削減する方法を紹介します。 普段はそこまで神経質になる必要はありませんが、業務などで多数のリソースをAWS CDKで管理している場合に役に立つかもし…

【AWS Lambda】Lambdaのログ関連の新機能をCDKで実装してみた&実際に動かしてみた

はじめに こんにちは。 最近re:Inventもあってか、AWSのアップデートがものすごいことになってますね。 そんな中、11/16(木) にLambdaのログ周りに関する下記アップデートが発表されました。 aws.amazon.com 概要としては下記の通りです。 JSONでのログ出力…

【AWS CDK】LambdaをDockerイメージでデプロイする方法(最終編)

今回のお題 前々回、及び前回にわたり「LambdaをDockerイメージでデプロイする方法」について記載しました。 今回はその最終編ということで、前回紹介した「ハマりどころ」の続きを記載しようと思います。 なお今回触れる事項は、前々回に少し触れた「インフ…

【AWS CDK】LambdaをDockerイメージでデプロイする方法(後編)

今回のお題 前回、LambdaをDockerイメージでデプロイする方法の前編として「AWS CDKの定義」について書きました。 今回はその後編として「Dockerfileの定義&ハマりどころ」について記載したいと思います。 前編:AWS CDKの定義(これは前回) 後編:Dockerf…

【AWS CDK】LambdaをDockerイメージでデプロイする方法(前編)

今回のお題 タイトルの通りですが、AWSにおいてLambda関数をDockerイメージとしてデプロイする方法です。 なお今回のお題は前編・後編に分かれており、今回は前編になります。 前編:AWS CDKの定義(今回はここ) 後編:Dockerfileの定義&ハマりどころ(こ…

【AWS】AWS SDK for JavaScript v3でLambdaを書く(S3編)

今回の内容 前回、AWS SDK for JavaScript v3(以下v3)でDynamoDBを扱うLambdaを書くというブログを投稿しました。 今回はその第二弾で、S3を扱うLambdaを書いてみます。 S3はAWSのリソースの中でも扱う機会がトップクラスに多い(と思う)ので、覚えて損はない…

【AWS】AWS SDK for JavaScript v3でLambdaを書く(DynamoDB編)

今回の内容 AWS LambdaをAWS SDK for JavaScript v3(以下「v3」と記載)で書く 現在メジャー(だと思う)のはAWS SDK for JavaScript v2(以下「v2」と記載) サンプルとして、DynamoDBのデータを取得するコードを書く 参考サイト AWS SDK for JavaScript v3 (AWS…

【AppSync】Lambda認証でGraphQLクエリを実行する

はじめに 前回の記事にて、Auth0とOIDC(OpenID Connect)認証でAWS AppSync(以下「AppSync」)経由でGraphQLクエリを実行する方法について書きました。 ただし、もちろんAppSyncにはOIDC以外にも認証を行う方法はいくつかあります。 今回はその中から、前回の…

【DynamoDB】DynamoDBデータのページネーション処理について

はじめに お久しぶりです。だいぶ間が開いてしまいました。 前回から色々ありまして、結果として8月から新しい就業先で働いてます。(この辺はまた別の機会に書きます) で、新しい環境でもAWSに携わっていますが、 コードレビューなどを通して、(知ってたつも…

【Node.js】ES2020仕様の便利な機能

はじめに つい先日(2/3)、AWS LambdaがNode.js 14のサポートを開始しました。 AWS Lambda が Node.js 14 のサポートを開始 Node.js 10が4月末でEOL(新規Lambda作成は3月末くらいまで)になるので、このタイミングでNode.js 14(または12)への移行を検討してい…

【AWS】aws-sdk-mockでLambdaテストを行う

はじめに この記事は、AWS Advent Calendar 2020 最終日の記事です。 qiita.com また、Serverless Advent Calendar 2020の12/18(金)にも記事を書いてますので、よろしければそちらもお願いします。 qiita.com ところで みなさん、テスト書いてますか? ...と…

【Serverless Framework】Serverless Framework + TypeScript + JestでAWS Lambdaの開発&テスト環境を構築する その1

はじめに 皆さん、先日はVS Code Conferenceの視聴、ありがとうございました。 ※見てない人は下のURLから視聴できます。 VS Code Conference Japan - YouTube 今年はVS Codeで登壇を結構させて頂きましたが、肝心の&僕が愛してやまないServerless Framework…

【Serverless Framework】API Gatewayを複数プロジェクト(serverless.yml)で共有する(Share API Gateway and API Resources)

今回の内容 Serverless Frameworkを使用して、API Gatewayを複数プロジェクト(serverless.yml)で共有する(=あるプロジェクトで作成したAPI Gatewayを別のプロジェクトでも使いまわす)方法です。 Serverless Framework公式ページ 詳細 Serverless Frameworkで…

【Serverless Framework】Serverless Jest Pluginで始めるLambdaテストの第一歩

はじめに 前々回の【AWS】単体テストを考慮したLambdaの構成を考えたで、単体テストについて少し触れました。 で、今回はそこから一歩踏み込んで「実際にテストを導入してみよう!」という内容になります。(なぜ前回書かなかったのかは置いといて) また、ど…

【AWS】単体テストを考慮したLambdaの構成を考えた

概要 Lambdaのソースコードを書いた際に、ローカル環境で単体テストを実施する場合があると思います。 実は今まで業務では、そこまで単体テストを書いていなかったのですが*1、一度書いてみたら「こりゃ便利だ」と感じ、本腰を入れて単体テストを勉強し始め…