次の方法で共有


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 2.0 のみがサポートされています。OpenAPI 3.0 はサポートされていません。

前提条件

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

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

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

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

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

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

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

    Note

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

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

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

    httpswaggeraction という名前のトリガーを含む Standard ワークフロー デザイナーを示すスクリーンショット。Swagger Endpoint プロパティは URL 値に設定されます。

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

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

    Standard ワークフロー、Face - Detect トリガー、および Swagger 操作を含むリストを示すスクリーンショット。

  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

    Face - Detect という名前のトリガーと httpswaggeraction という名前のアクションを含む Standard ワークフロー デザイナーを示すスクリーンショット。Swagger Endpoint プロパティは URL 値に設定されます。

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

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

    Standard ワークフロー、Face - Identify アクション、および Swagger 操作を含むリストを示すスクリーンショット。

  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] タブで以下の値を指定し、[保存] を選択します。

    プロパティ
    許可されたオリジン *
    許可されたメソッド GETHEADPUT
    許可されたヘッダー *
    公開されるヘッダー *
    最長有効期間 (秒) 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 内部サーバー エラー。 不明なエラーが発生しました。

次のステップ