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:
Para instalar App Deploy como parte de Visual Studio Code descargue la extensión desde GitHub.
Inicie Visual Studio Code y vaya a la barra lateral Extensiones.
Haga clic en el menú contextual
…
de la parte superior de la barra lateral y seleccioneInstall from vsix
.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.
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.
Busque el punto de conexión que desea usar y conéctese al clúster.
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.
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:
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
enspec.yaml
- Tiene una función denominada
handler
que se considera elentrypoint
de la aplicación, como se muestra enspec.yaml
. Toma una entrada de cadena denominadamsg
y devuelve una salida de cadena de nombreout
. Se especifican en los elementosinputs
youtputs
despec.yaml
.
- Este es el archivo de código fuente especificado por
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
.
El estado de la aplicación en la barra lateral le notifica cuándo está listo para usarse:
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:
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:
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:
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:
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]
- Matriz
inputs:
x: [[A,B,C],[1,2,3]]
- Objeto
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.