Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El emulador de código abierto de Azurite proporciona un entorno local gratuito para probar las aplicaciones basadas en la nube. Cuando esté satisfecho con cómo funciona la aplicación localmente, cambie al uso de una cuenta de Azure Storage en la nube.
Azurite es un emulador de almacenamiento ligero escrito en JavaScript y se ejecuta en Node.js que simula el servicio Azure Storage para el desarrollo local. Admite los servicios Blob, Queue y Table Storage y proporciona compatibilidad multiplataforma con Windows, Linux y macOS. Para obtener ayuda con la instalación y ejecución de Azurite, consulte Instalación y ejecución del emulador de Azurite.
Azurite también permite a los desarrolladores ejecutar pruebas en un entorno de almacenamiento local, simulando el comportamiento de Azure, que es fundamental para la integración y las pruebas de un extremo a otro. Para obtener más información sobre cómo usar Azurite para pruebas automatizadas, consulte Uso de Azurite para ejecutar pruebas automatizadas.
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.
Diferencias entre Azurite y Azure Storage
Hay diferencias funcionales entre una instancia local de Azurite y una cuenta de Azure Storage en la nube.
Importante
Azurite solo admite los servicios Blob, Queue y Table Storage. No admite Azure Files ni Azure Data Lake Storage Gen2, pero proporciona compatibilidad multiplataforma en Windows, Linux y macOS.
Dirección URL de punto de conexión y conexión
Los puntos de conexión de servicio de Azurite son diferentes de los puntos de conexión de una cuenta de Azure Storage. El equipo local no realiza la resolución de nombres de dominio, lo que requiere que los puntos de conexión de Azurite sean direcciones locales.
Cuando direcciona un recurso en una cuenta de Azure Storage, el nombre de la cuenta forma parte del nombre de host del URI. El recurso que se está abordando forma parte de la ruta de acceso del URI:
<http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>
El siguiente URI es una dirección válida para un blob en una cuenta de Azure Storage:
https://myaccount.blob.core.windows.net/mycontainer/myblob.txt
Dirección URL de estilo IP
Dado que el equipo local no resuelve los nombres de dominio, el nombre de cuenta forma parte de la ruta de acceso del URI en lugar del nombre de host. Use el siguiente formato de URI para un recurso en Azurite:
http://<local-machine-address>:<port>/<account-name>/<resource-path>
Es posible que se use la siguiente dirección para acceder a un blob en Azurite:
http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt
Dirección URL de estilo de producción
Opcionalmente, puede modificar el archivo de hosts para acceder a una cuenta con dirección URL de estilo de producción .
En primer lugar, agregue una o varias líneas al archivo de hosts. Por ejemplo:
127.0.0.1 account1.blob.localhost
127.0.0.1 account1.queue.localhost
127.0.0.1 account1.table.localhost
A continuación, establezca las variables de entorno para habilitar las claves y las cuentas de almacenamiento personalizadas:
set AZURITE_ACCOUNTS="account1:key1:key2"
Puede agregar más cuentas. Consulte la sección Cuentas y claves de almacenamiento personalizado del artículo Conexión a Azurite .
Inicie Azurite y use una cadena de conexión personalizada para acceder a su cuenta. En el ejemplo siguiente, la cadena de conexión supone que se usan los puertos predeterminados.
DefaultEndpointsProtocol=http;AccountName=account1;AccountKey=key1;BlobEndpoint=http://account1.blob.localhost:10000;QueueEndpoint=http://account1.queue.localhost:10001;TableEndpoint=http://account1.table.localhost:10002;
No acceda a la cuenta predeterminada de esta manera con el Explorador de Azure Storage. Hay un error que indica que el Explorador de Storage siempre agrega el nombre de cuenta en la ruta de acceso de la dirección URL, lo que provoca errores.
De forma predeterminada, cuando se usa Azurite con una dirección URL de estilo de producción, el nombre de cuenta debe ser el nombre de host en el nombre de dominio completo, como http://devstoreaccount1.blob.localhost:10000/container. Para usar la dirección URL de estilo de producción con el nombre de cuenta en la ruta de acceso de dirección URL, como http://foo.bar.com:10000/devstoreaccount1/container, asegúrese de usar el --disableProductStyleUrl parámetro al iniciar Azurite.
Si usa host.docker.internal como host de URI de solicitud (por ejemplo: http://host.docker.internal:10000/devstoreaccount1/container), Azurite obtiene el nombre de la cuenta de la ruta de acceso del URI de solicitud. Este comportamiento es true independientemente de si se usa el --disableProductStyleUrl parámetro al iniciar Azurite.
Escalado y rendimiento
Azurite no admite un gran número de clientes conectados. No hay ninguna garantía de rendimiento. Azurite está pensado para fines de desarrollo y pruebas.
Control de errores
Azurite se alinea con la lógica de control de errores de Azure Storage, pero hay diferencias. Por ejemplo, los mensajes de error pueden ser diferentes, mientras que los códigos de estado de error se alinean.
RA-GRS
Azurite admite la replicación con redundancia geográfica con acceso de lectura (RA-GRS). Para los recursos de almacenamiento, acceda a la ubicación secundaria anexando -secondary al nombre de la cuenta. Por ejemplo, la siguiente dirección puede usarse para acceder a un blob mediante la secundaria de solo lectura en Azurite:
http://127.0.0.1:10000/devstoreaccount1-secondary/mycontainer/myblob.txt
Compatibilidad con tablas
La compatibilidad con tablas de Azurite está actualmente en versión preliminar. Para obtener más información, consulte el proyecto de tabla de Azurite V3 .
La compatibilidad con funciones duraderas requiere tablas.
Importante
La compatibilidad de Azurite con Table Storage está actualmente en versión preliminar. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
Azurite es de código abierto
Las contribuciones y sugerencias para Azurite son bienvenidos. Vaya a la página del proyecto de GitHub de Azurite o problemas de GitHub para hitos y elementos de trabajo que estamos realizando el seguimiento de las próximas características y correcciones de errores. También se realiza un seguimiento de los elementos de trabajo detallados en GitHub.
Estructura del área de trabajo
Es posible que se creen los siguientes archivos y carpetas en la ubicación del área de trabajo al inicializar Azurite.
-
__blobstorage__- Directorio que contiene datos binarios persistentes de Azurite Blob Service -
__queuestorage__- Directorio que contiene datos binarios persistentes del servicio de cola de Azurite -
__tablestorage__- Directorio que contiene datos binarios persistentes de Azurite Table Service -
__azurite_db_blob__.json- Archivo de metadatos de Azurite Blob Service -
__azurite_db_blob_extent__.json- Archivo de metadatos de extensión de Azurite Blob Service -
__azurite_db_queue__.json- Archivo de metadatos del servicio de cola de Azurite -
__azurite_db_queue_extent__.json- Archivo de metadatos de extensión de servicio de cola de Azurite -
__azurite_db_table__.json- Archivo de metadatos de Table Service de Azurite -
__azurite_db_table_extent__.json- Archivo de metadatos de extensión de table service de Azurite
Para limpiar Azurite, elimine los archivos y carpetas y reinicie el emulador.
Pasos siguientes
- Instalación y ejecución del emulador de Azurite describe cómo instalar y ejecutar Azurite en el equipo local.
- Conectarse a Azurite con SDK y herramientas explica cómo conectarse a Azurite mediante varios SDK y herramientas de Azure Storage.
- Use el emulador de Azure Storage para el desarrollo y las pruebas de documentos del emulador de Azure Storage heredado, reemplazado por Azurite.