Azure Logic Apps で HTTPS エンドポイントを使用して、ロジック アプリの呼び出し、トリガー、または入れ子を行いますCall, trigger, or nest logic apps by using HTTPS endpoints in Azure Logic Apps

ロジック アプリを URL 経由で呼び出せて、他のサービスから入ってくる要求を受信できるようにするため、ロジック アプリで要求ベースのトリガーを使用し、同期 HTTPS エンドポイントをネイティブで公開できます。To make your logic app callable through a URL and able to receive inbound requests from other services, you can natively expose a synchronous HTTPS endpoint by using a request-based trigger on your logic app. この機能があれば、他のロジック アプリから自分のロジック アプリを呼び出し、呼び出し可能エンドポイントのパターンを作成できます。With this capability, you can call your logic app from other logic apps and create a pattern of callable endpoints. 入ってくる呼び出しを処理するための呼び出し可能エンドポイントを設定するには、次のいずれかのトリガー タイプを使用できます。To set up a callable endpoint for handling inbound calls, you can use any of these trigger types:

この記事では、Request トリガーを使用してロジック アプリで呼び出し可能エンドポイントを作成し、別のロジック アプリからそのエンドポイントを呼び出す方法について説明します。This article shows how to create a callable endpoint on your logic app by using the Request trigger and call that endpoint from another logic app. 原則はすべて、入ってくる要求を受け取るための他のトリガー タイプに同じように適用されます。All principles apply identically to the other trigger types that you can use to receive inbound requests.

トランスポート層セキュリティ (TLS) (以前の Secure Sockets Layer (SSL)) や Azure Active Directory Open Authentication (Azure AD OAuth) などの、ロジック アプリへの受信呼び出しの暗号化、セキュリティ、認可については、アクセスとデータのセキュリティ保護に関するページの「要求ベースのトリガーへのアクセス」のセクションを参照してください。For information about encryption, security, and authorization for inbound calls to your logic app, such as Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), or Azure Active Directory Open Authentication (Azure AD OAuth), see Secure access and data - Access for inbound calls to request-based triggers.

前提条件Prerequisites

呼び出し可能なエンドポイントを作成するCreate a callable endpoint

  1. Azure portal にサインインします。Sign in to the Azure portal. ロジック アプリ デザイナーで、空のロジック アプリを作成して開きます。Create and open a blank logic app in the Logic App Designer.

  2. 検索ボックスで、 [組み込み] を選択します。Under the search box, select Built-in. 検索ボックスに、フィルターとして「request」と入力します。In the search box, enter request as your filter. トリガーの一覧から、 [HTTP 要求の受信時] を選択します。From the triggers list, select When a HTTP request is received.

    要求トリガーを見つけて選択する

  3. 必要に応じて、 [要求本文の JSON スキーマ] ボックスで、トリガーで受信することが予測されるペイロードまたはデータが記述された JSON スキーマを入力できます。Optionally, in the Request Body JSON Schema box, you can enter a JSON schema that describes the payload or data that you expect the trigger to receive.

    デザイナーは、このスキーマを使用して、トリガー出力を表すトークンを生成します。The designer uses this schema to generate tokens that represent trigger outputs. その後は、これらの出力をロジック アプリのワークフロー全体で容易に参照できます。You can then easily reference these outputs throughout your logic app's workflow. 詳細については、JSON スキーマから生成されるトークンに関するセクションを参照してください。Learn more about tokens generated from JSON schemas.

    この例では、次のスキーマを入力します。For this example, enter this schema:

       {
       "type": "object",
       "properties": {
          "address": {
             "type": "object",
             "properties": {
                "streetNumber": {
                   "type": "string"
                },
                "streetName": {
                   "type": "string"
                },
                "town": {
                   "type": "string"
                },
                "postalCode": {
                   "type": "string"
                }
             }
          }
       }
    }
    

    要求アクションのための JSON スキーマを指定する

    または、サンプル ペイロードを指定することによって JSON スキーマを生成できます。Or, you can generate a JSON schema by providing a sample payload:

    1. [要求] トリガーで、 [サンプルのペイロードを使用してスキーマを生成する] を選択します。In the Request trigger, select Use sample payload to generate schema.

    2. [サンプルの JSON ペイロードを入力するか、貼り付けます] ボックスで、サンプル ペイロードを入力します。たとえば、次のようにします。In the Enter or paste a sample JSON payload box, enter your sample payload, for example:

      {
         "address": {
            "streetNumber": "00000",
            "streetName": "AnyStreet",
            "town": "AnyTown",
            "postalCode": "11111-1111"
        }
      }
      
    3. 準備ができたら、 [完了] を選択します。When you're ready, select Done.

      [要求本文の JSON スキーマ] ボックスに、生成されたスキーマが表示されます。The Request Body JSON Schema box now shows the generated schema.

  4. ロジック アプリを保存します。Save your logic app.

    [HTTP POST の URL] ボックスに、他のサービスがロジック アプリの呼び出しやトリガーに使用できる生成されたコールバック URL が表示されます。The HTTP POST URL box now shows the generated callback URL that other services can use to call and trigger your logic app. この URL には、認証に使用される Shared Access Signature (SAS) キーを指定するクエリ パラメーターが含まれています。This URL includes query parameters that specify a Shared Access Signature (SAS) key, which is used for authentication.

    エンドポイント用に生成されたコールバック URL

  5. コールバック URL をコピーするには、次のオプションがあります。To copy the callback URL, you have these options:

    • [HTTP POST の URL] ボックスの右で [URL のコピー] (ファイル コピー アイコン) を選択します。To the right of the HTTP POST URL box, select Copy Url (copy files icon).

    • 次の POST 呼び出しを行います。Make this POST call:

      POST https://management.azure.com/{logic-app-resource-ID}/triggers/{endpoint-trigger-name}/listCallbackURL?api-version=2016-06-01

    • ロジック アプリの [概要] ペインからコールバック URL をコピーします。Copy the callback URL from your logic app's Overview pane.

      1. ロジック アプリのメニューで、 [概要] を選択します。On your logic app's menu, select Overview.

      2. [概要] セクションで、 [See trigger history] (トリガー履歴を表示する) を選択します。In the Summary section, select See trigger history.

        Azure portal からエンドポイントの URL を取得する

      3. [Callback url [POST]] (コールバック URL [POST]) で、URL をコピーします。Under Callback url [POST], copy the URL:

        Azure portal からエンドポイントの URL をコピーする

待機する要求メソッドの選択Select expected request method

既定では、要求トリガーは POST 要求を待機します。By default, the Request trigger expects a POST request. 待機する別のメソッドを指定できますが、指定できるメソッドは 1 つだけです。You can specify a different method to expect, but only a single method.

  1. 要求トリガーで、 [新しいパラメーターの追加] 一覧を開き、 [メソッド] を選択します。それにより、トリガーにこのプロパティが追加されます。In the Request trigger, open the Add new parameter list, and select Method, which adds this property to the trigger.

    トリガーに [メソッド] プロパティを追加する

  2. [メソッド] 一覧から、代わりにトリガーで待機する別のメソッドを選択します。From the Method list, select the method that the trigger should expect instead. または、カスタム メソッドを指定できます。Or, you can specify a custom method.

    たとえば、後でエンドポイントの URL をテストできるように [GET] メソッドを選択します。For example, select the GET method so that you can test your endpoint's URL later.

    トリガーで待機する要求メソッドを選択する

エンドポイント URL を使用してパラメーターを渡すPass parameters through endpoint URL

エンドポイントの URL 経由でパラメーター値を受け取るとき、次の選択肢が与えられます。When you want to accept parameter values through the endpoint's URL, you have these options:

  • GET パラメーター経由で値を受け取るか、URL パラメーター経由で値を受け取ります。Accept values through GET parameters or URL parameters.

    これらの値は、エンドポイントの URL で名前と値のペアとして渡されます。These values are passed as name-value pairs in the endpoint's URL. このオプションでは、要求トリガーで GET メソッドを使用する必要があります。For this option, you need to use the GET method in your Request trigger. 後続のアクションでは、式で triggerOutputs() 関数を使用することで、パラメーター値をトリガー出力として取得できます。In a subsequent action, you can get the parameter values as trigger outputs by using the triggerOutputs() function in an expression.

  • 要求トリガーのパラメーターに対して相対パス経由で値を受け取りますAccept values through a relative path for parameters in your Request trigger.

    これらの値は、エンドポイントの URL で相対パスから渡されます。These values are passed through a relative path in the endpoint's URL. また、明示的に、トリガーで待機するメソッドを選択する必要があります。You also need to explicitly select the method that the trigger expects. 後続のアクションでは、これらの出力を直接参照することで、パラメーター値をトリガー出力として取得できます。In a subsequent action, you can get the parameter values as trigger outputs by referencing those outputs directly.

GET パラメーター経由で値を受け取るAccept values through GET parameters

  1. 要求トリガーで、 [新しいパラメーターの追加] 一覧を開き、 [メソッド] プロパティをトリガーに追加し、GET メソッドを選択します。In the Request trigger, open the Add new parameter list, add the Method property to the trigger, and select the GET method.

    詳細については、「待機する要求メソッドの選択」を参照してください。For more information, see Select expected request method.

  2. 要求トリガーの下で、パラメーター値を使用するアクションを追加します。Under the Request trigger, add the action where you want to use the parameter value. この例では、 [応答] アクションを追加します。For this example, add the Response action.

    1. 要求トリガーで、 [新しいステップ] > [アクションの追加] の順に選択します。Under the Request trigger, select New step > Add an action.

    2. [アクションを選択してください] の下の検索ボックス内に、フィルターとして「response」と入力します。Under Choose an action, in the search box, enter response as your filter. アクションの一覧から、 [応答] アクションを選択します。From the actions list, select the Response action.

  3. パラメーター値を取得する triggerOutputs() 式を作成するには、次の手順を実行します。To build the triggerOutputs() expression that retrieves the parameter value, follow these steps:

    1. [応答] アクションの Body プロパティ内をクリックして動的コンテンツの一覧を表示し、 [式] を選択します。Click inside the Response action's Body property so that the dynamic content list appears, and select Expression.

    2. [式] ボックスにこの式を入力します。式の parameter-name は、自分のパラメーターの名前に変更します。 [OK] を選択します。In the Expression box, enter this expression, replacing parameter-name with your parameter name, and select OK.

      triggerOutputs()['queries']['parameter-name']

      トリガーする "triggerOutputs()" 式を追加する

      Body プロパティでは、式が triggerOutputs() トークンに解決されます。In the Body property, the expression resolves to the triggerOutputs() token.

      解決された "triggerOutputs()" 式

      ロジック アプリを保存し、デザイナーから抜け、デザイナーに戻ると、たとえば次のように、指定したパラメーター名がトークンに表示されます。If you save the logic app, navigate away from the designer, and return to the designer, the token shows the parameter name that you specified, for example:

      パラメーター名に対する解決された式

      コード ビューでは、Body プロパティが [応答] アクションの定義に次のように表示されます。In code view, the Body property appears in the Response action's definition as follows:

      "body": "@{triggerOutputs()['queries']['parameter-name']}",

      たとえば、postalCode という名前のパラメーターに値を渡すとします。For example, suppose that you want to pass a value for a parameter named postalCode. Body プロパティでは、文字列、Postal Code: と末尾のスペース、それに続く対応する式が指定されます。The Body property specifies the string, Postal Code: with a trailing space, followed by the corresponding expression:

      トリガーする例 "triggerOutputs()" 式を追加する

  4. 呼び出し可能なエンドポイントをテストするには、要求トリガーからコールバック URL をコピーし、その URL を別のブラウザー ウィンドウに貼り付けます。To test your callable endpoint, copy the callback URL from the Request trigger, and paste the URL into another browser window. URL で、次の形式の URL の疑問符 (?) の後ろにパラメーターの名前と値を追加し、Enter キーを押します。In the URL, add the parameter name and value following the question mark (?) to the URL in the following format, and press Enter.

    ...?{parameter-name=parameter-value}&api-version=2016-10-01...

    https://prod-07.westus.logic.azure.com:433/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke?{parameter-name=parameter-value}&api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}

    ブラウザーから応答が返され、Postal Code: 123456 というテキストが表示されます。The browser returns a response with this text: Postal Code: 123456

    コールバック URL に要求を送信したときの応答

  5. URL 内の別の位置にパラメーターの名前と値を置くには、たとえば次のように、プレフィックスとして必ずアンパサンド (&) を使用します。To put the parameter name and value in a different position within the URL, make sure to use the ampersand (&) as a prefix, for example:

    ...?api-version=2016-10-01&{parameter-name=parameter-value}&...

    次の例のコールバック URL では、サンプル パラメーターの名前と値 postalCode=123456 が URL 内の別の位置にあります。This example shows the callback URL with the sample parameter name and value postalCode=123456 in different positions within the URL:

    • 1 つ目の位置: https://prod-07.westus.logic.azure.com:433/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke?postalCode=123456&api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}1st position: https://prod-07.westus.logic.azure.com:433/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke?postalCode=123456&api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}

    • 2 つ目の位置: https://prod-07.westus.logic.azure.com:433/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke?api-version=2016-10-01&postalCode=123456&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}2nd position: https://prod-07.westus.logic.azure.com:433/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke?api-version=2016-10-01&postalCode=123456&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}

注意

ハッシュまたはシャープ記号 ( # ) を URI に含める場合、エンコードされたバージョン %25%23 を代わりに使用します。If you want to include the hash or pound symbol (#) in the URI, use this encoded version instead: %25%23

相対パス経由で値を受け取るAccept values through a relative path

  1. 要求トリガーで、 [新しいパラメーターの追加] 一覧を開き、 [相対パス] を選択します。それにより、トリガーにこのプロパティが追加されます。In the Request trigger, open the Add new parameter list, and select Relative path, which adds this property to the trigger.

    トリガーに [相対パス] プロパティを追加する

  2. [相対パス] プロパティで、URL で受け入れるようにする JSON スキーマ内のパラメーターの相対パス (/address/{postalCode} など) を指定します。In the Relative path property, specify the relative path for the parameter in your JSON schema that you want your URL to accept, for example, /address/{postalCode}.

    パラメーターの相対パスを指定する

  3. 要求トリガーの下で、パラメーター値を使用するアクションを追加します。Under the Request trigger, add the action where you want to use the parameter value. この例では、 [応答] アクションを追加します。For this example, add the Response action.

    1. 要求トリガーで、 [新しいステップ] > [アクションの追加] の順に選択します。Under the Request trigger, select New step > Add an action.

    2. [アクションを選択してください] の下の検索ボックス内に、フィルターとして「response」と入力します。Under Choose an action, in the search box, enter response as your filter. アクションの一覧から、 [応答] アクションを選択します。From the actions list, select the Response action.

  4. 応答アクションの [本文] プロパティで、トリガーの相対パスで指定したパラメーターを表すトークンを含めます。In the Response action's Body property, include the token that represents the parameter that you specified in your trigger's relative path.

    たとえば、応答アクションで Postal Code: {postalCode} を返すようにするとします。For example, suppose that you want the Response action to return Postal Code: {postalCode}.

    1. [本文] プロパティで、Postal Code: を末尾にスペースを付けて入力します。In the Body property, enter Postal Code: with a trailing space. 動的コンテンツの一覧が開いたままでいるように、編集ボックスの中にカーソルを置いたままにします。Keep your cursor inside the edit box so that the dynamic content list remains open.

    2. 動的コンテンツの一覧で、 [HTTP 要求の受信時] セクションから postalCode トークンを選択します。In the dynamic content list, from the When a HTTP request is received section, select the postalCode token.

      応答本文に指定したパラメーターを追加する

      [本文] プロパティに、選択されたパラメーターが含まれています。The Body property now includes the selected parameter:

      パラメーターを含む応答本文の例

  5. ロジック アプリを保存します。Save your logic app.

    要求トリガーでコールバック URL が更新され、たとえば次のように、相対パスが含まれます。In the Request trigger, the callback URL is updated and now includes the relative path, for example:

    https://prod-07.westus.logic.azure.com/workflows/{logic-app-resource-ID}/triggers/manual/paths/invoke/address/{postalCode}?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig={shared-access-signature}

  6. 呼び出し可能なエンドポイントをテストするには、要求トリガーから更新後のコールバック URL をコピーし、その URL を別のブラウザー ウィンドウに貼り付け、URL の {postalCode}123456 に変更し、Enter キーを押します。To test your callable endpoint, copy the updated callback URL from the Request trigger, paste the URL into another browser window, replace {postalCode} in the URL with 123456, and press Enter.

    ブラウザーから応答が返され、Postal Code: 123456 というテキストが表示されます。The browser returns a response with this text: Postal Code: 123456

    コールバック URL に要求を送信したときの応答

注意

ハッシュまたはシャープ記号 ( # ) を URI に含める場合、エンコードされたバージョン %25%23 を代わりに使用します。If you want to include the hash or pound symbol (#) in the URI, use this encoded version instead: %25%23

エンドポイント URL 経由でロジック アプリを呼び出すCall logic app through endpoint URL

エンドポイントを作成したら、そのエンドポイントの完全な URL に HTTPS POST 要求を送信することによってロジック アプリをトリガーできます。After you create the endpoint, you can trigger the logic app by sending an HTTPS POST request to the endpoint's full URL. ロジック アプリでは、直接アクセス エンドポイントの組み込みがサポートされています。Logic apps have built-in support for direct-access endpoints.

スキーマから生成されるトークンTokens generated from schema

要求トリガーで JSON スキーマを指定すると、ロジック アプリ デザイナーは、そのスキーマ内のプロパティ用のトークンを生成します。When you provide a JSON schema in the Request trigger, the Logic App Designer generates tokens for the properties in that schema. これらのトークンは、ロジック アプリのワークフローを介してデータを渡すために使用できます。You can then use those tokens for passing data through your logic app workflow.

たとえば、JSON スキーマにさらに多くのプロパティ ("suite" など) を追加した場合は、それらのプロパティ用のトークンをロジック アプリの後の手順で使用できます。For example, if you add more properties, such as "suite", to your JSON schema, tokens for those properties are available for you to use in the later steps for your logic app. 完全な JSON スキーマを次に示します。Here is the complete JSON schema:

   {
   "type": "object",
   "properties": {
      "address": {
         "type": "object",
         "properties": {
            "streetNumber": {
               "type": "string"
            },
            "streetName": {
               "type": "string"
            },
            "suite": {
               "type": "string"
            },
            "town": {
               "type": "string"
            },
            "postalCode": {
               "type": "string"
            }
         }
      }
   }
}

入れ子になったロジック アプリを作成するCreate nested logic apps

要求を受信できる他のロジック アプリを追加することで、ロジック アプリでワークフローを入れ子にできます。You can nest workflows in your logic app by adding other logic apps that can receive requests. これらのロジック アプリを含めるには、次の手順に従います。To include these logic apps, follow these steps:

  1. 別のロジック アプリを呼び出すステップで、 [新しいステップ] > [アクションの追加] の順に選択します。Under the step where you want to call another logic app, select New step > Add an action.

  2. [アクションを選択してください][Built-in](組み込み) を選択します。Under Choose an action, select Built-in. 検索ボックスに、フィルターとして「logic apps」と入力します。In the search box, enter logic apps as your filter. アクションの一覧から、 [Logic Apps ワークフローを選択する] を選択します。From the actions list, select Choose a Logic Apps workflow.

    ロジック アプリを現在のロジック アプリの内部で入れ子にする

    デザイナーには、選択の対象として有効なロジック アプリが表示されます。The designer shows the eligible logic apps for you to select.

  3. 現在のロジック アプリから呼び出すロジック アプリを選択します。Select the logic app to call from your current logic app.

    現在のロジック アプリから呼び出すロジック アプリを選択する

受信要求からコンテンツを参照するReference content from an incoming request

受信要求のコンテンツの種類が application/json である場合は、受信要求内のプロパティを参照できます。If the incoming request's content type is application/json, you can reference the properties in the incoming request. そうでない場合、このコンテンツは、他の API に渡すことができる 1 つのバイナリ ユニットとして扱われます。Otherwise, this content is treated as a single binary unit that you can pass to other APIs. このコンテンツをロジック アプリのワークフローの内部で参照するには、まず、そのコンテンツを変換する必要があります。To reference this content inside your logic app's workflow, you need to first convert that content.

たとえば、application/xml の種類を持つコンテンツを渡す場合は、@xpath()を使用して XPath 抽出を実行するか、または @json()を使用して XML を JSON に変換することができます。For example, if you're passing content that has application/xml type, you can use the @xpath() expression to perform an XPath extraction, or use the @json() expression for converting XML to JSON. 詳細については、サポートされているコンテンツの種類を参照してください。Learn more about working with supported content types.

受信要求から出力を取得するには、@triggerOutputsを使用できます。To get the output from an incoming request, you can use the @triggerOutputs expression. たとえば、次の例のような出力があるとします。For example, suppose you have output that looks like this example:

{
   "headers": {
      "content-type" : "application/json"
   },
   "body": {
      "myProperty" : "property value"
   }
}

明確に body プロパティにアクセスするには、@triggerBody()をショートカットとして使用できます。To access specifically the body property, you can use the @triggerBody() expression as a shortcut.

要求に応答するRespond to requests

ロジック アプリをトリガーする特定の要求に、呼び出し元にコンテンツを返すことによって応答したい場合があります。Sometimes you want to respond to certain requests that trigger your logic app by returning content to the caller. 応答の状態コード、ヘッダー、および本文を構築するには、応答アクションを使用します。To construct the status code, header, and body for your response, use the Response action. このアクションは、ワークフローの最後のみでなく、ロジック アプリの任意の場所に使用できます。This action can appear anywhere in your logic app, not just at the end of your workflow. ロジック アプリに応答アクションが含まれていない場合、エンドポイントは 202 Accepted 状態で直ちに応答します。If your logic app doesn't include a Response action, the endpoint responds immediately with the 202 Accepted status.

元の呼び出し元が応答を正常に取得するには、トリガーされたロジック アプリが入れ子になったロジック アプリとして呼び出されていない限り、応答のためにすべての必要な手順が要求タイムアウト制限内に完了する必要があります。For the original caller to successfully get the response, all the required steps for the response must finish within the request timeout limit unless the triggered logic app is called as a nested logic app. この制限内に応答が返されない場合、受信要求はタイムアウトし、408 Client timeout 応答を受信します。If no response is returned within this limit, the incoming request times out and receives the 408 Client timeout response.

入れ子になったロジック アプリの場合は、必要な時間の長さには関係なく、親ロジック アプリが引き続きすべての手順が完了するまで応答を待ちます。For nested logic apps, the parent logic app continues to wait for a response until all the steps are completed, regardless of how much time is required.

応答を作成するConstruct the response

応答本文には、複数のヘッダーと任意の種類のコンテンツを含めることができます。In the response body, you can include multiple headers and any type of content. たとえば、次の応答のヘッダーは、このトピックで要求トリガーについて先に説明した JSON スキーマに基づいて、この応答のコンテンツの種類が application/json であり、本文に town および postalCode プロパティの値が含まれることを指定しています。For example, this response's header specifies that the response's content type is application/json and that the body contains values for the town and postalCode properties, based on the JSON schema described earlier in this topic for the Request trigger.

HTTPS 応答アクションの応答コンテンツを指定する

応答には、次のプロパティがあります。Responses have these properties:

プロパティ (表示)Property (Display) プロパティ (JSON)Property (JSON) 説明Description
状態コードStatus Code statusCode 受信要求への応答で使用する HTTPS 状態コード。The HTTPS status code to use in the response for the incoming request. 2xx、4xx、または 5xx で始まる任意の有効な状態コードを使用できます。This code can be any valid status code that starts with 2xx, 4xx, or 5xx. ただし、3xx 状態コードは指定できません。However, 3xx status codes are not permitted.
ヘッダーHeaders headers 応答に含める 1 つ以上のヘッダーOne or more headers to include in the response
本文Body body 文字列、JSON オブジェクト、場合によっては前のステップから参照されるバイナリ コンテンツから成る本文オブジェクトA body object that can be a string, a JSON object, or even binary content referenced from a previous step

応答アクションの JSON 定義とロジック アプリの完全な JSON 定義を表示するには、ロジック アプリ デザイナーのツールバーで、 [コード ビュー] を選択します。To view the JSON definition for the Response action and your logic app's complete JSON definition, on the Logic App Designer toolbar, select Code view.

"Response": {
   "type": "Response",
   "kind": "http",
   "inputs": {
      "body": {
         "postalCode": "@triggerBody()?['address']?['postalCode']",
         "town": "@triggerBody()?['address']?['town']"
      },
      "headers": {
         "content-type": "application/json"
      },
      "statusCode": 200
   },
   "runAfter": {}
}

Q & AQ & A

Q:URL のセキュリティはどうなっていますか。Q: What about URL security?

A: Azure では、Shared Access Signature (SAS) を使用してロジック アプリのコールバック URL を安全に生成します。A: Azure securely generates logic app callback URLs by using Shared Access Signature (SAS). この署名はクエリ パラメーターとして渡され、ロジック アプリを実行する前に検証される必要があります。This signature passes through as a query parameter and must be validated before your logic app can run. Azure では、ロジック アプリごとの秘密キー、トリガー名、および実行される操作の一意の組み合わせを使用して署名が生成されます。Azure generates the signature using a unique combination of a secret key per logic app, the trigger name, and the operation that's performed. そのため、ロジック アプリの秘密キーにアクセスできなければ、有効な署名を生成することはできません。So unless someone has access to the secret logic app key, they cannot generate a valid signature.

重要

セキュリティの強化された運用環境のシステムでは、次の理由により、ブラウザーから直接ロジック アプリを呼び出さないことを強くお勧めします。For production and higher security systems, we strongly advise against calling your logic app directly from the browser for these reasons:

  • 共有アクセス キーが URL に表示されます。The shared access key appears in the URL.
  • Azure Logic Apps の顧客にまたがる共有ドメインのために、セキュリティ コンテンツ ポリシーを管理できません。You can't manage security content policies due to shared domains across Azure Logic Apps customers.

Q:呼び出し可能なエンドポイントをさらに構成することは可能でしょうか。Q: Can I configure callable endpoints further?

A: はい。HTTPS エンドポイントは、Azure API Management を通してより高度な構成をサポートしています。A: Yes, HTTPS endpoints support more advanced configuration through Azure API Management. このサービスでは、次のような、ロジック アプリを含むすべての API の一貫した管理、カスタム ドメイン名の設定、他の認証方法の使用などの機能も提供します。This service also offers the capability for you to consistently manage all your APIs, including logic apps, set up custom domain names, use more authentication methods, and more, for example:

次のステップNext steps