Azure Functions の Queue トリガーと出力バインディングを構成する

従量課金プランの Function App に Queue Storage トリガーと出力バインディングを構成し、キューに投入したメッセージが別のキューへ連鎖して流れる仕組みをハンズオンで確認します。

中級50Azure 実環境

ラボ概要

キューを介した非同期処理は、Web アプリのバックエンドやバッチ処理など、スケーラブルなクラウド アプリケーションの定番パターンです。Azure Functions には「トリガー」と「バインディング」という仕組みがあり、Queue Storage との接続を SDK のコードを書かずに宣言的に構成できます。トリガーが関数の起動条件と入力データを提供し、出力バインディングが処理結果の書き込み先を引き受けるため、関数本体はビジネス ロジックに集中できます。

このラボでは、従量課金(Consumption)プランの Function App を作成し、input-queue に届いたメッセージをトリガーとして受け取り、加工した結果を出力バインディング経由で output-queue へ書き込む関数を構成します。最後に実際にメッセージを投入し、2 つのキューをまたいでメッセージが連鎖することを確認します。バインディングの定義には function.json を使うため、トリガー・入出力バインディングの構造がそのまま目に見える形で学べます。

この内容は AZ-204(Azure Developer Associate)の「Azure Functions の実装」の出題範囲に対応しています。特に、トリガーとバインディングの構成方法、AzureWebJobsStorage 接続の役割、キュー メッセージのエンコード(base64)にまつわる典型的な落とし穴は、試験でも実務でも役立つポイントです。

学習目標

  • 従量課金プランの Function App を Azure CLI で作成できる
  • Queue Storage トリガーを function.json で構成し、その構造を説明できる
  • 出力バインディングを使って別のキューへメッセージを書き込める
  • extensionBundlemessageEncoding 設定の役割を理解する
  • az CLI でキューの作成・メッセージの投入・内容の確認ができる
  • メッセージ処理が失敗したときの poison キューの挙動を知る

前提

  • Azure ポータルにサインイン済みであること
  • リソースはすべて japanwest(西日本) リージョンに作成すること
  • サンドボックスで割り当て済みのリソースグループが 1 つ用意されています。作業はすべてこの中で行います(新しいリソースグループの作成、サブスクリプション設定の変更はできません)
  • 手順は Azure Cloud Shell(Bash)を使用します。ローカル環境の準備は不要です

ラボの構成

  1. 1サインインしてリソースグループを確認する
  2. 2ストレージ アカウントを作成する(ポータル)
  3. 3入力用と出力用のキューを作成する(ポータル)
  4. 4従量課金プランの Function App を作成する(Cloud Shell)
  5. 5関数プロジェクトを作成する(トリガーと出力バインディングの定義)
  6. 6関数アプリへデプロイする
  7. 7メッセージを投入して連鎖を確認する(ポータル)
  8. 8動作確認
  9. 9完了チェックリスト
  10. 10後片付け

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

構成図

構成図

参考リソース