通过 RESTful Web 服务使用部署在 SQL Server 大数据群集 上的应用

适用范围:SQL Server 2019 (15.x)

本文介绍如何通过 RESTful Web 服务使用部署在 SQL Server 大数据群集上的应用。

重要

Microsoft SQL Server 2019 大数据群集附加产品将停用。 对 SQL Server 2019 大数据群集的支持将于 2025 年 2 月 28 日结束。 具有软件保障的 SQL Server 2019 的所有现有用户都将在平台上获得完全支持,在此之前,该软件将继续通过 SQL Server 累积更新进行维护。 有关详细信息,请参阅公告博客文章Microsoft SQL Server 平台上的大数据选项

必备条件

备注

当应用程序的 yaml 规范文件指定计划时,应用程序将通过 cron 作业触发。 如果大数据群集部署在 OpenShift 上,则启动 cron 作业需要其他功能。 有关具体说明,请参阅 OpenShift 安全注意事项的详细信息。

功能

将应用程序部署到 SQL Server 2019 大数据群集 后,可以通过 RESTful Web 服务访问和使用该应用程序。 这样就可以从其他应用程序或服务(例如,移动应用或网站)集成该应用。 下表介绍了一些应用程序部署命令,可将其与 azdata 配合使用,为应用获取有关 RESTful Web 服务的信息。

命令 描述
azdata app describe 描述应用程序。

可以获取有关 --help 参数的帮助,如以下示例中所示:

azdata app describe --help

以下部分介绍如何检索应用程序的终结点,以及如何使用 RESTful Web 服务进行应用程序集成。

检索终结点

大数据群集提供了可使用 RESTful Web 服务访问和使用该应用程序的终结点,主要目的是促进与其他 Web 应用程序或移动应用程序交互,并更主动地处理这些微服务体系结构。 azdata app describe 命令提供有关应用的详细信息,包括群集中的终结点。 应用开发人员通常使用此命令通过 swagger 客户端来生成应用,并使用 Web 服务以 RESTful 的方式与应用进行交互。

通过运行类似于下面示例的命令来描述应用:

azdata app describe --name add-app --version v1
{
  "input_param_defs": [
    {
      "name": "x",
      "type": "int"
    },
    {
      "name": "y",
      "type": "int"
    }
  ],
  "links": {
    "app": "https://10.1.1.3:30080/app/addpy/v1",
    "swagger": "https://10.1.1.3:30080/app/addpy/v1/swagger.json"
  },
  "name": "add-app",
  "output_param_defs": [
    {
      "name": "result",
      "type": "int"
    }
  ],
  "state": "Ready",
  "version": "v1"
}

注意输出中的 IP 地址(本例中为 10.1.1.3)和端口号 (30080)。

获取此信息的另一种方法是在 Azure Data Studio 的服务器上右键单击“管理”,你将在其中找到列出的服务的终结点。

生成 JWT 访问令牌

若要为已部署的应用访问 RESTful Web 服务,首先必须生成 JWT 访问令牌。 访问令牌的 URL 取决于大数据群集的版本。

版本 代码
GDR1 https://[IP]:[PORT]/docs/swagger.json
CU1 及更高版本 https://[IP]:[PORT]/api/v1/swagger.json

根据上一个示例的输出,CU4 版本、控制器的 IP 地址(示例中为 10.1.1.3)、端口号 (30080) 和 URL 如下所示:

   https://10.1.1.3 :30080/api/v1/swagger.json

有关版本信息,请参阅版本历史记录

使用通过运行 describe 命令检索到的 IP 地址和端口,在浏览器中打开相应 URL。 使用用于 azdata login 的相同凭据登录。

swagger.json 的内容粘贴到 Swagger 编辑器中,以了解可用的方法:

API Swagger

请注意,app 是 GET 方法,而获取 token 将使用 POST 方法。 由于应用的身份验证使用 JWT 令牌,因此需要使用自己喜欢的工具获取令牌,以便对 token 方法进行 POST 调用。 对于同一示例,用于获取 JWT 令牌的 URL 如下所示:

   https://10.1.1.3 :30080/api/v1/token

此请求的输出将提供一个 JWT access_token,在调用 URL 运行应用时需要用到。

使用 RESTful Web 服务执行应用

有多种方法来使用 SQL Server 大数据群集上的应用,你可选择使用 azdata app run 命令

可以打开在浏览器中运行 azdata app describe --name [appname] --version [version] 时返回的 swagger 的 URL,该 URL 应与 https://[IP]:[PORT]/app/[appname]/[version]/swagger.json 类似。

备注

必须使用用于 azdata login 的同一凭据登录。 对于同一示例,该命令如下所示:

   azdata app describe --name add-app --version v1

后续步骤

有关详细信息,请浏览如何在大数据群集上监视应用程序。 有关其他示例,请参阅应用部署示例

有关 SQL Server 大数据群集 的详细信息,请参阅什么是 SQL Server 2019 大数据群集