過去問ドリル

AI-200:Developing AI Cloud Solutions on Azure Azure サービスへの接続と利用 問4

Azure サービスへの接続と利用/Azure Functions の開発と実装

Azure Service Bus キューにメッセージが届くたびに起動し、内容を加工して Azure Cosmos DB に1件書き込む関数を、Azure Functions で作ります。Service Bus と Cosmos DB に接続するクライアント SDK のコードは、自分では書かない構成にします。適切なものはどれですか。

当サイトのオリジナル問題(AI-200:Developing AI Cloud Solutions on Azureの出題範囲「Azure サービスへの接続と利用」に対応。実際の試験問題ではありません)

正解:A

解説

Azure Functions では、関数を起動するきっかけを「トリガー」、ほかのサービスとのデータの受け渡しを「バインド」として宣言的に設定できます。Service Bus トリガーでメッセージを受け取り、Cosmos DB の出力バインドに値を返すだけで書き込めるため、接続や再試行のコードを自分で書く量を減らせます。1つの関数に設定できるトリガーは1つだけです。

下線の用語は 用語集 で意味を確認できます。

選択肢ごとの解説

  • A正しい。トリガーと出力バインドを組み合わせると、接続処理を書かずにメッセージの受信から書き込みまで実装できます。
  • B誤り。タイマーで定期的にキューを確認する方法は、遅延が生じるうえに、接続処理のコードも増えます。メッセージの到着で起動するトリガーのほうが適切です。
  • C誤り。Cosmos DB トリガーは、Cosmos DB のコンテナーの変更をきっかけに関数を起動するものです。キューへの到着をきっかけにする要件とは方向が逆です。
  • D誤り。1つの関数に設定できるトリガーは1つだけです。
AI-200:Developing AI Cloud Solutions on Azureの問題を演習モードで解く