勇者だって最初はひのきの棒とナベのふた

技術を中心に発信。時々SFの読書感想も。

Azure Key Vaultを使ってFirebase Authのユーザー情報を取り出す②Functionのプロジェクトを作成する

はじめに

masamoriです。 Youtubeディスカバリーチャンネルの「ベーリング海カニ漁」シリーズにすっかりハマっています。日本語の字幕付きなので英語の学習にもなるよなー、と思っていたんですが、めちゃくちゃピー音が入っていて何言ってるかよくわかんないシーンも多々あります。さすが荒くれ者の集まりで、すぐに興奮して放送禁止用語を連発しているんですね。あのチャンネルお勧めです。カニ食べる時にめちゃくちゃ感謝すること間違いなしです。簡単にマズイって言っちゃダメです。残すなんて言語道断。
さて、時間が経ってしまいましたが前回の記事の続きです。 今回は実際にコードを書いて、Firebase Authentication に登録されているユーザー情報を取り出して表示してみたいと思います。 なおデプロイに関しては次回記事で書きます。

おさらい

Firebase Authenticationに登録しているユーザーをAzure FunctionのHTTPトリガーで取り出し、Azure Postgresql フレキシサーバーに格納します。前回はFirebase にアクセスするために必要なシークレットをKey Vaultに格納するところまでやりましたね。

準備

VSCodeを使ってFunctionを作成します。基本的なやり方はこちらの公式ドキュメントに書いてあります。

learn.microsoft.com

JSを使って書いていきます。というわけで事前に必要なものは以下の通りです。

実行

まずは適当な空のディレクトリを作成します。そしてVSCodeを開きます。 ここを押して、「Azure」を選択します。 Azureのサイドバーが現れるので、WORKSPACEのLocalにポインターを当てると雷みたいなマークが出てくるので、そこをクリック。プロジェクトを作成します。 そうするとVSCode上部に、Fuctionの詳細を選択するメニューが現れるのでJSを選択。 そのあとは基本的にデフォルトのままで選択し続けましょう。HTTP trigerを使います。 一点注意としては、v3とv4で書き方が大きく変わりました。この辺の詳細はこちらのブログが詳しいです。 blog.shibayan.jp

以上の手順を踏むと、

こんな感じでプロジェクトができていますね。 では、これを実際に動かしてみましょう。 サイドバーのデバッグを選択します。虫っぽいやつです。そして実行しましょう。

そうするとポップアップが出てくるので、Use Local Emulatorを選択します。

そして、Debug Anywayを選択。そうすると、ターミナルにURLが現れますね。このURLにアクセスします。

Hello world!がブラウザに出てきます。

このコードを見てみると、どうやらGETで指定した文字列をブラウザに映し、指定がなかったらworldを映す、という挙動になっています。

const name = request.query.get('name') || await request.text() || 'world';

というわけでURLに ?name=masamori と付け加えます。これでリロードすると

はい、変わっていますね。とりあえず、無事にHTTPTrigerのFunctionプロジェクトの雛形ができました。

次回

次回はこの雛形をベースにKeyVaultにアクセスするところまでやります。 ちょっとややこしいAzureの認証の話も出てきます。 今回はここまでです。