- はじめに
- Bing Custom Search APIとは
- 準備作業1-Azure PortalでBing Custom Serach リソースを作成する
- 準備作業2-Bing Custom Search のカスタム設定を作成する
- フロー全体図
- フロー解説
- 参考にしたページ
- さいごに
はじめに
先日こちらの投稿ではBing Werb Search APIを使ってWebページを検索してみました。
今回は、Bing Custom Search APIを使って任意のサイト内検索をPower Automate クラウドフローから行ってみました。
※HTTPコネクタを利用する為Power Automate Premiumライセンスなどが必要になります。
Bing Custom Search APIとは
Microsoft の検索エンジン Bingを使って、特定のサイトや一連のWebサイトからコンテンツを検索することができるAPIです。今回はPower Automate から利用していますが、今話題のCopilot StudioもBing Custom Searchに対応しています。
【重要】Bing Search API の要件を確認しておきましょう
こちらのページにBing Search APIの要件があります。禁止事項などがありますので必ず確認しておきましょう。
また、Power AutomateでBing の検索結果を取得したら生成AIに渡してあれこれしたくなってきますが、こちらのページでLLMとBingSearch APIを組わせて使う場合の要件が説明されています。そういった用途の場合は必ずこちらのページを確認しましょう。
Bing Search API は従量課金制です
詳しい価格はこちらのページで確認できます。
今回は無料枠で利用しています。
準備作業1-Azure PortalでBing Custom Serach リソースを作成する
※Azureアカウント、サブスクリプション、リソースグループはあらかじめ作成済みの状態から説明しています。
1.こちらのURLからBing カスタム検索 リソースの作成ページを開けます
https://portal.azure.com/#create/microsoft.bingcustomsearch
2.Azure PortalにサインインしBing カスタム検索 リソースを作成する
- サブスクリプション
- あらかじめ作成しておく必要があります
- リソースグループ
- 複数のリソースをまとめて管理するためのグループです。作成済みのリソースグループがある場合は選択し、ない場合はこのページから新規作成もできます。
- 名前
- Bing カスタム検索 リソースの名前を付けます
- リージョン
- グローバルのまま変更不要
- 価格レベル
- Bing Custom Search APIは従量課金制です。
- F1を選択すれば無料枠で試すことができます。
全て設定したら契約条件に同意するチェックをオンにし「確認と作成」をクリックします。
3.選択した内容を確認し問題なければ「作成」をクリックするとリソースが作成され舞す
4.作成が完了したらリソースに移動します
5.作成したBing カスタム検索 リソースを開くとこんな画面が表示されます
ページ中央「お試しください」の下で実際に検索を試すことができますが、試すには準備作業2でカスタム設定を作成する必要があります。
6.画面中央右のキーの管理の「click here to manage keys 」をクリックします
7.Key1の右端のアイコンをクリックしAPIキーをクリップボードにコピーします
コピーしたキーは安全な場所に保管しておきます。
以上で、Azure Portalでの準備作業は完了です。
準備作業2-Bing Custom Search のカスタム設定を作成する
Bing Custom Search の検索条件を指定するカスタム設定を作成していきます。
1.Bing Custom Search にアクセス
2.「Get Started」ボタンをクリック
Microsoftのサインインページに移動しますので、
個人向けのMicrosoftアカウント・法人向けの組織または学校アカウントどちらかでサインインします。
3.利用条件を確認し同意できる場合はチェックし「Agree」をクリック
4.Welcomeな表示を確認して閉じます
ここからは表示の順に進めていきます。
5.「Create New Instance」をクリック
6.インスタンス(=カスタム設定)の作成
作成するカスタム検索のインスタンス名(カスタム設定の名称)を設定します。今回は道の駅の情報を検索する設定を作ってみますので「MichinoEKi」という名前を入力しOKをクリックします。
作成が完了すると、インスタンスの設定画面が表示されます。
6-1.検索対象のサイトを設定
表示されたページで検索対象のページを設定します。
今回は下記2つのサイトを設定します。
ActiveタブにURLを追加していきます。1つ目はまず中央の赤枠に入力し「Include Subpages」はチェックを入れたままにして+をクリックすると追加されます。
「Type in a URL」のところに入力して2つ目以降を追加します。
右側の検索プレビューで実際に検索してみることができます。
動作を確認して問題ない場合は「Publish」をクリックしてインスタンスを公開します。
成功したら「Go to production environment」をクリックします
運用環境のページが表示されたら「Custom Configuration ID」の値をコピーして安全な場所に保存しておきます。
このページでも実際に検索を試すことができます。
Azure Portalで作成したBing Custom Search リソースのキーを「Subscription Key」に入力する必要があります。
フロー全体図
フロー解説
1.[Flow button for mobile]フローを手動でトリガーする
テストフローなのでこちらをトリガーにしています。
- パラメータ1:検索キーワード
- テキスト
2.[Data Control]作成-BCS-SubscriptionKey
本来は Azure Key Valutを使って安全な状態でキーを管理すべきですが、作成環境の都合で今回は作成アクションにキーを格納しています。
- 入力
- Bing カスタム検索 リソースのサブスクリプションキー
3.[HTTP]HTTP-Bing Web Search API
Bing Custom Search APIを呼びます。
- URI
-
https://api.bing.microsoft.com/v7.0/custom/search?q=@{encodeUriComponent(triggerBody()['text'])}&customconfig=準備2で用意したカスタム設定Id&mkt=ja-JP
- パラメータはqとcustomconfigのみ必須ですが、mkt=ja-JPも指定すると日本向けに望ましい結果となります
- 他にも多数のパラメータが利用できます
-
- Method
- GET
- Headers
- Ocp-Apim-Subscription-Key
- @{outputs('作成-API_Key')}
- Ocp-Apim-Subscription-Key
「道の駅豊橋」を検索キーワードに入力して実行してみました。
するとこんな感じのjsonで返されます。
こちらのページに応答jsonオブジェクトの説明があります。
参考にしたページ
さいごに
使い方は先日投稿したBing Web Search APIとほとんど変わりません。カスタム設定をあらかじめ作成しておくことくらいです。Bing Custom Search を利用すると、指定した単一のサイトだけでなく複数のWebページ、サイトだけから検索することができますので、Power Automate クラウドフローからはこちらの方が利用できるシーンは多いかもしれません。