Share via


使用 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 平台上的巨量資料選項

Prerequisites

注意

當應用程式的 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 用戶端的應用程式,並使用 Webservice 以 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 中,以滑鼠右鍵按一下伺服器的 [管理],您將在其中找到服務的端點清單。

ADS End Point

產生 JWT 存取權杖

若要存取您已部署之應用程式的 RESTful Web 服務,您必須先產生 JWT 存取權杖。 存取權杖的 URL 相依於巨量資料叢集的版本。

版本 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

以下是如何在 Postman \(英文\) 中執行此操作的範例:

Postman Token

此要求的輸出會提供 JWT access_token,呼叫 URL 以執行應用程式會需要此權杖。

使用 RESTful Web 服務執行應用程式

有多種方式可在 SQL Server 巨量資料叢集上取用應用程式,您可以選擇使用 azdata app run 命令。 本節會示範如何使用常見的開發人員工具 (例如 Postman) 來執行應用程式。

您可在瀏覽器中開啟執行 azdata app describe --name [appname] --version [version] 時所傳回的 swagger URL,其應類似 https://[IP]:[PORT]/app/[appname]/[version]/swagger.json

注意

您必須使用您用於 azdata login 的相同認證登入。 使用相同的範例,命令看起來會如同下列:

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

您可以貼入 Swagger 編輯器swagger.json 內容。 您將會看到 Web 服務公開 run 方法,且其底下會通過應用程式 Proxy,其為會驗證使用者並將要求路由傳送至應用程式的 Web API。 請注意顯示在頂端的基底 URL。 您可使用所選工具來呼叫 run 方法 (https://[IP]:30778/api/app/[appname]/[version]/run),並在 POST 要求主體中,以 JSON 格式來傳入參數。

在此範例中,我們將會使用 Postman \(英文\)。 進行呼叫之前,您必須先將 Authorization 設定為 Bearer Token,並貼入您先前擷取的權杖。 這會在您的要求上設定標頭。 請參閱下面的螢幕擷取畫面。

Postman Run Headers

接下來,在要求本文中,將參數傳入您要呼叫的應用程式,並將 content-type 設定為 application/json

Postman Run Body

當您傳送要求時,您得到的輸出會與透過 azdata app run 執行應用程式的輸出相同:

Postman Run Result

您現在已成功透過 Web 服務呼叫應用程式。 您可以遵循類似的步驟,在您的應用程式中整合此 Web 服務。

後續步驟

如需詳細資訊,請探索如何監視巨量資料叢集上的應用程式。 您也可以在應用程式部署範例中查看其他範例。

如需 SQL Server 巨量資料叢集的詳細資訊,請參閱什麼是 SQL Server 2019 巨量資料叢集