如何使用 Visual Studio Code 将应用程序部署到 SQL Server 大数据群集

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

本文介绍如何将应用程序部署到 SQL Server 大数据群集。 我们将使用 Microsoft Visual Studio Code 和应用部署扩展。

重要

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

先决条件

功能

应用部署扩展支持 Visual Studio Code 中的以下任务:

  • 使用 SQL Server 大数据群集进行身份验证。
  • 从 GitHub 存储库中检索应用程序模板,以部署支持的运行时。
  • 在用户的工作区中管理当前打开的应用程序模板。
  • 通过 YAML 格式的规范来部署应用程序。
  • 管理 SQL Server 大数据群集中已部署的应用。
  • 在侧边栏中显示已部署的所有应用以及附加信息。
  • 生成运行规范以使用应用或从群集中删除应用。
  • 通过运行规范 YAML 使用已部署的应用。

以下部分分步介绍应用部署的安装。 它们还概述了其工作原理。

如何在 Visual Studio Code 中安装应用部署扩展

在 Visual Studio Code 中,安装应用部署扩展:

  1. 若要在 Visual Studio Code 中安装应用部署,请从 GitHub 下载此扩展

  2. 启动 Visual Studio Code 并导航到“扩展”侧边栏。

  3. 单击侧边栏顶部的 Install from vsix 上下文菜单,然后选择

    安装 VSIX

  4. 找到已下载的 sqlservbdc-app-deploy.vsix 文件,然后选择它以进行安装。

成功安装应用部署后,它会提示重新加载 Visual Studio Code。 现在应该会在 Visual Studio Code 侧边栏中看到 SQL Server BDC 应用资源管理器。

加载应用资源管理器

选择边栏中的“扩展”图标。 侧面板加载并显示应用资源管理器。

显示应用资源管理器(不包含应用或应用规范)的屏幕截图。

连接到群集终结点

可以使用下列任意方法连接到群集终结点:

  • 单击底部显示 SQL Server BDC Disconnected 的状态栏。
  • 也可以单击顶部箭头指向门口的 Connect to Cluster 按钮。

Visual Studio Code 提示输入相应的终结点、用户名和密码。

通过端口 30080 连接到终结点 Cluster Management Service

还可以通过以下命令从命令行找到该终结点:

azdata bdc endpoint list

检索此信息的另一种方法是导航到 Azure Data Studio 中的服务器,然后右键单击“管理”。 列出了服务的终结点。

找到要使用的终结点,然后连接到群集。

新建连接

成功连接后,Visual Studio Code 通知你已连接到群集。 已部署的应用显示在边栏中,终结点和用户名将另存为 ./sqldbc 作为用户配置文件的一部分。 不会保存密码或令牌。 对于后续登录,提示会预先填充已保存的主机和用户名,但始终要求你输入密码。 如果要连接到其他群集终结点,请选择 New Connection。 退出 Visual Studio Code 以及打开其他工作区时,连接会自动关闭。 然后,需要重新连接。

创建应用模板

在 Visual Studio Code 中,在要保存应用项目的位置打开工作区。

若要从模板部署新应用,请在“应用规范”窗格中选择“新建应用模板”按钮。 提示询问你希望在本地计算机上什么位置保存名称、运行时和新应用。 提供的名称和版本应为 DNS-1035 标签,且必须由小写字母数字字符或“-”组成。 它们还需要以字母字符开头,以字母数字字符结尾。

最好将扩展放在当前 Visual Studio Code 工作区中。 这为你提供了扩展的完整功能。

新建应用模板

完成后,将在指定位置为你的一个新应用模板搭建基架,并在你的工作区中打开部署 spec.yaml。 如果你选择的目录位于你的工作区中,则会在“应用规范”窗格中列出:

加载的应用模板

新模板是一个简单的 helloworld 应用,在“应用规范”窗格中按如下方式布局:

  • spec.yaml
    • 告知群集如何部署应用
  • run-spec.yaml
    • 告知群集你希望如何调用应用

应用源代码位于“Workspace”文件夹中。

  • 源文件名称
    • 这是 spec.yamlsrc 指定的源代码文件
    • 该文件有一个名为 handler 的函数,它被视为应用的 entrypoint,如 spec.yaml 所示。 它采用名为 msg 的字符串输入,并返回一个名为 out 的字符串输出。 这些内容在 spec.yamlinputsoutputs 中指定。

如果要使用 spec.yaml 来部署应用(而不是基架模板),可以选择 New Deploy Spec 按钮,该按钮在 New App Template 按钮旁边。 现在,重复相同过程。 你只能收到 spec.yaml,你可以对其进行修改。

部署你的应用

可以通过 spec.yaml 中的 CodeLens Deploy App 立即部署应用,或选择 Lightning 文件夹按钮(该按钮位于 spec.yaml 文件旁边,在应用规范菜单中)。 扩展将压缩 spec.yaml 所在的目录中的所有文件。 然后,它会将应用部署到群集。

注意

spec.yaml 必须位于应用源代码目录的根级别。 此外,请确保所有应用文件都与 spec.yaml 位于同一目录中。

“部署应用”按钮

“部署应用”CodeLens

边栏中的应用状态会在准备好使用时通知你:

应用已部署

应用就绪侧边栏

应用就绪通知

从侧边栏,可以看到以下内容:

可以使用以下链接查看已部署的所有应用:

  • state
  • 版本
  • 输入参数
  • 输出参数
  • 链接
    • swagger
    • 详细信息

如果单击 links,可看到你可以访问已部署应用的 swagger.json。 这样便可以编写客户端来调用应用:

显示 Visual Studio Code UI 显示 swagger.json 文件的屏幕截图。

有关详细信息,请查看在大数据群集上使用应用程序

运行应用

应用准备就绪后,请使用 run-spec.yaml 调用它。 此文件作为应用模板的一部分提供:

运行规范

指定要替换 hello 的字符串。 然后通过“CodeLens”链接或侧边栏中的“Lightning”按钮再次运行应用。 如果未看到 run-spec 选项,请从群集中已部署的应用生成一个:

获取运行规范

编辑运行规范后,运行它。 Visual Studio Code 会在应用结束运行时返回反馈:

应用输出

在上一个屏幕截图中,你将看到输出在工作区的临时 .json 文件中提供。 如果要保留此输出,可以保存它。 否则,关闭时它会被删除。 如果应用没有要打印到文件的输出,则你只会收到 Successful App Run 状态通知。 如果运行没有成功,你会收到错误消息,它可以帮助你确定错误详情。

运行应用时,可以通过多种方式传递参数:

可以通过 .json 指定所需的所有输入,即:

  • inputs: ./example.json

指定调用已部署应用时的参数类型,且输入参数不是基元。 对于数组、矢量、数据帧、复杂 JSON 等:

  • 矢量
    • inputs:
      • x: [1, 2, 3]
  • 矩阵
    • inputs:
      • x: [[A,B,C],[1,2,3]]
  • Object
    • inputs:
      • x: {A: 1, B: 2, C: 3}

或者以你的应用要求的格式将字符串传递到 .txt.json.csv 文件。 在此示例中,文件分析基于 Node.js Path library,其中文件路径定义为 string that contains a / or \ character

如果未提供所需的输入参数,将显示错误消息。 如果给定了字符串文件路径,或者它指出参数无效,则它提供不正确的文件路径。 应用创建者需要确保他们了解他们定义的参数。

若要删除应用,请转到 Deployed Apps 侧窗格中的应用,然后选择垃圾桶图标。

后续步骤

如需了解如何将部署在 SQL Server 大数据群集 上的应用集成到自己的应用程序中,请参阅使用大数据群集上的应用程序获取详细信息。 也可以参考应用部署示例中的其他示例来试用扩展。

有关 SQL Server 大数据群集的详细信息,请参阅 SQL Server 2019 大数据群集简介

我们希望此扩展能够为你带来帮助,感谢你的反馈。 请将反馈发送给 SQL Server 团队