Azure Functions を C# で作成・ローカル実行・デプロイ

DevVM 上の VS Code で C# の Azure Functions プロジェクトを作成し、Azurite でローカル実行 → Azure に Function App としてデプロイ → HTTP エンドポイントの動作を検証します。

中級60Azure 実環境

ラボ概要

このラボでは、サーバレス アーキテクチャを採用するチームの開発者の想定で、HTTP トリガーで起動する C# の Azure Function を実装します。ローカル開発(Azurite ストレージ エミュレータ)から本番デプロイ(Function App)、そしてエンドポイント検証(Invoke-RestMethod)までの 完成版エンドツーエンド を体験します。

学習目標:

  • 事前構築の DevVM(VS Code + .NET 8 + Functions Core Tools + Azurite プリインストール)に RDP 接続する
  • VS Code の Azure Functions 拡張で C# Functions プロジェクトを生成する(HTTP trigger / .NET 8 Isolated / Anonymous 認証)
  • VS Code の Pick Process Timeout 設定を 120 秒に変更してデバッグの安定性を上げる
  • Azurite を起動してローカル ストレージ エミュレータを稼働させる
  • F5 でローカル デバッグを開始し、localhost 上の HTTP エンドポイントを VS Code 上から呼び出す
  • Azure 拡張機能でラボ クレデンシャル経由のサインインを行い、Function App を新規作成して C# プロジェクトをデプロイする
  • デプロイ済み Function App の HTTP エンドポイント URL を取得し、PowerShell の Invoke-RestMethod で叩いて Welcome to Azure Functions! レスポンスを確認する
前提知識:
  • C# / .NET の基本構文
  • HTTP リクエスト/レスポンスの概念
  • VS Code の基本操作
  • RDP クライアントの使用経験
完了条件:
  • ローカルで F5 デバッグを開始し、HttpTrigger1 エンドポイントが起動して 200 OK を返すこと
  • Azure 上に Function App fn<your-initials><乱数>稼働中 状態でデプロイされていること
  • Function App の HTTP エンドポイントを Invoke-RestMethod で叩いて期待レスポンス(Welcome to Azure Functions!)が返ること

ラボの構成

  1. 1DevVM に RDP 接続して VS Code を起動する
  2. 2Azure Functions 拡張機能を確認する
  3. 3C# Azure Functions プロジェクトを作成する
  4. 4Pick Process Timeout を 120 秒に変更する
  5. 5Azurite ローカル ストレージ エミュレータを起動する
  6. 6Functions をローカルでビルドして起動する
  7. 7ローカル関数を VS Code から実行する
  8. 8Azure 拡張機能で Azure にサインインする
  9. 9Azure 上に Function App を新規作成してデプロイする
  10. 10ローカル プロジェクトを Function App にデプロイする
  11. 11Azure 上の Function App の HTTP エンドポイント URL を取得する
  12. 12デプロイ済み関数を PowerShell から叩いて検証する
  13. 13Azure Portal で関数の動作ログを確認する
  14. 14結果を考察する

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース