次の方法で共有


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) が有効になっている必要があります。

    Note

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

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

HTTP + Swagger トリガーの追加

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

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

  2. 従量課金と Standard のどちらのワークフローを使用しているかに基づいて、次の一般的な手順に従って、HTTP + Swagger という名前の HTTP トリガーを追加します

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

    次の例では、機能しない Swagger URL を使用します。 実際の URL では異なる形式が使用される場合があります。

    ワークフロー デザイナーを示すスクリーンショット。[トリガーの追加] が選択されており、HTTP + Swagger トリガーの情報ペインが示されています。Swagger エンドポイント プロパティは、例の URL に設定されます。

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

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

  6. トリガーで起動スケジュールを指定する必要がある場合は、そのトリガーでエンドポイントを呼び出す頻度を指定します。

  7. その他の使用可能なパラメーターを追加するには、[高度なパラメーター] リストを開き、必要なパラメーターを選択します。

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

  8. トリガーが起動したときに実行するアクションを含むワークフローを引き続き構築します。

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

HTTP + Swagger アクションの追加

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

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

  2. 従量課金と Standard のどちらのワークフローを使用しているかに基づいて、次の一般的な手順に従って、HTTP + Swagger という名前の HTTP アクションを追加します

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

    次の例では、機能しない Swagger URL を使用します。 実際の URL では異なる形式が使用される場合があります。

    ワークフロー デザイナーを示すスクリーンショット。Fabrikam API - Create order という名前のトリガーが示され、HTTP + Swagger アクションの情報ペインが開かれています。Swagger エンドポイント プロパティは URL に設定されます。

  4. 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 内部サーバー エラー。 不明なエラーが発生しました。