Cómo usar Visual Studio Code para implementar aplicaciones en Clústeres de macrodatos de SQL Server

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

Este artículo describe cómo implementar aplicaciones en un clúster de macrodatos de SQL Server. Usaremos Microsoft Visual Studio Code y la extensión App Deploy.

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.

Prerrequisitos

Capacidades

La extensión App Deploy admite las siguientes tareas en Visual Studio Code:

  • Se autentifica con el clúster de macrodatos de SQL Server.
  • Recupera una plantilla de aplicación desde el repositorio de GitHub para la implementación de runtime admitidos.
  • Administra las plantillas de aplicación actualmente abiertas en el área de trabajo del usuario.
  • Implementa una aplicación mediante una especificación en formato YAML.
  • Administra aplicaciones implementadas en un clúster de macrodatos de SQL Server.
  • Muestra todas las aplicaciones que se han implementado en la barra lateral con información adicional.
  • Genera una especificación de ejecución para consumir la aplicación o eliminarla del clúster.
  • Consume aplicaciones implementadas a través de una especificación de ejecución YAML.

En las secciones siguientes se describe la instalación de App Deploy. También proporcionan información general sobre cómo funciona.

Cómo instalar la extensión App Deploy en Visual Studio Code

En Visual Studio Code, instale la extensión App Deploy:

  1. Para instalar App Deploy como parte de Visual Studio Code descargue la extensión desde GitHub.

  2. Inicie Visual Studio Code y vaya a la barra lateral Extensiones.

  3. Haga clic en el menú contextual de la parte superior de la barra lateral y seleccione Install from vsix.

    Instalación de VSIX

  4. Busque el archivo sqlservbdc-app-deploy.vsix que ha descargado y selecciónelo para instalarlo.

Una vez que App Deploy se instala correctamente, se le pide que vuelva a cargar Visual Studio Code. Ahora debe ver el explorador de aplicaciones de clúster de macrodatos de SQL Server en la barra lateral de Visual Studio Code.

Cargar el Explorador de aplicaciones

Seleccione el icono de extensiones en la barra lateral. Un panel lateral se carga y muestra el Explorador de aplicaciones.

Captura de pantalla que muestra el Explorador de aplicaciones sin aplicaciones ni especificaciones de aplicaciones.

Conexión al punto de conexión del clúster

Puede utilizar cualquiera de los siguientes métodos para conectarse al punto de conexión del clúster:

  • Haga clic en la barra de estado de la parte inferior que indica SQL Server BDC Disconnected.
  • O haga clic en el botón Connect to Cluster de la parte superior con la flecha que apunta a una puerta.

Visual Studio Code pide el punto de conexión, el nombre de usuario y la contraseña adecuados.

Conéctese al punto de conexión Cluster Management Service con el puerto 30080.

También puede encontrar este punto de conexión desde la línea de comandos con el siguiente comando:

azdata bdc endpoint list

Otra manera de recuperar esta información es navegar al servidor en Azure Data Studio y hacer clic con el botón derecho en Administrar. Se muestran los puntos de conexión de los servicios.

Punto de conexión de ADS

Busque el punto de conexión que desea usar y conéctese al clúster.

Nueva conexión

Tras una conexión correcta, Visual Studio Code le notifica que está conectado al clúster. Las aplicaciones implementadas se muestran en la barra lateral y el punto de conexión y el nombre de usuario se guardan en ./sqldbc como parte del perfil de usuario. Nunca se guardan las contraseñas ni los tokens. Con los inicios de sesión posteriores, el símbolo del sistema rellena previamente el host y el nombre de usuario guardados, pero siempre requiere que escriba una contraseña. Si quiere conectarse a otro punto de conexión del clúster, seleccione New Connection. La conexión se cierra automáticamente al salir de Visual Studio Code y al abrir un área de trabajo diferente. A continuación, tendrá que volver a conectarse.

Creación de una plantilla de aplicación

En Visual Studio Code, abra un área de trabajo en la ubicación donde desea guardar los artefactos de la aplicación.

Para implementar una nueva aplicación desde una plantilla, seleccione el botón Nueva plantilla de aplicación en el panel Especificaciones de la aplicación. Un aviso le pregunta dónde está en el equipo local que desea guardar el nombre, el tiempo de ejecución y la nueva aplicación. El nombre y versión que proporcione debería ser una etiqueta DNS-1035 y debería estar formado por caracteres alfanuméricos en minúscula o "-". También deben comenzar con un carácter alfabético y terminar con un carácter alfanumérico.

Preferiblemente coloque la extensión en el área de trabajo de Visual Studio Code actual. Esto proporciona la funcionalidad completa de la extensión.

Plantilla de nueva aplicación

Una vez completada, se aplica scaffolding a una plantilla de nueva aplicación en la ubicación especificada y la implementación spec.yaml se abre en el área de trabajo. Si el directorio seleccionado está en el área de trabajo, se mostrará en el panel Especificaciones de la aplicación:

Plantilla de aplicación cargada

La nueva plantilla es una aplicación helloworld sencilla dispuesta como se muestra en el panel Especificaciones de la aplicación:

  • spec.yaml
    • Indica al clúster cómo implementar la aplicación
  • run-spec.yaml
    • Indica al clúster cómo quiere denominar a la aplicación

El código fuente de la aplicación se encuentra en la carpeta Workspace.

  • Nombre del archivo de origen
    • Este es el archivo de código fuente especificado por src en spec.yaml
    • Tiene una función denominada handler que se considera el entrypoint de la aplicación, como se muestra en spec.yaml. Toma una entrada de cadena denominada msg y devuelve una salida de cadena de nombre out. Se especifican en los elementos inputs y outputs de spec.yaml.

Para usar spec.yaml para implementar una aplicación en lugar de una plantilla con scaffolding, seleccione el botón New Deploy Spec, que se encuentra junto al botón New App Template. Ahora repita el mismo proceso. Solo recibirá el spec.yaml, que es libre de modificar.

Implementación de la aplicación

Puede implementar su aplicación al instante a través de CodeLens Deploy App en el spec.yaml o seleccionar el botón Carpeta de relámpago junto al archivo spec.yaml, en el menú Especificaciones de la aplicación. La extensión comprimirá todos los archivos en el directorio donde se encuentra spec.yaml. A continuación, implementará la aplicación en el clúster.

Nota:

spec.yaml debe estar en el nivel raíz del directorio de código fuente de la aplicación. Asegúrese también de que todos los archivos de la aplicación están en el mismo directorio que spec.yaml.

Botón Implementar aplicación

CodeLens Implementar aplicación

El estado de la aplicación en la barra lateral le notifica cuándo está listo para usarse:

Aplicación implementada

Barra lateral Aplicación lista

Notificación Aplicación lista

En el panel lateral, puede ver lo siguiente:

Puede ver todas las aplicaciones que ha implementado con los vínculos siguientes:

  • state
  • version
  • parámetros de entrada
  • parámetros de salida
  • vínculos
    • swagger
    • detalles

Si hace clic en links, verá que puede acceder a la swagger.json de su aplicación implementada. Esto le permite escribir clientes para llamar a la aplicación:

Captura de pantalla que muestra la UI de Visual Studio Code mostrando el archivo swagger.json.

Para más información, consulte Consumo de aplicaciones en clústeres de macrodatos.

Ejecutar la aplicación

Una vez que la aplicación esté lista, llámela con run-spec.yaml. Este archivo se proporciona como parte de la plantilla de aplicación:

Especificación de ejecución

Especifique una cadena para reemplazar hello. A continuación, vuelva a ejecutar la aplicación a través del vínculo CodeLens o el botón Lightning en la barra lateral. Si no ve la opción run-spec, genere una desde la aplicación implementada en el clúster:

Obtención de especificación de ejecución

Una vez que haya editado su especificación de ejecución, ejecútela. Visual Studio Code devuelve información cuando la aplicación termina de ejecutarse:

Salida de aplicación

En la captura de pantalla anterior, verá que la salida se proporciona en un archivo temporal .json en el área de trabajo. Si desea conservar esta salida, puede guardarla. De lo contrario, se elimina al cerrarse. Si la aplicación no tiene ninguna salida para imprimir en un archivo, solo recibirá la notificación de estado Successful App Run. Si no se ha producido una ejecución correcta, se recibe un mensaje de error que ayuda a determinar lo que está mal.

Al ejecutar una aplicación, hay varias maneras de pasar parámetros:

Puede especificar todas las entradas necesarias a través de un .json, es decir:

  • inputs: ./example.json

Especifique el tipo de parámetro en línea cuando se llama a una aplicación implementada y los parámetros de entrada no son primitivos. Por lo tanto, con matrices, vectores, tramas de datos, JSON complejos, etc.:

  • Vector
    • inputs:
      • x: [1, 2, 3]
  • Matrix
    • inputs:
      • x: [[A,B,C],[1,2,3]]
  • Object
    • inputs:
      • x: {A: 1, B: 2, C: 3}

O pase una cadena a un archivo .txt, .json, o .csv en el formato que requiere la aplicación. En este caso, el análisis de archivos se basa en Node.js Path library, donde una ruta de acceso de archivo se define como string that contains a / or \ character.

Si no se proporciona un parámetro de entrada necesario, se muestra un mensaje de error. Proporciona la ruta de acceso de archivo incorrecta si se ha proporcionado una ruta de acceso de archivo de cadena o indica que el parámetro no era válido. El creador de la aplicación debe asegurarse de que comprende los parámetros que definen.

Para eliminar una aplicación, vaya a la aplicación en el panel lateral Deployed Apps y seleccione el icono de papelera.

Pasos siguientes

Averigüe cómo integrar aplicaciones implementadas en Clústeres de macrodatos de SQL Server en aplicaciones propias en Consumo de aplicaciones en clústeres de macrodatos para obtener más información. También puede ver los ejemplos adicionales de Ejemplos de implementación de aplicaciones para probar la extensión.

Para obtener más información sobre Clústeres de macrodatos de SQL Server, vea Presentación de Clústeres de macrodatos de SQL Server 2019.

Nuestro objetivo es que esta extensión le resulte útil y le agradecemos sus comentarios. Envíelos al equipo de SQL Server.