演習 - Azure Logic Apps を使用してニュース トラッカーを作成する
この演習では、Azure portal を使用して、ニュース監視ロジック アプリとワークフローを作成します。 ワークフロー デザイナーを使用して Bing 検索トリガーを追加します。 次のダイアグラムは、ワークフローの概念ビューを示したものであり、作業する部分が強調表示されています。
Bing 検索の API キーとエンドポイントを取得する
ワークフローで Bing 検索トリガーを使用するには、Bing 検索 API の API キーと API エンドポイントが必要です。 このキーとエンドポイントを取得するには、Azure に Bing リソースを作成する必要があります。
Azure portal で、Azure アカウントを使ってサインインします。
Azure の検索ボックスに「bing」と入力し、[Bing リソース] を選びます。
[Bing リソース] ページのツール バーで、[追加] > [Bing検索] を選びます。
プロパティ 値 説明 サブスクリプション <Azure-subscription> Azure のサブスクリプションを選択します。 リソース グループ <resource-group> [新規作成] を選び、このモジュール全体で使用する一意の名前のリソース グループを作成します。 名前 <Bing-resource> Bing リソースの一意の名前を入力します。 この例では MyBingSearch を使用します。 リージョン Global リソースは、複数の Azure リージョンにまたがって機能します。 価格レベル F1 このレベルでは、1 秒あたり 3 回の呼び出しが提供され、上限は各月に 1,000 回の呼び出しです。 価格情報については、「Bing 検索 API の価格」をご覧ください。 終了したら、[上記通知を読み、理解しました。]> [確認 + 作成] を選びます。
デプロイが完了したら、[リソースに移動] を選択します。
リソース メニューの [リソースの管理] で、[キーとエンドポイント] を選びます。
安全な場所に次の値をコピーして保存します。
- キー 1 またはキー 2
- エンドポイント
ロジック アプリ リソースを作成する
ここで、Azure にロジック アプリ リソースを作成します。
Azure portal の検索ボックスで、[ロジック アプリ] を検索して選びます。
[ロジック アプリ] ページのツール バーで [追加] を選びます。
[ロジック アプリの作成] ページが表示され、使用可能なロジック アプリの種類とホスティング プランが表示されます。
[従量課金 (マルチテナント)] ホスティング プランを選び、[選択] をクリックして続行します。
[従量課金] プランは、ロジック アプリ ワークフローをマルチテナントのグローバル Azure 環境で実行することと、[従量課金] の課金と価格モデルを使用することを指定します。これは、操作の実行ごとの支払いです。 詳細については、「従量課金プラン (マルチテナント)」を参照してください。 さまざまなホスティング環境で、その他のホスティング プランも利用できます。
[基本] タブで、ロジック アプリ リソースに関する次の情報を指定し、その他のすべてのオプションは既定値のままにします。
プロパティ 値 サブスクリプション Azure サブスクリプションを選択します。 リソース グループ [新規作成] を選び、一意の名前のリソース グループを作成します。 ロジック アプリ名 ロジック アプリの一意の名前を入力します。 この例では、ShoeNewsTracker<random-string> を使用します。<random-string> プレースホルダーを数字または文字に置き換えます。 リージョン 最も近い Azure リージョンを選びます。 [確認と作成] を選択し、次に [作成] を選択します。
Azure portal に、展開の進行状況と、Azure が作成するリソースがある展開ペインが表示されます。
Azure が展開を完了したら、[リソースに移動] を選びます。
ロジック アプリの [概要] ページが表示されます。
ワークフロー デザイナーを開くには、[ロジック アプリ] メニューの [開発ツール] で、[ロジック アプリ デザイナー] を選択します。
[On new news article] (新しいニュース記事) という名前の Bing 検索トリガーを追加する
通常、空のワークフローから開始すると、ワークフローを開始する条件を満たすトリガーを持つコネクタが見つかります。 この例では、[Bing 検索] コネクタから作業を開始します。条件が、新しいニュース記事が利用可能になったときであるためです。 Bing 検索トリガーを追加して、すべての必須パラメーターに値を指定します。
この手順では、Bing News Search サービスの API キーと API エンドポイントを取得する必要があります。
Bing 検索を使用しない場合でも、手順に従うことができますが、代わりに RSS トリガーに置き換えます。これはキーやシークレットを必要としません。 RSS フィードの URL と、頻度および間隔を指定する必要があるのみです。 RSS トリガーの弱点は、RSS フィードに新しい記事が表示される頻度が低いため、このトリガーがアクティブになったり、結果を返したりする前にしばらく待つことが必要な場合がある点です。
ワークフロー デザイナーで、[トリガーの追加] を選択します。
[トリガーの追加] ペインが開き、使用可能なトリガーのコネクタ ギャラリーが表示されます。
[トリガーの追加] 検索ボックスで、[On new news article] (新しいニュース記事) という名前の Bing検索トリガーを見つけて選択します。
"代替案":検索ボックスで、[フィード項目が発行される場合] という名前の RSS トリガーを選択します。
[Bing 検索] サービスにアクセスするには、次の情報を指定して接続を作成する必要があります。
"代替案":RSS トリガーには、この手順はありません。
プロパティ 必要 値 説明 Connection Name はい ShoeNewsBingConnection 接続に付ける名前 API キー はい <api-key> Bing 検索 API 用にコピーした API キー。 API エンドポイント はい <api-endpoint> Bing 検索 API 用にコピーしたのと同じドメイン名を持つ API エンドポイントを選びます。 この例では、 https://api.bing.microsoft.com/v7.0
を使用します。重要
最適なセキュリティを確保するために、Microsoft では、可能なときは、認証にマネージド ID で Microsoft Entra ID を使用することをお勧めします。 このオプションは、資格情報を指定しなくても優れたセキュリティを提供します。 この ID は Azure で管理され、認証情報が安全に保たれます。この機密情報をユーザー側で管理する必要がないからです。 Azure Logic Apps のマネージド ID を設定するには、「Azure Logic Apps でマネージド ID を使用して Azure リソースへのアクセスと接続を認証する」を参照してください。
終了したら、[新規作成] を選択します。
"代替案":RSS トリガーには、この手順はありません。
接続を正常に作成すると、[On new news article] (新しいニュース記事) という名前の Bing検索トリガーの情報ボックスが表示されます。
Bing検索トリガーで、次の情報を指定します。
パラメーター 必須 値 説明 検索クエリ はい shoe ニュース記事で検索するテキスト。 [項目を確認する頻度] で、次の値を指定します。
パラメーター 必須 値 説明 間隔 はい 16 次のチェックまで待機する時間単位数。 たとえば、間隔が [3] で、頻度が [時間]の場合、3 時間ごとに新しい記事を確認します。
この演習では、スケジュールではなくトリガーを手動でアクティブ化するだけなので、間隔を [月] 頻度に対して可能な最大値 (この例では 16) に設定します。頻度 はい Month ポーリング間隔に使用する時間単位。たとえば、[秒]、[分]、[時間]、[日]、[週間]、[か月] などです。 高度なパラメーター いいえ なし トリガーに追加する任意のパラメーター。 たとえば、この時点でトリガーは次の例のようになります。
RSS トリガーを使用する場合は、次の情報を入力します。
パラメーター 必須 値 説明 RSS フィードの URL はい https://feeds.a.dj.com/rss/RSSWorldNews.xml
確認する RSS フィードの URL。
HTTP 承認を必要としない RSS フィードを使用できますが、ワークフローを簡単にテストできるように、頻繁に発行される RSS フィードを選択します。高度なパラメーター いいえ なし トリガーに追加する任意のパラメーター。 Chosen property used to determine which items are new (新しい項目を判別するために使用される選択されたプロパティ) いいえ UpdatedOn 返す記事の判別に使用するプロパティ。 既定値は PublishDate です。 [項目を確認する頻度] で、次の値を指定します。
パラメーター 必須 値 説明 間隔 はい 16 次のチェックまで待機する時間単位数。 たとえば、間隔が [3] で、頻度が [時間]の場合、3 時間ごとに新しい記事をチェックします。
この演習では、スケジュールではなくトリガーを手動でアクティブ化するだけなので、間隔を [月] 頻度に対して可能な最大値 (この例では 16) に設定します。 最小間隔については、RSS コネクタのリファレンスを参照してください。頻度 はい Month ポーリング間隔に使用する時間単位。たとえば、[秒]、[分]、[時間]、[日]、[週間]、[か月] などです。 終了したら、デザイナーのツールバーで、[保存] を選びます。
ワークフローを保存すると、Azure は、すでにライブになっている展開済みロジック アプリ リソースに、保存された変更を自動的にプッシュします。 トリガーのセットアップにエラーがある場合、Azure はそれらのエラーを表示します。
トリガーをテストします。 トリガーを手動でアクティブにするには、デザイナーのツール バーで、[実行]>[実行] を選びます。
トリガーは、検索テキストを含み、現時点で利用可能なすべてのニュース記事を Bing 検索サービスで調べます。
重要
料金が発生する Azure サブスクリプションを使用している場合、Bing 検索トリガーや、他の "マネージド" アクションを実行すると、サブスクリプションに少額の料金が発生する可能性があります。従量課金プランは、使用量計測と課金を次の説明のように適用することを規定しています。
- 組み込み (アプリ内) 操作:最初の X 回の実行は無料です。 その後は、実行ごとの従量課金が適用されます。
- マネージド (共有) 操作:実行ごとの従量課金が適用されます。
料金を最小限に抑えるため、このモジュールを完了した後は、リソースを必ずクリーンアップしてください。
詳細については、次のリソースを参照してください。
- 従量課金モデルでのトリガーとアクションの操作
- Azure Logic Apps の価格。 リージョン、通貨を選択し、[従量課金プラン (マルチテナント)] タブを選びます。
トリガーの履歴を確認しましょう。
トリガー履歴を確認する
[トリガーの履歴] タブには、ワークフローのトリガーに関する情報 (トリガーが起動されたかスキップされたかなど) のみが表示されます。
ロジック アプリのメニューで、 [概要] を選択します。
[概要] ページで、[トリガーの履歴] タブを選びます。
トリガーの履歴には、1 つのイベントに対して 2 つのエントリが表示されます。 1 つのエントリには、関連付けられているサービスまたはシステムを調べるトリガーが表示されます。 もう 1 つのエントリには、トリガー条件が満たされた場合にトリガーが起動されたことが示されます。 各エントリには、ID 番号、状態、開始時刻、トリガーが起動されたかどうかが表示されます。
ヒント
最近の結果が表示されない場合は、[概要] ページのツール バーで、[最新の情報に更新] を選びます。
トリガーの結果に基づいて、[状態] 列と [起動済み] 列に、次の値が表示される可能性があります。
トリガーの結果 [状態] 列 [起動済み] 列 説明 結果が見つかりませんでした Skipped <空> トリガーがサービスを調べましたが、条件が満たされませんでした。 他のワークフロー ステップは実行されません。
注:現時点で検索内容と一致するニュース記事がない場合、トリガーは結果を返しません。 待機して、トリガーの実行を複数回定期的に再試行することが必要な場合があります。結果が見つかりました Succeeded 起動済み トリガーがサービスを調べ、条件が満たされました。 トリガーが起動され、後続の手順の実行を開始します。 複数の一致が存在する場合は、一致ごとにトリガーが起動されます。
この例ではテストのみを行っているので、他の手順は実行できません。
トリガーが正常に起動され、既存のすべての手順が正常に完了すると、実行の詳細ページが開きます。 このページはデザイナーに似ていますが、各操作の実行状況と所要時間が表示されます。 このページの詳細については、後で確認します。トリガーが正常に実行され、[起動済み] ラベルが表示された場合は、トリガーの出力を表示できます。 次の手順に進みます。
そうではなく、トリガーがスキップされた場合は、トリガーを定期的に再実行してみてください。 [概要] ペインのツール バーで、[実行] > [実行] を選びます。
トリガーの出力を確認する
トリガーが正常に起動されたら、見つかったニュース記事に関する情報を表示できます。
トリガーの履歴から表示する
[トリガーの履歴] タブで、いずれかのトリガー エントリの行を選びます。
[履歴] ページの [出力のリンク] で、リンクを選びます。
[OUTPUTS] ページの body JSON オブジェクトに、一致するニュース記事に関する情報が表示されます。
実行の履歴から表示する
[実行の履歴] タブには、ワークフローの実行に関する情報 (成功したか失敗したかなど) のみが表示されます。 トリガーがスキップされた場合、[実行の履歴] タブには、その特定のトリガー イベントの実行情報は表示されません。
起動されたトリガーについては、次の手順に従うことで、このタブでもトリガーの出力を表示できます。
[概要] ページで、[実行の履歴] タブを選択します。
各実行には、ID 番号、状態、開始時刻、期間、および実行が静的な結果を使用したかどうかがありますが、このモジュールで説明する対象ではありません。 トリガーは正常に起動できても、ワークフローは正常に実行される可能性も、失敗する可能性もあります。
ヒント
最近の結果が表示されない場合は、[概要] ページのツール バーで、[最新の情報に更新] を選びます。
ワークフロー実行の行を選びます。
ワークフローの実行の詳細ページが開き、各操作の実行状況と所要時間が表示されます。 このビューでは、各操作で流れたデータも確認できます。
トリガーの入力と出力を表示するには、実行の詳細ページでトリガーを選びます。
ペインが開き、トリガーの [INPUTS] セクションと [OUTPUTS] セクションが表示されます。
[OUTPUTS] セクションの [body] フィールドで、一致する記事の説明とその他の情報を見つけます。 JSON 形式で応答全体を確認するには、[OUTPUTS] ラベルの横の [Show raw outputs] を選びます。
次のユニットでは、アクションについて説明します。これは、ワークフローでさまざまなタスクを実行します。