はじめに
masamoriです。
Youtubeのディスカバリーチャンネルの「ベーリング海のカニ漁」シリーズにすっかりハマっています。日本語の字幕付きなので英語の学習にもなるよなー、と思っていたんですが、めちゃくちゃピー音が入っていて何言ってるかよくわかんないシーンも多々あります。さすが荒くれ者の集まりで、すぐに興奮して放送禁止用語を連発しているんですね。あのチャンネルお勧めです。カニ食べる時にめちゃくちゃ感謝すること間違いなしです。簡単にマズイって言っちゃダメです。残すなんて言語道断。
さて、時間が経ってしまいましたが前回の記事の続きです。
今回は実際にコードを書いて、Firebase Authentication に登録されているユーザー情報を取り出して表示してみたいと思います。
なおデプロイに関しては次回記事で書きます。
おさらい
Firebase Authenticationに登録しているユーザーをAzure FunctionのHTTPトリガーで取り出し、Azure Postgresql フレキシサーバーに格納します。前回はFirebase にアクセスするために必要なシークレットをKey Vaultに格納するところまでやりましたね。
準備
VSCodeを使ってFunctionを作成します。基本的なやり方はこちらの公式ドキュメントに書いてあります。
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の認証の話も出てきます。 今回はここまでです。