Condividi tramite


Usare un'app distribuita in un cluster Big Data di SQL Server tramite un servizio Web RESTful.

Si applica a: SQL Server 2019 (15.x)

Questo articolo descrive come usare un'applicazione distribuita in un cluster Big Data di SQL Server tramite un servizio Web RESTful.

Importante

Il componente aggiuntivo per i cluster Big Data di Microsoft SQL Server 2019 verrà ritirato. Il supporto per i cluster Big Data di SQL Server 2019 terminerà il 28 febbraio 2025. Tutti gli utenti esistenti di SQL Server 2019 con Software Assurance saranno completamente supportati nella piattaforma e fino a quel momento il software continuerà a ricevere aggiornamenti cumulativi di SQL Server. Per altre informazioni, vedere il post di blog relativo all'annuncio e Opzioni per i Big Data nella piattaforma Microsoft SQL Server.

Prerequisiti

Nota

Quando il file di specifiche YAML dell'applicazione definisce una pianificazione, l'applicazione viene attivata tramite un processo cron. Se il cluster Big Data viene distribuito in OpenShift, l'avvio del processo cron richiede funzionalità aggiuntive. Per istruzioni specifiche, vedere le considerazioni relative alla sicurezza in OpenShift.

Funzionalità

Dopo aver distribuito un'applicazione in un cluster Big Data di SQL Server 2019, è possibile accedervi e usarla tramite un servizio Web RESTful. In questo modo, è possibile integrare l'app da altri servizi o applicazioni, ad esempio un'app per dispositivi mobili o un sito Web. La tabella seguente descrive i comandi per la distribuzione di applicazioni che è possibile usare con azdata per ottenere informazioni sul servizio Web RESTful per l'app.

Comando Descrizione
azdata app describe Descrive un'applicazione.

È possibile ottenere informazioni con il parametro --help, come nell'esempio seguente:

azdata app describe --help

Le sezioni seguenti descrivono come recuperare un endpoint per un'applicazione e come usare il servizio Web RESTful per l'integrazione dell'applicazione.

Recuperare l'endpoint

I cluster Big Data offrono endpoint a cui è possibile accedere e che usano l'applicazione tramite un servizio Web RESTful. Lo scopo principale è quello di gestire l'interazione con altre applicazioni Web o applicazioni per dispositivi mobili ed essere più proattivi per tali architetture di microservizi. Il comando azdata app describe fornisce informazioni dettagliate sull'app, tra cui l'endpoint nel cluster. Viene usato in genere da uno sviluppatore di app per compilare un'app tramite il client Swagger e il servizio Web per interagire con l'app in modo RESTful.

Descrivere l'app eseguendo un comando simile all'esempio seguente:

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"
}

Prendere nota dell'indirizzo IP (10.1.1.3 in questo esempio) e del numero di porta (30080) nell'output.

In alternativa, è possibile trovare questa informazione facendo clic con il pulsante destro del mouse sull'opzione Gestisci nel server di Azure Data Studio, in cui sono visualizzati gli endpoint dei servizi elencati.

ADS End Point

Generare un token di accesso JWT

Per accedere al servizio Web RESTful per l'app distribuita, prima di tutto è necessario generare un token di accesso JWT. L'URL per il token di accesso dipende dalla versione del cluster Big Data.

Versione URL
GDR1 https://[IP]:[PORT]/docs/swagger.json
CU1 e versioni successive https://[IP]:[PORT]/api/v1/swagger.json

In base all'output dell'esempio precedente, la versione CU4, l'indirizzo IP del controller (10.1.1.3 nell'esempio) e il numero di porta (30080), l'URL sarà simile al seguente:

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

Per informazioni sulle versioni, vedere Cronologia delle versioni.

Aprire l'URL appropriato nel browser usando l'indirizzo IP e la porta recuperati eseguendo il comando describe in precedenza. Accedere con le stesse credenziali usate per azdata login.

Incollare il contenuto di swagger.json in Swagger Editor per determinare i metodi disponibili:

API Swagger

Si noti che l'app è costituita dal metodo GET e per ottenere il token userà il metodo POST. Poiché l'autenticazione per le app usa token JWT, è necessario ottenere un token usando lo strumento preferito per eseguire una chiamata POST al metodo token. Con lo stesso esempio, l'URL per ottenere il token JWT sarà simile al seguente:

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

Ecco un esempio di come eseguire questa operazione in Postman:

Postman Token

L'output di questa richiesta genera un access_token JWT, necessario per chiamare l'URL per l'esecuzione dell'app.

Eseguire l'app usando il servizio Web RESTful

Esistono diversi modi per usare un'app in un cluster Big Data di SQL Server. È possibile, ad esempio, scegliere di usare il comando azdata app run. Questa sezione illustra come usare comuni strumenti di sviluppo, come Postman, per eseguire l'app.

È possibile aprire l'URL per l'oggetto swagger restituito durante l'esecuzione di azdata app describe --name [appname] --version [version] nel browser, che dovrebbe essere simile a https://[IP]:[PORT]/app/[appname]/[version]/swagger.json.

Nota

Sarà necessario accedere con le stesse credenziali usate per azdata login. Con lo stesso esempio, il comando sarà simile al seguente:

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

È possibile incollare il contenuto di swagger.json in Swagger Editor. Si noterà che il servizio Web espone il metodo run, al di sotto del quale è stato eseguito il proxy di applicazione, costituito da un'API Web che autentica gli utenti e quindi instrada le richieste alle applicazioni. Si noti anche l'URL di base visualizzato nella parte superiore. È possibile usare lo strumento preferito per chiamare il metodo run (https://[IP]:30778/api/app/[appname]/[version]/run), passando i parametri nel corpo della richiesta POST come JSON.

In questo esempio viene usato Postman. Prima di eseguire la chiamata, è necessario impostare Authorization su Bearer Token e incollare il token recuperato in precedenza. In questo modo, verrà impostata un'intestazione per la richiesta. Vedere la schermata seguente.

Postman Run Headers

Nel corpo della richiesta passare quindi i parametri all'app che si sta chiamando e impostare content-type su application/json:

Postman Run Body

Quando si invia la richiesta, si otterrà lo stesso output restituito durante l'esecuzione dell'app tramite azdata app run:

Postman Run Result

L'app è stata chiamata tramite il servizio Web. È possibile seguire una procedura simile per integrare questo servizio Web nell'applicazione.

Passaggi successivi

Per altre informazioni, vedere Eseguire il monitoraggio delle applicazioni in cluster Big Data. È anche possibile fare riferimento ad altri esempi in Esempi di distribuzione di app.

Per altre informazioni sui cluster Big Data di SQL Server, vedere Che cosa sono i cluster Big Data di SQL Server 2019?.