Azure Logic Apps のワークフローから REST API エンドポイントを接続または呼び出す

適用対象: Azure Logic Apps (従量課金プラン + Standard)

Azure Logic Apps のロジック アプリ ワークフローから REST API エンドポイントを呼び出すには、組み込みの HTTP + Swagger 操作を使用して、Swagger ファイルを介して任意の REST API エンドポイントを呼び出すことができます。 HTTP + Swagger トリガーおよびアクションは HTTP トリガーおよびアクションと同様に機能しますが、Swagger ファイルで記述された API の構造と出力を公開することにより、ワークフロー デザイナーのエクスペリエンスが向上します。 ポーリング トリガーを実装する場合は、ロジック アプリ ワークフローから他の API、サービス、システムを呼び出すためのカスタム API の作成に関するページで説明されているポーリング パターンに従ってください。

制限事項

HTTP + Swagger 組み込み操作では現在、OpenAPI 3.0 ではなく、OpenAPI 2.0 のみがサポートされています。

前提条件

  • アカウントと Azure サブスクリプション。 Azure サブスクリプションがない場合は、無料の Azure アカウントにサインアップしてください。

  • 呼び出すターゲット REST API エンドポイントを記述する Swagger ファイルの URL

    通常、トリガーまたはアクションが機能するには、REST エンドポイントが次の条件を満たしている必要があります。

    • Swagger ファイルは、パブリックにアクセス可能な HTTPS URL でホストされている必要があります。

    • Swagger ファイルには、定義内の各操作に対して operationID プロパティを含める必要があります。 そうでない場合、コネクタによって Swagger ファイル内の最後の操作のみが表示されます。

    • Swagger ファイルでは、クロスオリジン リソース共有 (CORS) が有効になっている必要があります。

    このガイドの例では、Azure AI サービスのリソース キーとリージョンが必要な Azure AI Face を使用します。

    Note

    参照する Swagger ファイルがホストされていない場合やセキュリティとクロスオリジンの要件を満たしていない場合は、Azure ストレージ アカウント内の BLOB コンテナーにその Swagger ファイルをアップロードし、そのストレージ アカウントで CORS を有効にすると、そのファイルを参照できるようになります。

  • ターゲット エンドポイントを呼び出す従量課金または標準のロジック アプリ ワークフロー。 HTTP + Swagger トリガーから開始するには、空のワークフローを使用してロジック アプリ リソースを作成します。 HTTP + Swagger アクションを使うには、任意のトリガーを使って対象のワークフローを起動します。 この例では、最初の 操作として HTTP + Swagger トリガーを使用します。

HTTP + Swagger トリガーの追加

この組み込みのトリガーを使うと、REST API を記述した Swagger ファイルの URL に HTTP 要求を送信できます。 このトリガーにより、そのファイルの内容を含む応答が返されます。

  1. Azure portal で、標準ロジック アプリ リソースと空のワークフローをデザイナーで開きます。

  2. デザイナーで、次の一般的な手順に従って、HTTP + Swagger という名前HTTP トリガーを追加します。

  3. [Swagger エンドポイント] ボックスに、目的の Swagger ファイルの URL を入力し、[アクションの追加] を選択します

    必ず独自のエンドポイントを使うか、作成してください。 これらの手順で米国西部リージョンにある次の Azure AI Face API Swagger URL を使用している目的は例示のみであり、具体的なトリガーでは機能しない可能性があります。

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

    Screenshot shows Standard workflow designer with trigger named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

  4. Swagger ファイルで記述された操作がデザイナーに表示されたら、使用する操作を選択します。

    次の例では、トリガーの名前を Face - Detect変更し、トリガーの名前をよりわかりやすいものにします。

    Screenshot shows Standard workflow, Face - Detect trigger, and list with Swagger operations.

  5. エンドポイント呼び出しに含めるトリガー パラメーターの値を指定します (パラメーターは、選択した操作によって異なります)。 トリガーでエンドポイントを呼び出す頻度を設定します。

  6. その他の使用可能なパラメーターを追加するには、[詳細パラメーター] ボックスの一覧を開き、目的のパラメーターを選択します。

    HTTP + Swagger に使用できる認証の種類の詳細については、送信呼び出しへの認証の追加に関するページを参照してください。

  7. トリガーの起動時に実行するアクションを使用して、ワークフローの構築を続けます。

  8. 完了したら、ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。

HTTP + Swagger アクションの追加

この組み込みアクションを使うと、REST API を記述した Swagger ファイルの URL に HTTP 要求を送信できます。 このアクションにより、そのファイルの内容を含む応答が返されます。

  1. Azure portal で、Standard ロジック アプリ リソースとワークフローをデザイナーで開きます。

  2. デザイナーで、次の一般的な手順に従って、HTTP + Swagger という名前HTTP アクションを追加します。

  3. [Swagger エンドポイント] ボックスに、目的の Swagger ファイルの URL を入力し、[アクションの追加] を選択します

    必ず独自のエンドポイントを使うか、作成してください。 これらの手順で米国西部リージョンにある次の Azure AI Face API Swagger URL を使用している目的は例示のみであり、具体的なトリガーでは機能しない可能性があります。

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

    Screenshot shows Standard workflow designer with trigger named Face - Detect, and action named httpswaggeraction. The Swagger Endpoint property is set to a URL value.

  4. Swagger ファイルで記述された操作がデザイナーに表示されたら、使用する操作を選択します。

    次の例では、アクションの名前を Face - Identify変更し、アクションにわかりやすい名前を付けます。

    Screenshot shows Standard workflow, Face - Identify action, and list with Swagger operations.

  5. エンドポイント呼び出しに含めるアクション パラメーターの値を指定します (パラメーターは、選択した操作によって異なります)。

  6. その他の使用可能なパラメーターを追加するには、[詳細パラメーター] ボックスの一覧を開き、目的のパラメーターを選択します。

    HTTP + Swagger に使用できる認証の種類の詳細については、送信呼び出しへの認証の追加に関するページを参照してください。

  7. 実行するその他のアクションを使用して、ワークフローの構築を続けます。

  8. 完了したら、ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。

Azure Storage での Swagger のホスト

ホストされていない、またはセキュリティとクロスオリジン要件を満たさない Swagger ファイルを参照することはできます。 Azure Storage アカウントの BLOB コンテナーに Swagger ファイルをアップロードし、そのストレージ アカウントで CORS を有効にします。 Swagger ファイルを作成および設定し、Azure Storage に保存するには、次の手順に従います。

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

  2. ここで、BLOB に対して CORS を有効にします。 ストレージ アカウント メニューの [CORS] を選択します。 [Blob service] タブで以下の値を指定し、[保存] を選択します。

    プロパティ
    許可されたオリジン *
    許可されたメソッド GET, HEAD, PUT
    許可されたヘッダー *
    公開されるヘッダー *
    最長有効期間 (秒) 200

    この例では Azure portal を使用していますが、Azure Storage Explorer などのツールを使用することもできます。また、このサンプル PowerShell スクリプトを使用して、この設定を自動的に構成することもできます。

  3. BLOB コンテナーを作成します。 コンテナーの [概要] ウィンドウで、[アクセス レベルを変更します] を選択します。 [パブリック アクセス レベル] の一覧で、[BLOB (BLOB 専用の匿名読み取りアクセス)] を選択し、[OK] を選択します。

  4. Azure portal または Azure Storage Explorer のいずれかから、Swagger ファイルを BLOB コンテナーにアップロードします。

  5. BLOB コンテナー内のファイルを参照するには、次の形式の HTTPS URL を Azure Storage Explorer から取得します。URL の大文字と小文字は区別されます。

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

コネクタに関するテクニカル リファレンス

このセクションでは、HTTP + Swagger トリガーとアクションからの出力について詳しく説明します。

出力

HTTP + Swagger 呼び出しは、次の情報を返します。

プロパティ名 種類​​ 説明
headers オブジェクト 要求のヘッダー
body オブジェクト 要求の本文の内容を含むオブジェクト
状態コード Integer 要求の状態コード
状態コード 説明
200 OK
202 Accepted
400 Bad request
401 権限がありません
403 許可されていません
404 Not Found
500 内部サーバー エラー。 不明なエラーが発生しました。

次のステップ