Consumo de una aplicación implementada en Clústeres de macrodatos de SQL Server con un servicio web RESTful

Se aplica a: SQL Server 2019 (15.x)

En este artículo se explica cómo consumir una aplicación implementada en un clúster de macrodatos de SQL Server con un servicio web RESTful.

Importante

El complemento Clústeres de macrodatos de Microsoft SQL Server 2019 se va a retirar. La compatibilidad con Clústeres de macrodatos de SQL Server 2019 finalizará el 28 de febrero de 2025. Todos los usuarios existentes de SQL Server 2019 con Software Assurance serán totalmente compatibles con la plataforma, y el software se seguirá conservando a través de actualizaciones acumulativas de SQL Server hasta ese momento. Para más información, consulte la entrada de blog sobre el anuncio y Opciones de macrodatos en la plataforma Microsoft SQL Server.

Prerequisites

Nota:

Cuando el archivo de especificación YAML de la aplicación especifica una programación, la aplicación se desencadenará mediante un trabajo cron. Si el clúster de macrodatos se implementa en OpenShift, el inicio del trabajo Cron necesita funcionalidades adicionales. Vea los detalles relativos a las consideraciones de seguridad en OpenShift para obtener instrucciones específicas.

Capacidades

Después de haber implementado una aplicación en el Clústeres de macrodatos de SQL Server 2019, puede acceder a esa aplicación y consumirla mediante un servicio web RESTful. Esto permite la integración de esa aplicación desde otras aplicaciones o servicios (por ejemplo, una aplicación móvil o un sitio web). En la tabla siguiente se describen los comandos de implementación de aplicaciones que se pueden usar con azdata para obtener información sobre el servicio web RESTful de la aplicación.

Comando Descripción
azdata app describe Describe una aplicación.

Puede obtener ayuda con el parámetro --help, como en el ejemplo siguiente:

azdata app describe --help

En las secciones siguientes se explica cómo recuperar un punto de conexión de una aplicación y cómo trabajar con el servicio web RESTful para la integración de aplicaciones.

Recuperación del punto de conexión

Los clústeres de macrodatos proporcionan puntos de conexión a los que se puede acceder y que pueden consumir esa aplicación mediante un servicio web RESTful; el objetivo principal es facilitar la interacción con otras aplicaciones web o móviles, y que sea más proactiva para esa arquitectura de microservicios. El comando azdata app describe proporciona información detallada sobre la aplicación, incluido el punto final del clúster. Lo suelen usar los desarrolladores de aplicaciones para compilar una aplicación con el cliente de Swagger y con el servicio web para interactuar con la aplicación de manera RESTful.

Describa la aplicación al ejecutar un comando similar al siguiente ejemplo:

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

Anote la dirección IP (10.1.1.3 en este ejemplo) y el número de puerto (30080) de la salida.

Otra de las diversas formas de obtener esta información es hacer clic con el botón derecho en Administrar en el servidor de Azure Data Studio, donde encontrará los puntos de conexión de los servicios enumerados.

Punto de conexión de ADS

Generar un token de acceso JWT

Para acceder al servicio web RESTful de la aplicación que ha implementado, primero debe generar un token de acceso JWT. La dirección URL del token de acceso depende de la versión del clúster de macrodatos.

Versión URL
GDR1 https://[IP]:[PORT]/docs/swagger.json
CU1 y versiones posteriores https://[IP]:[PORT]/api/v1/swagger.json

En la salida del ejemplo anterior, la versión CU4 y la dirección IP del controlador (10.1.1.3 en el ejemplo) y el número de puerto (30080), la dirección URL sería similar a la siguiente:

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

Para información sobre la versión, consulte el historial de versiones.

Abra la dirección URL adecuada en el explorador con la dirección IP y el puerto que ha recuperado al ejecutar el comando describe arriba. Inicie sesión con las mismas credenciales que ha usado para azdata login.

Pegue el contenido de swagger.json en el editor de Swagger para conocer qué métodos están disponibles:

API de Swagger

Observe que app es el método GET y para obtener token se usaría el método POST. Dado que la autenticación de aplicaciones usa tokens JWT, necesita obtener un token mediante su herramienta favorita para realizar una llamada POST al método token. Con el mismo ejemplo, la dirección URL para obtener el token de JWT tendría este aspecto:

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

Este es un ejemplo de cómo hacer justamente eso en Postman:

Token de Postman

La salida de esta solicitud proporcionará un objeto access_token de JWT, que necesitará para llamar a la dirección URL a fin de ejecutar la aplicación.

Ejecutar la aplicación mediante el servicio web RESTful

Hay varias maneras de consumir una aplicación en Clústeres de macrodatos de SQL Server; puede elegir usar el comando azdata app run. En esta sección se muestra cómo usar herramientas de desarrollo comunes como Postman para ejecutar la aplicación.

Puede abrir la dirección URL de swagger que se ha devuelto al ejecutar azdata app describe --name [appname] --version [version] en el explorador, que debe ser similar a https://[IP]:[PORT]/app/[appname]/[version]/swagger.json.

Nota:

Tiene que iniciar sesión con las mismas credenciales que ha usado para azdata login. Con el mismo ejemplo, el comando tendría este aspecto:

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

Puede pegar el contenido de swagger.json en el editor de Swagger. Verá que el servicio web expone el método run y, por debajo, ha pasado a través del proxy de aplicación, que es una API web que autentica a los usuarios y, después, enruta las solicitudes a través de las aplicaciones. Observe la dirección URL base que se muestra en la parte superior. Puede usar la herramienta que prefiera para llamar al método run (https://[IP]:30778/api/app/[appname]/[version]/run), y pasar los parámetros en el cuerpo de la solicitud POST como código JSON.

En este ejemplo usaremos Postman. Antes de realizar la llamada, deberá establecer Authorization en Bearer Token y pegar el token recuperado anteriormente. Esto establece un encabezado en la solicitud. Vea la captura de pantalla siguiente.

Encabezados de ejecución de Postman

Después, en el cuerpo de las solicitudes, pase los parámetros a la aplicación a la que llama y establezca content-type en application/json:

Cuerpo de ejecución de Postman

Cuando envía la solicitud, obtendrá el mismo resultado que cuando ejecuta la aplicación mediante azdata app run:

Resultado de ejecución de Postman

Ahora ha llamado correctamente a la aplicación a través del servicio web. Puede seguir pasos similares para integrar este servicio web en la aplicación.

Pasos siguientes

Explore cómo supervisar las aplicaciones en clústeres de macrodatos para más información. También puede ver otros ejemplos en Ejemplos de implementación de aplicaciones.

Para obtener más información sobre Clústeres de macrodatos de SQL Server, vea ¿Qué son los Clústeres de macrodatos de SQL Server 2019?