Instalación y ejecución del emulador de Azurite

El uso del emulador de Azurite permite a los desarrolladores realizar un seguimiento rápido del desarrollo de herramientas y aplicaciones basadas en la nube sin necesidad de conectividad a Internet.

En este artículo se proporcionan instrucciones para instalar y ejecutar Azurite, así como configurarlo para el desarrollo local. Para más información sobre el uso de Azurite, consulte Uso del emulador de Azurite para el desarrollo local de Azure Storage.

Azurite reemplaza al emulador de Azure Storage y continúa actualizándose para admitir las versiones más recientes de las API de Azure Storage.

Instalación de Azurite

Azurite se puede instalar y ejecutar mediante varios métodos, como npm, Docker y Visual Studio Code. En este vídeo se muestra cómo instalar y ejecutar el emulador de Azurite.

Los pasos del vídeo también se describen en las secciones siguientes. Seleccione cualquiera de estas pestañas para ver instrucciones específicas relevantes para su entorno.

Azurite está disponible automáticamente con Visual Studio 2022. El ejecutable de Azurite se actualiza como parte de los lanzamientos de nuevas versiones de Visual Studio. Si ejecuta una versión anterior de Visual Studio, puede instalar Azurite mediante node Administrador de paquetes (npm), DockerHub o clonando el repositorio de GitHub de Azurite.

Ejecución de Azurite

Seleccione cualquiera de las pestañas siguientes para ver instrucciones específicas relevantes para su entorno.

Para usar Azurite con la mayoría de los tipos de proyecto en Visual Studio, primero debe ejecutar el ejecutable de Azurite. Una vez que se está ejecutando el archivo ejecutable, Azurite escucha las solicitudes de conexión de la aplicación. Para más información, consulte Ejecución de Azurite desde la línea de comandos.

En el caso de los proyectos de Azure Functions y ASP.NET , puede elegir configurar el proyecto para iniciar Azurite automáticamente. Esta configuración se realiza durante la configuración del proyecto. Aunque esta configuración del proyecto inicia Azurite automáticamente, Visual Studio no expone opciones de configuración detalladas de Azurite. Para personalizar las opciones de configuración detalladas de Azurite, ejecute el ejecutable de Azurite antes de iniciar Visual Studio.

Para más información sobre cómo configurar proyectos de Azure Functions y proyectos de ASP.NET para iniciar Azurite automáticamente, consulte las instrucciones siguientes:

Ubicación del archivo ejecutable de Azurite

En la tabla siguiente se muestra la ubicación del ejecutable de Azurite para distintas versiones de Visual Studio que se ejecutan en un equipo Windows:

Versión de Visual Studio Ubicación ejecutable de Azurite
Comunidad Visual Studio 2022 C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator
Visual Studio Professional 2022 C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator
Visual Studio Enterprise 2022 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator

Ejecución de Azurite desde la línea de comandos

Puede encontrar el archivo ejecutable de Azurite en la carpeta extensions de la instalación de Visual Studio, como se detalla en la tabla de ubicación del archivo ejecutable de Azurite.

Vaya a la ubicación adecuada e inicie azurite.exe. Después de ejecutar el archivo ejecutable, Azurite escucha las conexiones.

Para obtener más información sobre las opciones de línea de comandos disponibles para configurar Azurite, consulte Opciones de línea de comandos.

Ejecución de Azurite desde un proyecto de Azure Functions

En Visual Studio 2022, cree un proyecto de Azure Functions . Al establecer las opciones del proyecto, marque el cuadro con la etiqueta Usar Azurite para la cuenta de almacenamiento en tiempo de ejecución.

Captura de pantalla que muestra cómo establecer Azurite para que sea la cuenta de almacenamiento en tiempo de ejecución de un proyecto de Azure Functions.

Después de crear el proyecto, Azurite se inicia automáticamente. La ubicación del archivo ejecutable de Azurite se detalla en la tabla de ubicación del archivo ejecutable de Azurite. La salida es similar a la siguiente captura de pantalla:

Captura de pantalla que muestra la salida después de establecer Azurite como la cuenta de almacenamiento en tiempo de ejecución de un proyecto de Azure Functions.

Esta opción de configuración se puede cambiar más adelante modificando las dependencias de servicios conectados del proyecto.

Ejecución de Azurite desde un proyecto de ASP.NET

En Visual Studio 2022, cree un proyecto ASP.NET Core Web App . A continuación, abra el cuadro de diálogo Servicios conectados , seleccione Agregar una dependencia de servicio y, a continuación, seleccione Emulador de Storage Azurite.

Captura de pantalla que muestra cómo agregar Azurite como dependencia a un proyecto de ASP.NET.

En el cuadro de diálogo Configurar emulador de almacenamiento Azurite, establezca el campo Nombre de la cadena de conexión en StorageConnectionString y, a continuación, seleccione Finalizar.

Captura de pantalla que muestra cómo configurar una cadena de conexión para usar Azurite con un proyecto de ASP.NET.

Cuando se complete la configuración, seleccione Cerrar y el emulador de Azurite se inicie automáticamente. La ubicación del archivo ejecutable de Azurite se detalla en la tabla de ubicación del archivo ejecutable de Azurite. La salida es similar a la siguiente captura de pantalla:

Captura de pantalla que muestra la salida después de conectar un proyecto de ASP.NET al emulador de Azurite.

Esta opción de configuración se puede cambiar más adelante modificando las dependencias de servicios conectados del proyecto.

Opciones de línea de comandos

En esta sección se detallan los modificadores de línea de comandos disponibles al iniciar Azurite.

Help

Opcional - Obtenga ayuda desde la línea de comandos mediante el modificador -h o --help.

azurite -h
azurite --help

Host de escucha

Opcional : de forma predeterminada, Azurite escucha 127.0.0.1 como servidor local. Use el interruptor --blobHost para configurar la dirección según sus necesidades.

Aceptar solicitudes solo en el equipo local:

azurite --blobHost 127.0.0.1

Permitir solicitudes remotas:

azurite --blobHost 0.0.0.0

Precaución

Permitir solicitudes remotas podría hacer que el sistema sea vulnerable a ataques externos.

Configuración del puerto de escucha

Opcional : de forma predeterminada, Azurite escucha blob service en el puerto 10000. Use el modificador --blobPort para especificar el puerto de escucha que necesite.

Nota:

Después de usar un puerto personalizado, debe actualizar la cadena de conexión o la configuración correspondiente en las herramientas o SDK de Azure Storage.

Personalice el puerto de escucha de Blob Service:

azurite --blobPort 8888

Deje que el sistema seleccione automáticamente un puerto disponible:

azurite --blobPort 0

El puerto en uso se muestra al iniciarse Azurite.

Ruta de acceso del espacio de trabajo

Opcional : Azurite almacena datos en el disco local durante la ejecución. Use el modificador -l o --location para especificar una ruta como ubicación del espacio de trabajo. De forma predeterminada, se usa el directorio de trabajo del proceso actual. Tenga en cuenta el "l" en minúsculas.

azurite -l c:\azurite
azurite --location c:\azurite

Registro de acceso

Opcional : de forma predeterminada, el registro de acceso se muestra en la ventana de la consola. Deshabilite la visualización del registro de acceso con el modificador -s o --silent.

azurite -s
azurite --silent

Registro de depuración

Opcional: el registro de depuración incluye información detallada sobre cada solicitud y el seguimiento de la pila de excepciones. Habilite el registro de depuración proporcionando una ruta de acceso local válida de archivo al modificador -d o --debug.

azurite -d path/debug.log
azurite --debug path/debug.log

Modo flexible

Opcional : de forma predeterminada, Azurite aplica el modo strict para bloquear los encabezados y parámetros de solicitud no admitidos. Deshabilite el modo estricto usando la opción -L o --loose. Tenga en cuenta la «L» mayúscula.

azurite -L
azurite --loose

Versión

Opcional - Muestra el número de versión instalada de Azurite con el modificador -v o --version.

azurite -v
azurite --version

Configuración del certificado (HTTPS)

Opcional : de forma predeterminada, Azurite usa el protocolo HTTP. Puede habilitar el modo HTTPS; para ello, proporcione una ruta de acceso a un correo con privacidad mejorada (.pem) o el archivo de certificado de Personal Information Exchange (.pfx) al modificador --cert. Se requiere HTTPS para conectarse a Azurite mediante la autenticación de OAuth.

Cuando se proporciona --cert para un archivo PEM, debe proporcionar un modificador de --key correspondiente.

azurite --cert path/server.pem --key path/key.pem

Cuando se proporciona --cert para un archivo PFX, debe proporcionar un modificador de --pwd correspondiente.

azurite --cert path/server.pfx --pwd pfxpassword

Configuración de HTTPS

Para obtener información detallada sobre cómo generar archivos PEM y PFX, consulte Configuración de HTTPS.

Configuración de OAuth

Opcional - Habilite la autenticación OAuth para Azurite con el modificador --oauth.

azurite --oauth basic --cert path/server.pem --key path/key.pem

Nota:

OAuth requiere un punto de conexión HTTPS. Asegúrese de que HTTPS está habilitado proporcionando para ello el modificador --cert junto con el modificador --oauth.

Azurite admite la autenticación básica mediante la especificación del parámetro basic en el modificador --oauth. Azurite realiza la autenticación básica, como la validación del token de portador entrante, la comprobación del emisor, la audiencia y la expiración. Azurite no comprueba la firma ni los permisos del token. Para más información sobre la autorización, consulte Conexión a Azurite con SDK y herramientas.

Omitir la comprobación de versión de la API

Opcional : al iniciarse, Azurite comprueba que la versión de API solicitada es válida. El siguiente comando omite la comprobación de la versión de la API:

azurite --skipApiVersionCheck

Deshabilitación de la URL de estilo de producción

Opcional. Cuando se utiliza el nombre de dominio completo en lugar de la dirección IP en el host de la URI de la solicitud, Azurite analiza el nombre de la cuenta de almacenamiento a partir del host de la URI de la solicitud de forma predeterminada. Puede forzar el análisis del nombre de la cuenta de almacenamiento desde la ruta de acceso del URI de solicitud mediante --disableProductStyleUrl:

azurite --disableProductStyleUrl

Persistencia en memoria

Opcional. De manera predeterminada, los metadatos de blobs y colas se conservan en el disco y el contenido se conserva en los archivos de extensión. Table Storage conserva todos los datos en el disco. Puede deshabilitar la conservación de los datos en el disco y almacenar solo los datos en memoria. En el escenario de persistencia en memoria, si se finaliza el proceso de Azurite, se pierden todos los datos. El comportamiento de persistencia predeterminado se puede invalidar mediante la opción siguiente:

azurite --inMemoryPersistence

Esta configuración se rechaza cuando está habilitada la implementación de metadatos basada en SQL (mediante AZURITE_DB) o cuando se especifica la opción --location.

Límite de extensión de memoria

Opcional. De forma predeterminada, el almacén de extensiones en memoria (para el contenido de blobs y colas) está limitado al 50 % de la memoria total en el equipo host. El total se evalúa mediante os.totalmem(). Este límite se puede invalidar mediante la siguiente opción:

azurite --extentMemoryLimit <megabytes>

No hay ninguna restricción en el valor especificado para esta opción. Sin embargo, la memoria virtual puede usarse si el límite supera la cantidad de memoria física disponible, tal como lo proporciona el sistema operativo. Un límite alto podría provocar errores de memoria insuficiente o un rendimiento reducido. Esta opción se rechaza cuando --inMemoryPersistence no se especifica.

Para más información, consulte Uso del almacenamiento en memoria.

Deshabilitación de la recopilación de telemetría

Opcional. De forma predeterminada, Azurite recopila datos de telemetría para ayudar a mejorar el producto. Use la opción para deshabilitar la --disableTelemetry recopilación de datos de telemetría para la ejecución actual de Azurite, como el siguiente comando:

azurite --disableTelemetry

Pasos siguientes