SQL Writer
Esta guía te muestra cómo trabajar con Azure SQL Database localmente usando Azure Functions y SQLAlchemy. Este lab demuestra cómo procesar peticiones HTTP POST y persistir datos en una base de datos SQL local.
Prerrequisitos
Sección titulada «Prerrequisitos»- Docker instalado y en ejecución.
- Dev Containers extension instalada (opcional).
Cómo ejecutar
Sección titulada «Cómo ejecutar»-
Configurar el entorno:
Abre VS Code en la carpeta del proyecto y ejecuta este comando en la Paleta de Comandos:
Ventana de terminal > Dev Containers: Reopen in Container- Ejecuta el script de configuración para instalar herramientas y dependencias:
Ventana de terminal scripts/setup-mve.sh - Iniciar la infraestructura: Lanza los contenedores de SQL Edge y Azurite:
Ventana de terminal docker compose up -d
- Ejecuta el script de configuración para instalar herramientas y dependencias:
-
Iniciar Azurite: Desde la Paleta de Comandos, selecciona Azurite: Start Blob Service. Esto inicia el emulador de almacenamiento blob local requerido por el runtime de Azure Functions.
-
Iniciar el host de funciones:
Ventana de terminal func start -
Ejecutar el ejemplo:
Ventana de terminal python main.py
Validar resultados
Sección titulada «Validar resultados»Este lab incluye un perfil de conexión preconfigurado para la extensión SQL Server (mssql) en .vscode/settings.json.
- Abre la extensión SQL Server en VS Code.
- Selecciona el perfil de conexión
Azure SQL Edge (Local). - Ejecuta la siguiente consulta para verificar los datos:
SELECT * FROM Users;
Conecta usando los detalles de conexión definidos en .vscode/settings.json:
- Server
localhost. - Port
1433. - Database
UserDB.
Limpieza
Sección titulada «Limpieza»docker compose down -vSolución de problemas
Sección titulada «Solución de problemas»| Problema | Solución |
|---|---|
ImportError: libodbc.so.2 | Ejecuta scripts/setup-mve.sh para instalar las dependencias del sistema ODBC. |
Error AzureWebJobsStorage | Asegúrate de que el servicio Azurite Blob está iniciado (Azurite: Start Blob Service) y el puerto 10000 está disponible. |