Microsoft AI-200(Azure AI Cloud Developer Associate Certification) 1-10

表示モード
画像位置
文字位置
理解度の自動記録
STATUS FILTER

表示する理解度を選択

読み込み中...
Q1AI-200
解答を見る
正解:B. RAG パイプラインを構成し、取得した文書のメタデータ(出典名・ページ)を生成回答とあわせて返し、モデルにそれを引用するよう指示する。

回答に出典を付けるには、検索(取得)ステップで文書のメタデータ(出典名やページ・セクション)を取り出し、それを生成結果とあわせて返したうえで、モデルへ明示的に引用するようプロンプトで指示します。
これは RAG パイプラインとプロンプト設計を組み合わせた実装パターンであり、top_p などのサンプリング調整やコンテンツフィルターの変更では実現できません
検索を行わずベースモデルのみを使う方式(C)では、そもそも根拠文書を参照できず出典を付けられません。
したがって正解は B です。
Azure OpenAI On Your Data の概要

Q2AI-200
解答を見る
正解:B. Azure AI Document Intelligence の事前構築済み請求書モデル(prebuilt-invoice)

事前構築済み請求書モデル(prebuilt-invoice)は、仕入先・合計・明細・請求書番号といった一般的な請求書フィールドをそのまま認識できるよう学習済みで、独自の学習データやカスタムモデルの作成が不要です。
レイアウトの異なる複数種類の請求書にも対応するため、「学習不要」という要件を満たせます
Read API(A)は文字の読み取り(OCR)のみでフィールド構造は返しません。
カスタム NER(C)やカスタムニューラルモデル(D)は独自の学習が前提のため、要件に反します。
請求書モデル – Document Intelligence

Q3AI-200
解答を見る
正解:A. Key Vault の RBAC ロール割り当てを構成する。、D. システム割り当てマネージド ID を割り当てる。、E. 実行時に SDK を使用してシークレットを取得する。

シークレットをコードや構成に埋め込まず、ローテーション後も再デプロイなしで最新版を使うには、まず ACA アプリにシステム割り当てマネージド ID を付与し(D)、その ID に Key Vault の RBAC ロール(Key Vault Secrets User)を割り当て(A)、実行時に SDK でシークレットを取得します(E)。
これにより資格情報を露出させず、常に最新バージョンを動的に参照できます
Key Vault は RBAC で構成されているためアクセスポリシー(B)は使いません。
デプロイ時のエクスポート(C)はシークレットを露出させ、ローテーションにも追随できないため不適切です。
Container Apps でマネージド ID を使用する

Q4AI-200
App Service を ACR に認証する

静的な資格情報の保存を回避する

解答を見る
正解:マネージド ID に「Container Registry Repository Reader」ロールを割り当てる/マネージド ID とロール割り当てを使用する

静的な資格情報を保存せず ACR からプライベートイメージを安全にプルするには、App Service にマネージド ID を構成し、その ID にイメージのプルを許可する Container Registry Repository Reader ロールを割り当てます。
マネージド ID とロール割り当てで認証することで、パスワードを保持せずに安全にプルできます
管理者ユーザーの有効化や、レジストリのパスワードをアプリ設定に保存する方法は、静的な資格情報を保持することになるため要件に反します。
Webhook はイベント通知の仕組みで、イメージプルの認証には使いません。
マネージド ID で ACR からイメージをプルする

Q5AI-200
解答を見る
正解:A. タイマートリガー(Timer trigger)、B. ソースコードのコミットトリガー(Source code commit trigger)、D. ベースイメージ更新トリガー(Base image update trigger)

3 つの要件はそれぞれ ACR Tasks の 3 種類のトリガーに対応します。
定期実行はタイマートリガー(A)、アプリ更新(コミット)はソースコードのコミットトリガー(B)、ベースイメージ更新はベースイメージ更新トリガー(D)で自動再ビルドできます
レジストリイベントトリガー(C)や Webhook 通知トリガー(E)は外部への通知・連携の仕組みであり、ここで求められる再ビルドのトリガー要件には該当しません。
ACR Tasks の概要

Q6AI-200

選択肢を要件のドロップ欄へドラッグ、またはタップして配置。配置済みの欄をクリックで戻せます(同じ選択肢は複数回使用可)。

CosmosClient
Database
Container
Indexing policy
エンドポイントとキーで接続を初期化する
共有スループットを定義する
項目に対して CRUD 操作を実行する
解答を見る
正解:エンドポイントとキーで接続を初期化する→CosmosClient/共有スループットを定義する→Database/項目に対して CRUD 操作を実行する→Container

Cosmos DB for NoSQL SDK では役割ごとにクラスが分かれています。
接続の初期化は CosmosClient、共有スループット(RU/s)はデータベース単位で構成するため Database、項目の CRUD 操作は Container クラスを使用します
共有スループットはデータベースに設定した容量を配下の全コンテナーで共有します。
項目(JSON ドキュメント)の CRUD メソッドを公開するのは Container です。
Indexing policy はインデックス作成方針を定義するコンポーネントで、この 3 要件には該当しないため未使用(ダミー)です。
Cosmos DB for NoSQL .NET SDK 入門

Q7AI-200

左の「選択肢」から必要な数を右の「回答エリア」へドラッグ(またはタップ)。回答エリア内でドラッグして順序を入れ替えられます。

選択肢
  • メッセージハンドラーとエラーハンドラーを登録する
  • Service Bus クライアントを作成する
  • 失敗したメッセージをデッドレターに送る
  • メッセージプロセッサを開始する
  • キュー用の Service Bus プロセッサを作成する
回答エリア(上から実行順)
  1. ここへドラッグ

解答を見る
正解:正解の順序:①Service Bus クライアントを作成する → ②キュー用の Service Bus プロセッサを作成する → ③メッセージハンドラーとエラーハンドラーを登録する → ④メッセージプロセッサを開始する

まず接続文字列や Azure Identity 資格情報で Service Bus クライアントを作成し、そのクライアントからキューを対象とするプロセッサを生成します。
次にメッセージ到着時とエラー発生時の動作を定義するためハンドラーを登録し、最後に受信を開始するメソッドを呼び出すことで内部ループが起動します。
クライアント作成→プロセッサ作成→ハンドラー登録→プロセッサ開始の順が正しく、開始メソッドを呼ぶまでプロセッサは待機状態のままです
「失敗したメッセージをデッドレターに送る」はこの初期化シーケンスには不要な選択肢です。
Service Bus キュー入門(.NET)

Q8AI-200

選択肢を要件のドロップ欄へドラッグ、またはタップして配置。配置済みの欄をクリックで戻せます(同じ選択肢は複数回使用可)。

Azure Monitor へトレースデータを送るコンポーネントを作成する
スパンプロセッサを構成してエクスポーターへスパンを送る
アプリの TracerProvider を初期化する
tracer.start_as_current_span() を呼び出す
ログサンプリングを有効化する
グローバルなトレーサープロバイダーを登録する
トレースを Azure Monitor へエクスポートする
エクスポーターをプロバイダーに接続する
アプリケーションコードでスパンを生成する
解答を見る
正解:グローバルなトレーサープロバイダーを登録する→Azure Monitor へトレースデータを送るコンポーネントを作成する/トレースを Azure Monitor へエクスポートする→スパンプロセッサを構成してエクスポーターへスパンを送る/エクスポーターをプロバイダーに接続する→アプリの TracerProvider を初期化する/アプリケーションコードでスパンを生成する→tracer.start_as_current_span() を呼び出す

トレースが表示されないのは、エクスポーターとスパンプロセッサを含むエクスポートパイプラインが構成されていないためです。
Azure Monitor へ送るエクスポーターコンポーネントを作成し、BatchSpanProcessor などのスパンプロセッサでそのエクスポーターへスパンを送るよう構成します
これを TracerProvider に登録・初期化し、最後に tracer.start_as_current_span() でスパンを生成すると、Azure Monitor へトレースが送信されます。
「ログサンプリングを有効化する」はこの構成には不要な選択肢です。
OpenTelemetry で Azure Monitor を有効にする

Q9AI-200
解答を見る
正解:B. HTTP

要件の中心は、呼び出し元へ即座に結果を返す同期的な応答と、Entra ID 認証、自動スケールです。
HTTP トリガーは同期的な要求/応答を行い、ペイロードを検証して 200 や 400 を即時に返せます
App Service 認証(Easy Auth)で Entra ID トークン検証を組み込め、従量課金/Premium プランでトラフィックに応じ自動スケールします。
冪等性や重複回避は Durable Functions やバッキングストアと組み合わせて実現します。
Service Bus・Event Grid・Queue storage は非同期処理向けで、呼び出し元への即時応答には適しません。
Azure Functions の HTTP トリガー

Q10AI-200
ホスティングプラン(Hosting plan)

タイムアウト値(Timeout value)

解答を見る
正解:Premium(Elastic Premium)プラン/230 seconds(230 秒)

イベント駆動型スケーリングとカスタム Linux コンテナーイメージの両方を満たすのは Premium(Elastic Premium)プランです。
スケールコントローラーによる動的なスケールアウトに対応し、アイドル時は 0 インスタンスまで縮退します。
Consumption プランと異なりカスタム Linux イメージを実行できます。
また host.json の設定に関わらず、HTTP トリガー関数には基盤の Azure Load Balancer に由来する 230 秒の応答上限があり、これを超えると接続が切断されます
したがってホスティングプランは Premium、タイムアウト値は 230 秒です。
Azure Functions のホスティングオプション