使用 Azure 逻辑应用自定义连接器访问 API

已完成

作为印刷设计公司的首席开发人员,你希望通过 Azure 逻辑应用中的工作流调用内部自定义的 Web API。 API 根据相框尺寸计算相框价格。 若要通过 Azure 逻辑应用工作流访问 API,需要创建自己的连接器。

在本单元中,你将了解如何在 Azure 逻辑应用工作流中创建和使用自定义连接器。

为何选择自定义连接器?

有时,工作流方案需要的不仅仅是预生成的连接器。 假设你想通过工作流调用内部或自定义 API。 Azure 逻辑应用中的现成连接器不支持此方案。 你必须创建一个描述 API 的自定义连接器。 如果希望工作流响应 API 事件,则在连接器中定义触发器。 如果希望工作流调用 API,则在连接器中定义操作。

描述自定义连接器的 Web API

可以在 Azure 门户中创建自定义连接器并引用目标 API。 API 必须向自定义连接器描述自己。 这样,连接器可以向 Azure 逻辑应用提供正确的方法和参数。 在 API 中,可以使用 OpenAPI 定义或 Postman 集合实现此描述。 接下来介绍这两种描述 API 的方式。

Postman 应用

Postman 应用要求提供请求 URL 和任何所需的身份验证。 你还可以指定 API 密钥和内容类型以及 JSON 格式的请求正文定义。 如果通过 Postman 应用发送请求,API 将返回响应。 Postman 应用使用响应生成集合。 可以导出集合并用其向自定义连接器描述 API。

OpenAPI 定义

OpenAPI 定义文件是 JSON 格式的文件,可用于列出 API 的方法、参数和输出。 在 .NET 中,可以通过将 Swashbuckle NuGet 包添加到 API 的项目中创建 OpenAPI 文件。 然后,将以下代码添加到 Web API 的源代码:

  1. 在 Startup.cs 文件中,为 Swashbuckle 添加 using 语句:

    using Swashbuckle.AspNetCore.Swagger;
    
  2. 将以下代码添加到 ConfigureServices 方法中:

    services.AddSwaggerGen(c =>
    {
       c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
    });
    
  3. 将以下代码添加到 Configure 方法中:

    if (env.IsDevelopment())
    {
       // Enable middleware to serve generated Swagger as a JSON endpoint.
       app.UseSwagger();
    
       // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), 
       // specifying the Swagger JSON endpoint.
       app.UseSwaggerUI(c =>
       {
          c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
       });
    }
    

    部署时,此代码安装 Swagger UI,它是一个可用于测试 Web API 方法的网页。 该代码还会生成并发布一个 JSON 文件,该文件对 API 进行描述且符合 OpenAPI 标准。 你可以下载 JSON 文件并用其在 Azure 逻辑应用中创建自定义连接器。

    注意

    在上个练习中,你向 Azure 部署了预生成的 Web API。 默认情况下,此部署包含了上述 Swagger 代码。 在下个练习中,你会将 Swagger 创建的 OpenAPI 文件上传到自定义连接器。

在 Azure 门户中创建自定义连接器

将描述实现为 Postman 集合或 OpenAPI 定义文件后,可以通过以下概述步骤在 Azure 门户中生成自定义连接器:

  1. 使用“逻辑应用自定义连接器”资源类型新建 Azure 资源。

  2. 上传 Postman 集合或 OpenAPI 定义文件。

    Screenshot that shows how to upload an OpenAPI file for a custom connector.

  3. 按照设置向导的提示完成连接器的创建。

    例如,你可以指定开发人员在工作流设计器中看到的连接器名称。 你可以添加描述,以帮助开发人员配置安全连接并正确使用连接器。

  4. 保存新的连接器。

完成后,可以在 Azure 逻辑应用工作流中使用连接器。 下一个练习展示如何创建自己的连接器。