Azure Logic Apps を使用して REST エンドポイントを呼び出すCall REST endpoints by using Azure Logic Apps

Azure Logic Apps と組み込み HTTP + Swagger コネクタを使用すると、ロジック アプリを構築することで、Swagger ファイルを介して任意の REST エンドポイントを定期的に呼び出すワークフローを自動化できます。With Azure Logic Apps and the built-in HTTP + Swagger connector, you can automate workflows that regularly call any REST endpoint through a Swagger file by building logic apps. HTTP + Swagger トリガーおよびアクションは HTTP トリガーおよびアクションと同様に機能しますが、Swagger ファイルで記述された API の構造と出力を公開することにより、ロジック アプリ デザイナーでのエクスペリエンスが向上します。The HTTP + Swagger trigger and action work the same as the HTTP trigger and action but provide a better experience in the Logic App Designer by exposing the API structure and outputs described by the Swagger file. ポーリング トリガーを実装する場合は、ロジック アプリから他の API、サービス、システムを呼び出すためのカスタム API の作成に関するページで説明されているポーリング パターンに従ってください。To implement a polling trigger, follow the polling pattern that's described in Create custom APIs to call other APIs, services, and systems from logic apps.

前提条件Prerequisites

HTTP + Swagger トリガーの追加Add an HTTP + Swagger trigger

この組み込みトリガーは、REST API を記述した Swagger ファイルの URL に HTTP 要求を送信し、そのファイルの内容を含む応答を返します。This built-in trigger sends an HTTP request to a URL for a Swagger file that describes a REST API and returns a response that contains that file's content.

  1. Azure Portal にサインインします。Sign in to the Azure portal. ロジック アプリ デザイナーで空のロジック アプリを開きます。Open your blank logic app in Logic App Designer.

  2. デザイナーの検索ボックスに、フィルターとして「swagger」と入力します。On the designer, in the search box, enter "swagger" as your filter. [トリガー] の一覧から、 [HTTP + Swagger] トリガーを選択します。From the Triggers list, select the HTTP + Swagger trigger.

    HTTP + Swagger トリガーを選択する

  3. [Swagger エンドポイント URL] ボックスに Swagger ファイルの URL を入力し、 [次へ] を選択します。In the SWAGGER ENDPOINT URL box, enter the URL for the Swagger file, and select Next.

    この例では、Cognitive Services Face API に対して、米国西部リージョンにある Swagger URL を使用します。This example uses the Swagger URL that is located in the West US region for the Cognitive Services Face API:

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Swagger エンドポイントの URL を入力する

  4. Swagger ファイルで記述された操作がデザイナーに表示されたら、使用する操作を選択します。When the designer shows the operations described by the Swagger file, select the operation that you want to use.

    Swagger ファイル内の操作

  5. エンドポイント呼び出しに含めるトリガー パラメーターの値を指定します (パラメーターは、選択した操作によって異なります)。Provide the values for the trigger parameters, which vary based on the selected operation, that you want to include in the endpoint call. トリガーでエンドポイントを呼び出す頻度を設定します。Set up the recurrence for how often you want the trigger to call the endpoint.

    この例では、トリガー名を "HTTP + Swagger trigger: Face - Detect" に変更して、このステップの名前をよりわかりやすくします。This example renames the trigger to "HTTP + Swagger trigger: Face - Detect" so that the step has a more descriptive name.

    操作の詳細

  6. その他の使用可能なパラメーターを追加するには、 [新しいパラメーターの追加] リストを開き、必要なパラメーターを選択します。To add other available parameters, open the Add new parameter list, and select the parameters that you want.

    HTTP + Swagger に使用できる認証の種類の詳細については、「HTTP トリガーとアクションを認証する」を参照してください。For more information about authentication types available for HTTP + Swagger, see Authenticate HTTP triggers and actions.

  7. トリガーが起動したときに実行されるアクションを使用して、ロジック アプリのワークフローを引き続き構築します。Continue building your logic app's workflow with actions that run when the trigger fires.

  8. 完了したら、忘れずに対象のロジック アプリを保存してください。When you're finished, remember to save your logic app. デザイナーのツール バーで、 [保存] を選択します。On the designer toolbar, select Save.

HTTP + Swagger アクションの追加Add an HTTP + Swagger action

この組み込みアクションは、REST API を記述した Swagger ファイルの URL に HTTP 要求を送信し、そのファイルの内容を含む応答を返します。This built-in action makes an HTTP request to the URL for the Swagger file that describes a REST API and returns a response that contains that file's content.

  1. Azure Portal にサインインします。Sign in to the Azure portal. ロジック アプリ デザイナーでロジック アプリを開きます。Open your logic app in Logic App Designer.

  2. HTTP + Swagger アクションを追加するステップで、 [新しいステップ] を選択します。Under the step where you want to add the HTTP + Swagger action, select New step.

    ステップの間にアクションを追加するには、ステップ間の矢印の上にポインターを移動します。To add an action between steps, move your pointer over the arrow between steps. 表示されるプラス記号 ( + ) を選択してから、 [アクションの追加] を選択します。Select the plus sign (+) that appears, and then select Add an action.

  3. デザイナーの検索ボックスに、フィルターとして「swagger」と入力します。On the designer, in the search box, enter "swagger" as your filter. [アクション] の一覧で、 [HTTP + Swagger] アクションを選択します。From the Actions list, select the HTTP + Swagger action.

    HTTP + Swagger アクションの選択

  4. [Swagger エンドポイント URL] ボックスに Swagger ファイルの URL を入力し、 [次へ] を選択します。In the SWAGGER ENDPOINT URL box, enter the URL for the Swagger file, and select Next.

    この例では、Cognitive Services Face API に対して、米国西部リージョンにある Swagger URL を使用します。This example uses the Swagger URL that is located in the West US region for the Cognitive Services Face API:

    https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0

    Swagger エンドポイントの URL を入力する

  5. Swagger ファイルで記述された操作がデザイナーに表示されたら、使用する操作を選択します。When the designer shows the operations described by the Swagger file, select the operation that you want to use.

    Swagger ファイル内の操作

  6. エンドポイント呼び出しに含めるアクション パラメーターの値を指定します (パラメーターは、選択した操作によって異なります)。Provide the values for the action parameters, which vary based on the selected operation, that you want to include in the endpoint call.

    この例では、パラメーターがありませんが、アクション名を "HTTP + Swagger action: Face - Identify" に変更して、このステップの名前をよりわかりやすくします。This example has no parameters, but renames the action to "HTTP + Swagger action: Face - Identify" so that the step has a more descriptive name.

    操作の詳細

  7. その他の使用可能なパラメーターを追加するには、 [新しいパラメーターの追加] リストを開き、必要なパラメーターを選択します。To add other available parameters, open the Add new parameter list, and select the parameters that you want.

    HTTP + Swagger に使用できる認証の種類の詳細については、「HTTP トリガーとアクションを認証する」を参照してください。For more information about authentication types available for HTTP + Swagger, see Authenticate HTTP triggers and actions.

  8. 完了したら、忘れずに対象のロジック アプリを保存してください。When you're finished, remember to save your logic app. デザイナーのツール バーで、 [保存] を選択します。On the designer toolbar, select Save.

Azure Storage での Swagger のホストHost Swagger in Azure Storage

ホストされていない、またはセキュリティとクロスオリジンの要件を満たしていない Swagger ファイルは、Azure ストレージ アカウント内の BLOB コンテナーに Swagger ファイルをアップロードし、そのストレージ アカウントで CORS を有効にすると参照できます。You can reference a Swagger file that's not hosted or that doesn't meet the security and cross-origin requirements by uploading that file to blob container in an Azure storage account and enabling CORS on that storage account. Swagger ファイルを作成および設定し、Azure Storage に保存するには、次の手順に従います。To create, set up, and store Swagger files in Azure Storage, follow these steps:

  1. Azure Storage アカウントを作成します。Create an Azure storage account.

  2. ここで、BLOB に対して CORS を有効にします。Now enable CORS for the blob. ストレージ アカウント メニューの [CORS] を選択します。On your storage account's menu, select CORS. [Blob service] タブで以下の値を指定し、 [保存] を選択します。On the Blob service tab, specify these values, and then select Save.

    プロパティProperty Value
    許可されたオリジンAllowed origins *
    許可されたメソッドAllowed methods GETHEADPUTGET, HEAD, PUT
    許可されたヘッダーAllowed headers *
    公開されるヘッダーExposed headers *
    最長有効期間 (秒)Max age (in seconds) 200

    この例では Azure portal を使用していますが、Azure Storage Explorer などのツールを使用することもできます。また、このサンプル PowerShell スクリプトを使用して、この設定を自動的に構成することもできます。Although this example uses the Azure portal, you can use a tool such as Azure Storage Explorer, or automatically configure this setting by using this sample PowerShell script.

  3. BLOB コンテナーを作成しますCreate a blob container. コンテナーの [概要] ウィンドウで、 [アクセス レベルを変更します] を選択します。On the container's Overview pane, select Change access level. [パブリック アクセス レベル] の一覧で、 [BLOB (BLOB 専用の匿名読み取りアクセス)] を選択し、 [OK] を選択します。From the Public access level list, select Blob (anonymous read access for blobs only), and select OK.

  4. Azure portal または Azure Storage Explorer のいずれかから、Swagger ファイルを BLOB コンテナーにアップロードします。Upload the Swagger file to the blob container, either through the Azure portal or Azure Storage Explorer.

  5. BLOB コンテナー内のファイルを参照するには、次の形式に従う HTTPS リンクを使用します。ここで、大文字と小文字は区別されます。To reference the file in the blob container, use an HTTPS link that follows this format, which is case-sensitive:

    https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<swagger-file-name>

コネクタのレファレンスConnector reference

ここでは、以下の情報を返す HTTP + Swagger トリガーまたはアクションからの出力の詳細情報を示します。Here is more information about the outputs from an HTTP + Swagger trigger or action. HTTP + Swagger 呼び出しにより、次の情報が返されます。The HTTP + Swagger call returns this information:

プロパティ名Property name TypeType 説明Description
headersheaders objectobject 要求のヘッダーThe headers from the request
bodybody objectobject JSON オブジェクトJSON object 要求の本文の内容を含むオブジェクトThe object with the body content from the request
status codestatus code intint 要求の状態コードThe status code from the request
status codeStatus code 説明Description
200200 OKOK
202202 承認済みAccepted
400400 正しくない要求Bad request
401401 権限がありませんUnauthorized
403403 許可されていませんForbidden
404404 見つかりませんNot Found
500500 内部サーバー エラー。Internal server error. 不明なエラーが発生しました。Unknown error occurred.

次の手順Next steps