echo("備忘録");

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

【AppSync】Auth0 + OpenID Connect認証でGraphQLクエリを実行する(内容修正版)

はじめに 先日、初めて業務でAWS AppSync(以下AppSync)とGraphQLを使いました。 サブスクリプションが使えたり、クライアント側からフィールド指定出来たりできるのが良い感じです。 あと、エンドポイントの管理がAPI Gatewayより楽ですね。(無論、デメリッ…

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

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

【Node.js】Node.js version16の新機能 その2(Sleep機能)

はじめに 先日(2021/6/28)、「Node学園 36時限目 オンライン」というイベントで「Node16の新機能の紹介」という内容で発表させて頂きました。(視聴&リアクションくださった方々、ありがとうございました) nodejs.connpass.com その中の発表資料でSleep機能(…

【Node.js】Node.js version16(ES2021)の新機能 ※2021/6/26更新

はじめに 2021年4月に、Node.jsのversion10がサポート終了となり、AWSからも「Lambdaのバージョンを更新してください」という案内が来てました。 そして、それと同じタイミングでversion16がリリースされました。 今年の10月にステータスがActiveになります…

【AWS】【Serverless Framework】CloudFormationでのリソースまとめ方(Part2)

はじめに 2か月以上前になりますが、「CloudFormationテンプレート(Serverless Frameworkのserverless.yml含む)でのリソースのまとめ方」について、ここに「同一プロジェクトで管理する場合」のメリット・デメリットを書きました。 あれから2か月、だいぶ間…

【AWS】Amazon S3 Object Lambdaを試してみた(その2)

はじめに 前回の記事でAWS S3 Object Lambda(以下S3OL)についてコンソール上で設定し、動作させるところまで書きました。 その続編として今回は、前回の最後に書いた通り、S3OLをCloudFormation(以下Cfn)で定義しデプロイする...を行おうと思います。 なお今…

【AWS】Amazon S3 Object Lambdaを試してみた(その1)

はじめに 3/19(金)に「Amazon S3 Object Lambda」というS3の新機能がGAになりました。 aws.amazon.com これは上記公式サイトにも 「S3 から取得したデータをアプリケーションに返す前に独自のコードを追加して処理できる新機能」 とあるように、例えばS3バケ…

【JAWS-UG】JAWS DAYS 2021 -re:Connect- で登壇しました。

はじめに 2021/03/20(土) にオンラインで「JAWS DAYS 2021 -re:Connect-」という、JAWS-UG(Japan AWS Users Group)のイベントが開催されました。 jawsdays2021.jaws-ug.jp 少し前から告知していましたが、このイベントで「AWS Lambdaのテストで役立つ各種ツ…

【AWS】【Serverless Framework】CloudFormationでのリソースまとめ方(Part1)

はじめに みなさん、CroudFormation(以下「Cfnと記載」)使ってますか? アプリ環境をクラウドで構築する際、構成やリソースをテンプレートファイルで定義することも増えました。(いわゆる「IaC(Infrastructure as Code)」) しかし初めのうちはともかく、規模…

【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)への移行を検討してい…

【Jest】SpyOnで関数のMock化ができない場合の対処

概要 JavaScriptのソースを単体テストする際、Jestを使っている人も多いと思います。 jestjs.io で、ある関数のテストをする際に、その関数が呼ぶ別の関数を一時的にmock関数にしたい場合があります。 Jestでは、それをspyOn()というメソッドを使うことで実…

【JavaScript】非同期処理(async/await)に関するちょっとしたTips

はじめに 新年あけましておめでとうございます。(もう1/25だけど) 去年もいろいろありましたが、今年も正月休みも終わり、そろそろ平常運転にも慣れてきたので、ブログの方も開始しようと思いました。 で、新年一発目のネタですが、最初は安定のServerless F…

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

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

Serverless Framework はじめの一歩

はじめに この記事は、QiitaのServerless Advent Calendar 2020 18日目の記事です。 qiita.com なお来週12/25(金)にも、AWS Advent Calendar 2020最終日の記事として「aws-sdk-mockを使ったAWSのテスト」の記事を投稿しますので。そちらもよろしくお願いしま…

【AWS】cfn-diagramでCloudFormationテンプレートをプレビューする

はじめに 以前、以下の記事で「VS Code Conference Japan」で登壇したということを書きました。 makky12.hatenablog.com その際の登壇資料の「Azure Template Viewer」のスライド(14ページ)で、「CloudFormationにも、こういう拡張機能が欲しい...」と発表し…

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

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

【VS Code】VS Code Conference Japanで発表しました

はじめに 2020/11/21(土)に、Visual Studio Code5周年記念として、「VS Code Conference Japan」というイベントがオンラインで開催されました。 vscode.connpass.com この中で、「アプリ開発&チーム管理で役立った拡張機能など」という内容で30分セッション…

【Serverless Framework】IAM Roleを共有し複数プロジェクトでリソース毎に割り当てする

概要 AWS のIAM Role(≒実行権限)を共通プロジェクトでまとめて作成しておき、後で別の複数プロジェクトで使用する(=共有する)方法です。 経緯 先日Twitterをしていたら、こんなツイートを見つけました。 一つのterraformプロジェクトで一元管理してたリソー…

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

【Serverless Framework】Serverless Step FunctionsプラグインでStep Functionsを定義する

本題 皆さん、Step Functions使ってますか? ...僕は使ってません。(仕事では) でも、プライベートでは使っておりまして「これは一連の処理(=ワークフロー)を実行するのに、すごく便利な機能だ!」と思ってます。(てか、業務に導入したい...) で、今回はその…

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

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

【JavaScript】awaitの使い方を復習する

はじめに JavaScriptの非同期処理(Promiseとかasync/await)について、今年の1月に、下記のブログを書きました。 makky12.hatenablog.com が、最近AWS Lambdaの非同期処理をJavaScriptで書いていて、ちょっとこんがらがってしまったことがあったので、備忘録…

【Serverless Framework】Serverless Frameworkのダッシュボード上でCI/CDを実現する方法(各種設定など)

はじめに 前回の記事で、Serverless FrameworkのダッシュボードからGitHubレポジトリ/ブランチと連携して、CI/CDを実現する方法を記載しました。 今回は、前回書ききれなかった詳細設定などについて記載したいと思います。 ※Serverless Framework公式サイト …

【Serverless Framework】Serverless Frameworkのダッシュボード上でCI/CDを実現する方法

はじめに AWSにしろAzureにしろ、クラウドベースの開発でよく「CI/CD」(継続的インティグレーション/継続的デリバリー)が取り入れられていると思います。 そして、Git連携(=gitの特定リポジトリ/ブランチにpushしたら、連動してデプロイが実施される)を導…

【Serverless Framework】Lambda Destinations機能をServerless Frameworkで実装する

はじめに 昨年11月末にAWSから「Lambda Destinations(Lambda非同期呼び出しの宛先指定)」機能が発表されました。 そしてこの機能について、3月中旬に「Serverless Frameworkが正式サポート」したと公式ブログで発表がありました。 そこで、早速この機能をSer…

【Serverless Framework】メモリ不足でデプロイができない場合の対処方法

概要 Serverless Frameworkでパッケージングやデプロイを行う際に、メモリ不足で失敗することがあります。その場合の対象方法です。 serverless.com 現象 先日、業務で開発したサーバーレスSPAをServerless Frameworkでデプロイしようとしたら、パッケージン…

【Serverless】Serverless Meetup Tokyo #16で発表した感想

経緯 先日、サーバーレスの勉強会イベントである「Serverless Meetup Tokyo #16」がオンラインで開催されました。 serverless.connpass.com そしてこのイベントで、「AWS x Serverless Framework x QuickSightでIoTデータ可視化」という内容で、発表を行いま…

【PowerApps】PowerAppsアプリで撮影した画像をS3バケットにアップロードする【Serverless Framework】

はじめに Micorsoft の製品の一つ、Power Platform。 中でもPower AppsやPower Automateは、ノーコーディング(またはローコーディング)でかなり本格的なアプリが簡単に作れる、画期的な製品です。 また簡単なアプリならコーディングなしでサクッと作れてしま…

【Serverless Framework】201個以上のリソースをデプロイする方法

はじめに Infrastructure as Code(IaC)の代表格の1つである、AWS CloudFormation。 僕も業務でよく使うのですが、CloudFormationで1度にデプロイできるリソースの数(=1スタックのリソース数)は、「最大200個」と決められています。 なので当然、Serverless F…