概要

Microsoft Flow でカスタム コネクタを使うには、API の操作とパラメーターが記述された、言語に依存しない、コンピューターが読み取れるドキュメントである OpenAPI の定義を指定する必要があります。 既定の OpenAPI 仕様だけでなく、Microsoft Flow 用のカスタム コネクタを作成するときに使用できる拡張機能として、summary、x-ms-summary、description、x-ms-visibility、x-ms-dynamic-values、x-ms-dynamic-schema があります。

概要

操作のタイトルです。 例: "When a task is created" または "Create new lead"

適用対象:

  • 操作

summary-annotation

操作の概要の場合、文の先頭文字を大文字にすることをお勧めします。

x-ms-summary

エンティティのタイトルです。 例: "Task Name"、"Due Date"

適用対象:

  • パラメーター
  • 応答スキーマ

x-ms-summary-annotation

x-ms-summary では、単語の先頭を大文字とすることをお勧めします。

説明

操作の機能またはエンティティの形式と機能についての詳細な説明です。 例 - "This operation triggers when a task is added to your project"

適用対象:

  • 操作
  • パラメーター
  • 応答スキーマ

description-annotation

説明の場合は、文の先頭文字を大文字にすることをお勧めします。

x-ms-visibility

ユーザーに対するエンティティの可視性を決定します。 使用できる値は、importantadvancedinternal です。

ユーザーには常に、important とマークされている操作とパラメーターが最初に表示されます。 advanced とマークされている操作とパラメーターは [詳細] メニューでは非表示になります。 internal とマークされている操作とパラメーターは、ユーザーに対しては完全に非表示となります。

メモ:

パラメーターに internalrequired がマーク付けされている場合、このパラメーターには既定値を指定する必要があります

適用対象:

  • 操作
  • パラメーター
  • スキーマ

visibility-annotation

x-ms-dynamic-values

操作に対する入力パラメーターを収集するためのドロップダウンを設定できます。

適用対象:

  • パラメーター

dynamic-values

使用法:

パラメーター定義内に x-ms-dynamic-values オブジェクトを使用して、パラメーターに注釈を付けます。

メモ:

詳細については、Swagger の例を参照してください。 カスタム コネクタの UI では、ドロップダウンを構成することもできます。

プロパティ:

  • operationID [必須] - ドロップダウンを作成するために呼び出す操作を指定します。
  • value-path [必須] - パラメーターの値を参照する "value-collection" 内のオブジェクトのパス文字列値です。value-collection が指定されていない場合、応答は配列として評価されます。
  • value-title [省略可能] - 値の説明を参照する "value-collection" 内のオブジェクトのパス文字列値です。value-collection が指定されない場合、応答は配列として評価されます。
  • value-collection [省略可能] - 応答ペイロード内のオブジェクトの配列に対して評価するパス文字列です。
  • parameters [省略可能] - dynamic-values 操作を呼び出すのに必要な入力パラメーターをプロパティで指定するオブジェクトです。

例:

  "x-ms-dynamic-values": {
    "operationId": "PopulateDropdown",
    "value-path": "name",
    "value-title": "properties/displayName",
    "value-collection": "value",
    "parameters": {
      "staticParameter": "<value>",
      "dynamicParameter": {
        "parameter": "<value_to_pass_to_dynamicParameter>"
      }
    }
  }

OpenAPI のサンプル コード:

"/api/lists/{listID-dynamic}": {
      "get": {
        "description": "Get items from a single list - uses dynamic Values and outputs dynamic-schema",
        "summary": "Get's items from the selected list ",
        "operationId": "GetListItems",
        "parameters": [
          {
            "name": "listID-dynamic",
            "type": "string",
            "in": "path",
            "description": "Select List you want outputs from",
            "required": true,
            "x-ms-summary": "Select List",
            "x-ms-dynamic-values": {
              "operationId": "GetLists",
              "value-path": "id",
              "value-title": "name"
            }
          }
        ]

x-ms-dynamic-schema

フロー デザイナーにとって、このパラメーターのスキーマ (または応答) がもともと動的であるというヒントとなります。 このフィールドの値で定義されているように操作が呼び出され、スキーマを動的に検出します。 ユーザーから入力を得るための適切な UI や使用可能なフィールドを表示することができます。

適用対象:

  • パラメーター
  • 応答

ドロップダウンの選択に応じて入力フォームがどのように変化するかに注目してください

dynamic-schema-request

ドロップダウンの選択に応じて出力がどのように変化するかに注目してください

dynamic-schema-response

使用法:

x-ms-dynamic-schema オブジェクトを使用して、要求パラメーターまたは応答本文に注釈を設定します。

メモ:

詳細については、Swagger の例を参照してください

プロパティ:

  • operationID [必須] - スキーマを取得するために呼び出す操作を指定します。
  • parameters [必須] - dynamic-schema 操作を呼び出すのに必要な入力パラメーターをプロパティで指定するオブジェクトです。
  • value-path [省略可能] - スキーマを保持するプロパティを参照するパス文字列です。指定されない場合、応答についてはルート オブジェクトのプロパティ内にスキーマが格納されていると見なされます。

動的パラメーターのサンプル コード:

  {
    "name": "dynamicListSchema",
    "in": "body",
    "description": "Dynamic Schema of items in selected list",
    "schema": {
      "type": "object",
      "x-ms-dynamic-schema": {
        "operationId": "GetListSchema",
        "parameters": {
          "listID": {
            "parameter": "listID-dynamic"
          }
        },
        "value-path": "items"
      }
    }
  }

動的応答のサンプル コード:

"DynamicResponseGetListSchema": {
      "type": "object",
      "x-ms-dynamic-schema": {
        "operationId": "GetListSchema",
        "parameters": {
          "listID": {
            "parameter": "listID-dynamic"
          }
        },
        "value-path": "items"
      }
    }

次のステップ

カスタム コネクタを登録します

ASP.NET Web API を使用します

Azure Resource Manager API を登録します