Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эмулятор с открытым кодом Azurite предоставляет бесплатную локальную среду для тестирования облачных приложений. Если вы удовлетворены тем, как приложение работает локально, перейдите на использование учетной записи хранения Azure в облаке.
Azurite — это упрощенный эмулятор хранения, написанный на JavaScript, и запускается на Node.js, который имитирует службу хранилища Azure для локальной разработки. Она поддерживает службы хранилища BLOB-объектов, очередей и таблиц и обеспечивает кроссплатформенную поддержку в Windows, Linux и macOS. Сведения об установке и запуске Azurite см. в разделе "Установка и запуск эмулятора Azurite".
Azurite также позволяет разработчикам выполнять тесты в локальной среде хранения, имитируя поведение Azure, что является важным для интеграции и комплексного тестирования. Дополнительные сведения об использовании Azurite для автоматического тестирования см. в статье Об использовании Azurite для выполнения автоматических тестов.
Azurite заменяет эмулятор службы хранилища Azure и продолжает обновляться для поддержки последних версий API службы хранилища Azure.
Различия между Azurite и службой хранилища Azure
Существуют функциональные различия между локальным экземпляром Azurite и учетной записью хранения Azure в облаке.
Это важно
Azurite поддерживает только службы хранилища BLOB-объектов, очередей и таблиц. Она не поддерживает файлы Azure или Azure Data Lake Storage 2-го поколения, но обеспечивает кроссплатформенную поддержку в Windows, Linux и macOS.
URL-адрес конечной точки и подключения
Конечные точки службы для Azurite отличаются от конечных точек учетной записи хранения Azure. Локальный компьютер не выполняет разрешение доменных имен, из-за чего точки доступа Azurite должны быть локальными адресами.
При обращении к ресурсу в учетной записи Azure Storage, имя учетной записи является частью имени узла URI. Адрес ресурса является частью пути URI:
<http|https>://<account-name>.<service-name>.core.windows.net/<resource-path>
Следующий универсальный код ресурса (URI) — допустимый адрес для большого двоичного объекта в учетной записи хранения Azure:
https://myaccount.blob.core.windows.net/mycontainer/myblob.txt
URL-адрес в стиле IP
Так как локальный компьютер не разрешает доменные имена, имя учетной записи является частью пути URI вместо имени узла. Используйте следующий формат URI для ресурса в Azurite:
http://<local-machine-address>:<port>/<account-name>/<resource-path>
Для доступа к большому двоичному объекту в Azurite может использоваться следующий адрес:
http://127.0.0.1:10000/myaccount/mycontainer/myblob.txt
URL-адрес в стиле рабочей среды
При необходимости можно изменить файл узлов, чтобы получить доступ к учетной записи с URL-адресом в рабочем стиле .
Сначала добавьте одну или несколько строк в файл hosts. Рассмотрим пример.
127.0.0.1 account1.blob.localhost
127.0.0.1 account1.queue.localhost
127.0.0.1 account1.table.localhost
Затем задайте переменные среды, чтобы включить настраиваемые учетные записи хранения и ключи:
set AZURITE_ACCOUNTS="account1:key1:key2"
Можно добавить дополнительные учетные записи. См. раздел " Пользовательские учетные записи хранения и ключи " статьи "Подключение к Azurite ".
Запустите Azurite и используйте настраиваемую строку подключения для доступа к вашей учетной записи. В следующем примере строка подключения предполагает, что используются порты по умолчанию.
DefaultEndpointsProtocol=http;AccountName=account1;AccountKey=key1;BlobEndpoint=http://account1.blob.localhost:10000;QueueEndpoint=http://account1.queue.localhost:10001;TableEndpoint=http://account1.table.localhost:10002;
Не используйте обозреватель Azure Storage для доступа к учетной записи по умолчанию этим способом. Обозреватель хранилища всегда добавляет имя учетной записи в URL-путь, что приводит к сбоям.
По умолчанию при использовании Azurite с URL-адресом рабочего стиля имя учетной записи должно быть именем узла в полном доменном имени, например http://devstoreaccount1.blob.localhost:10000/container. Чтобы использовать URL-адрес в рабочем стиле с именем учетной записи в пути URL-адреса, например http://foo.bar.com:10000/devstoreaccount1/container, обязательно используйте --disableProductStyleUrl параметр при запуске Azurite.
Если вы используете host.docker.internal в качестве узла URI запроса (например, http://host.docker.internal:10000/devstoreaccount1/container), Azurite получает имя учетной записи из пути URI запроса. Это поведение верно независимо от того, используется --disableProductStyleUrl ли параметр при запуске Azurite.
Масштабирование и производительность
Azurite не поддерживает большое количество подключенных клиентов. Нет гарантии производительности. Azurite предназначен для разработки и тестирования.
Обработка ошибок
Azurite соответствует логике обработки ошибок службы хранилища Azure, но существуют различия. Например, сообщения об ошибках могут отличаться, тем временем коды состояния ошибок совпадают.
RA-GRS
Azurite поддерживает геоизбыточное репликацию с доступом для чтения (RA-GRS). Для ресурсов хранилища получите доступ к дополнительному расположению, добавив -secondary имя учетной записи. Например, следующий адрес может использоваться для доступа к большому двоичному объекту с помощью вторичного объекта только для чтения в Azurite:
http://127.0.0.1:10000/devstoreaccount1-secondary/mycontainer/myblob.txt
Поддержка таблиц
Поддержка таблиц в Azurite в настоящее время доступна в предварительной версии. Дополнительные сведения см. в проекте Azurite V3 Table.
Для поддержки устойчивых функций требуются таблицы.
Это важно
Поддержка Azurite для хранилища таблиц в настоящее время доступна в предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.
Azurite — это открытый исходный код
Взносы и предложения для Azurite приветствуются. Перейдите на страницу проекта Azurite GitHub или задачи на GitHub, чтобы ознакомиться с вехами и рабочими элементами, которые мы отслеживаем для предстоящих функций и исправлений ошибок. Подробные рабочие элементы также отслеживаются в GitHub.
Структура рабочей области
В расположении рабочей области при инициализации Azurite могут быть созданы следующие файлы и папки.
-
__blobstorage__— каталог, содержащий службу BLOB-объектов Azurite, сохраняемые двоичные данные -
__queuestorage__— Каталог, содержащий службу очередей Azurite, сохраняемые двоичные данные -
__tablestorage__— Каталог, содержащий службу таблиц Azurite, сохраняемые двоичные данные -
__azurite_db_blob__.json— файл метаданных службы BLOB-объектов Azurite -
__azurite_db_blob_extent__.json— файл метаданных экстентов службы BLOB-объектов Azurite -
__azurite_db_queue__.json— файл метаданных службы очередей Azurite -
__azurite_db_queue_extent__.json— файл метаданных экстентов службы очередей Azurite -
__azurite_db_table__.json— файл метаданных службы таблиц Azurite -
__azurite_db_table_extent__.json— файл метаданных экстентов службы таблиц Azurite
Чтобы очистить Azurite, удалите файлы и папки и перезапустите эмулятор.
Дальнейшие действия
- Установка и запуск эмулятора Azurite описывает установку и запуск Azurite на локальном компьютере.
- Подключение к Azurite с помощью пакетов SDK и средств объясняет, как подключиться к Azurite с помощью различных пакетов SDK и средств службы хранилища Azure.
- Используйте эмулятор службы хранилища Azure для разработки и тестирования документов, устаревший эмулятор службы хранилища Azure, замененный Azurite.