简介

已完成

Microsoft Power Platform 自定义连接器使用 OpenAPI(也称为 Swagger)定义来描述身份验证、操作、触发器及其参数。 OpenAPI 说明允许您定义扩展,从而增强核心定义以处理特定应用场景。 Microsoft 定义了 OpenAPI 定义的多个扩展,以便您配置自定义连接器支持的特定功能。

您可以通过在 OpenAPI 定义中查找 x-ms-<name> 来标识每个扩展。 当您使用设计器配置自定义连接器时,您可能已使用其中的一些定义,例如在操作参数上输入概要时(该参数使用 x-ms-summary 扩展来存储定义中的值)。 有些扩展只能直接通过设计器的 Swagger 编辑器来进行编辑,或导出连接器的定义进行编辑,然后再重新导入。 您可以找到自定义连接器支持的扩展的完整列表

本模块解释了以下扩展及其用途:

  • x-ms-capabilities - 用于连接器和操作级别定义,以指示所提供的功能。

  • x-ms-encoding - 指定路径参数的编码。

  • x-ms-dynamic-valuesx-ms-dynamic-list - 提供一个选项列表,供用户为操作选择输入参数。

  • x-ms-dynamic-schema - 允许您根据从 API 上的操作检索到的架构结果来动态生成参数和响应。

配置这些扩展的主要使用案例是使连接器使用起来更简单。 例如,如果没有动态值,创建者必须了解类型/查找参数的不友好的内部架构值或字符串。 通过配置动态值,可帮助提供用户友好的下拉列表,供创建者从中选择。

请注意,某些扩展还需要 API 的支持。 例如,动态架构要求 API 支持用于检索架构的操作。 如果您无法控制 API,则可能无法配置这些类型的扩展。

配置扩展

虽然某些 OpenAPI 扩展会在您使用设计器处理定义时进行配置,但本模块中涵盖的扩展不是这样。 要配置这些扩展,您必须使用以下方法之一:

  • 导入 OpenAPI - 导入 OpenAPI 文件时,该文件可能包含 Microsoft OpenAPI 扩展。

  • Microsoft Power Platform 连接器 CLI - 通过使用命令行工具 paconn,您可以下载 API 定义文件并使用您喜欢的 JSON 编辑器进行编辑。 完成编辑后,您可以使用 paconn 将修正后的定义重新上传到您的环境。 如果您需要对连接参数的 API 属性文件进行其他更改,则本方法最合适。

  • Microsoft Power Platform CLI - 通过使用命令行工具,您可以使用解决方案下载自定义连接器的 API 定义文件,并使用您喜欢的 JSON 编辑器进行编辑。 完成编辑后,您可以使用 CLI 将修正后的定义重新上传到您的解决方案中。 如果您需要对连接参数的 API 属性文件进行其他更改,并且自定义连接器位于解决方案中,则本方法最合适。

  • 内置 Swagger 编辑器 - 自定义连接器设计器具有内置的 OpenAPI 编辑器,这是添加 OpenAPI 扩展最快的方式。

使用 Swagger 编辑器

您可以通过在自定义设计器中的任何步骤中启用 Swagger 编辑器切换按钮来使 Swagger 编辑器显示。

启用编辑器后,左侧将显示 YAML Ain't Markup Language (YAML) 中的 OpenAPI 定义,右侧将显示验证消息(如果有)和操作列表。

如果您不熟悉 YAML,请注意它是一种用户友好的数据序列化标准,可帮助您对 YAML 内容进行更改、保存并由连接器运行时使用。

对于您将要进行的大部分更改,它都会提供一个入门示例。 要查找在 YAML 中进行的更改,可前往位于 Microsoft Power Platform 连接器 GitHub 存储库中的其他连接器中进行查找。 例如,如果要实现 x-ms-capability 扩展,您可以搜索存储库并了解其他连接器是如何配置的。

使用编辑器时,最好集中进行小幅更改。 在您键入时,编辑器会检查您的语法,并实时告知您是否出错以及错误的位置。

在 Swagger 编辑器中使用 YAML 的提示:

  • 缩进很重要 - 缩进是 YAML 说明的一部分,因此,请观察缩进是如何使用的,以进一步提供配置详情。

  • 左/右大括号 {} - 如果有一个左大括号 {,则必须有一个右大括号 }

  • 左/右方括号 [] - 如果有一个左括号,则必须有一个右括号。

  • Ctrl+F 进行查找 - 本键盘快捷方式用于在 YAML 中进行搜索。

  • Ctrl+Z 进行撤销 - 如果您发现出错,则使用 Ctrl+Z 键盘快捷方式撤消上次更改。

在本模块的其余部分中,您将了解如何使用某些 Microsoft OpenAPI 扩展来使自定义连接器更方便使用。