変更要約: AZ-204 第1章を Associate 級に深掘り(比較表・シナリオ・FAQ・ひっかけ+深掘り段落、図を日本語化)
1.2Azure Functions(サーバーレス)
Azure Functions のトリガーとバインディング、従量課金(消費)プラン、Durable Functions によるワークフロー、ホスティングプランの選択といったサーバーレス開発を理解します。
イベントに応じてサーバー管理なしにコードを実行するのが Azure Functions です。トリガーで起動し、バインディングで入出力を簡潔につなぎます。
1.2.1トリガーとバインディング
- トリガー:関数を起動するイベント。HTTP・タイマー(cron)・キュー・Blob など1関数に1つ。
- バインディング:入力/出力を宣言的に接続し、定型の I/O コードを省く(Blob/Queue/DB 等)。
- 消費(Consumption)プラン:使った分だけ課金しゼロにスケール。Premium は事前ウォーム/VNet 対応。
- Durable Functions:状態を持つワークフロー(オーケストレーション)を関数で実装する拡張。
「イベント駆動・従量課金=Functions の消費プラン」「入出力を簡潔に=バインディング」「状態を持つ長時間ワークフロー=Durable Functions」「コールドスタートを避けたい/VNet 必要=Premium プラン」 は AZ-204 で頻出です。
Azure Functions はイベント駆動のサーバーレス FaaS です。各関数には トリガー(HTTP/タイマー(cron)/キュー/Blob/Event Grid/Service Bus 等)が1つあり、バインディング(入力/出力)で Blob・Queue・Cosmos DB などへの I/O を定型コードなしに接続します。ホスティングは 消費(Consumption)プラン(使った分だけ・ゼロにスケール・コールドスタートあり)、Premium プラン(事前ウォーム=コールドスタート回避・VNet 統合・長時間実行)、専用(App Service)プラン(既存プランで常時稼働)から選びます。状態を持つ長時間処理は Durable Functions で、オーケストレーター/アクティビティ/エンティティ 関数により 関数チェイン・ファンアウト/ファンイン・モニター・人による承認待ち のパターンを表現します。スケールは Scale Controller がトリガーのキュー長などに応じて自動調整。運用は Application Insights、状態管理用に ストレージアカウント が必要。判断軸は「イベント駆動・従量=消費プラン」「コールドスタート回避/VNet=Premium」「状態あり長時間=Durable Functions」「I/O 簡潔化=バインディング」。
| 要件 | 選ぶもの |
|---|---|
| イベント駆動・従量・ゼロスケール | 消費(Consumption)プラン |
| コールドスタート回避・VNet 統合 | Premium プラン |
| 状態を持つ長時間ワークフロー | Durable Functions |
| I/O を定型コードなしで接続 | バインディング |
シナリオ:注文を受けて在庫確認→決済→通知を順に行い、承認待ちも挟みたい。 入口は HTTP トリガー、各ステップは Durable Functions の関数チェイン(人の承認は外部イベント待ち)。在庫やキューへの I/O は バインディングで簡潔に。低遅延 SLA でコールドスタートを避けたいので Premium プラン、運用監視は Application Insights。散発的な軽処理なら 消費プランでコスト最小に。
Q. イベント駆動・従量? 消費プラン。Q. コールドスタート回避/VNet? Premium プラン。Q. 状態あり長時間? Durable Functions。Q. I/O を簡潔に? バインディング。Q. 1関数のトリガー数は? 1つ。Q. 監視は? Application Insights。
混同に注意:
①トリガーは1関数に1つ、バインディングは複数可(入出力)。
②消費プランはコールドスタートと実行時間上限がある——常時低遅延や長時間は Premium/専用。
③Durable Functions のオーケストレーターは決定的でなければならない(乱数/時刻直呼びは不可、API 経由で)。
④Functions は状態管理にストレージアカウントを使う。
Durable Functions のパターン(関数チェイン・ファンアウト/ファンイン・人による承認待ちなど)は、複雑な処理を関数で表現するのに有用です。
1.2.2この節のまとめ
- Functions=トリガーで起動・バインディングで I/O
- 従量課金=消費プラン、状態あり=Durable Functions
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. サーバー管理なしでイベント駆動のコードを実行し、使った分だけ課金される Azure のサービスはどれですか?
Q2. 関数の入力/出力(Blob やキュー等)を定型コードなしで接続する仕組みはどれですか?
Q3. 状態を持つ長時間のワークフロー(関数チェインやファンアウト等)を関数で実装したい。何を使いますか?

