Установка и запуск эмулятора Azurite

Использование эмулятора Azurite позволяет разработчикам быстро отслеживать облачное приложение и разработку инструментов без необходимости подключения к Интернету.

В этой статье приведены инструкции по установке и запуску Azurite, а также настройке ее для локальной разработки. Дополнительные сведения об использовании Azurite см. в статье "Использование эмулятора Azurite" для разработки локальной службы хранилища Azure.

Azurite заменяет эмулятор службы хранилища Azure и продолжает обновляться для поддержки последних версий API службы хранилища Azure.

Установка Azurite

Azurite можно установить и запустить с помощью различных методов, включая npm, Docker и Visual Studio Code. В этом видео показано, как установить и запустить эмулятор Azurite.

Действия в видео также описаны в следующих разделах. Выберите любую из этих вкладок, чтобы просмотреть конкретные инструкции, относящиеся к вашей среде.

Azurite автоматически доступен в Visual Studio 2022. Исполняемый файл Azurite обновляется при выпуске новых версий Visual Studio. Если вы используете более раннюю версию Visual Studio, вы можете установить Azurite с помощью диспетчера пакетов узлов (npm), DockerHub или клонирования репозитория Azurite GitHub.

Запустите Azurite

Выберите любую из следующих вкладок, чтобы просмотреть конкретные инструкции, относящиеся к вашей среде.

Чтобы использовать Azurite с большинством типов проектов в Visual Studio, сначала необходимо запустить исполняемый файл Azurite. После запуска исполняемого файла Azurite прослушивает запросы на подключение из приложения. Дополнительные сведения см. в статье "Запуск Azurite" из командной строки.

Для проектов Функций Azure и проектов ASP.NET можно настроить проект для автоматического запуска Azurite. Эта конфигурация выполняется во время настройки проекта. Хотя эта конфигурация проекта запускает Azurite автоматически, Visual Studio не предоставляет подробные параметры конфигурации Azurite. Чтобы настроить подробные параметры конфигурации Azurite, запустите исполняемый файл Azurite перед запуском Visual Studio.

Дополнительные сведения о настройке проектов Функций Azure и ASP.NET для автоматического запуска Azurite см. в следующих рекомендациях.

Расположение исполняемого файла Azurite

В следующей таблице показано расположение исполняемого файла Azurite для различных версий Visual Studio, работающих на компьютере Windows:

Версия Visual Studio Расположение исполняемого файла Azurite
Сообщество 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

Запуск Azurite из командной строки

Исполняемый файл Azurite можно найти в папке расширений установки Visual Studio, как описано в таблице расположения исполняемого файла Azurite.

Перейдите в нужное место и запустите azurite.exe. После запуска исполняемого файла Azurite прослушивает подключения.

Дополнительные сведения о доступных параметрах командной строки для настройки Azurite см. в разделе "Параметры командной строки".

Запуск Azurite из проекта Функции Azure

В Visual Studio 2022 создайте проект Функции Azure. При настройке параметров проекта пометьте поле с меткой "Использовать Azurite" для учетной записи хранения среды выполнения.

Снимок экрана, показывающий, как настроить Azurite в качестве учетной записи хранения среды выполнения для проекта Функции Azure.

После создания проекта Azurite запускается автоматически. Расположение исполняемого файла Azurite подробно описано в таблице расположения исполняемого файла Azurite. Выходные данные похожи на следующий снимок экрана:

Снимок экрана, показывающий результат после настройки Azurite в качестве учетной записи хранения среды выполнения для проекта Функции Azure.

Этот параметр конфигурации можно изменить позже, изменив зависимости подключенных служб проекта.

Запуск Azurite из проекта ASP.NET

В Visual Studio 2022 создайте проект ASP.NET Core Web App . Затем откройте диалоговое окно «Подключенные службы», выберите «Добавить зависимость службы», а затем — «эмулятор хранилища Azurite».

Снимок экрана: добавление Azurite в качестве зависимости в проект ASP.NET.

В диалоговом окне «Настройка эмулятора хранилища Azurite» в поле «Имя строки подключения» укажите значение StorageConnectionString, а затем нажмите «Готово».

Снимок экрана: настройка строки подключения для использования Azurite с проектом ASP.NET.

После завершения настройки нажмите кнопку "Закрыть", а эмулятор Azurite запускается автоматически. Расположение исполняемого файла Azurite подробно описано в таблице расположения исполняемого файла Azurite. Выходные данные похожи на следующий снимок экрана:

Снимок экрана: выходные данные после подключения проекта ASP.NET к эмулятору Azurite.

Этот параметр конфигурации можно изменить позже, изменив зависимости подключенных служб проекта.

Параметры командной строки

В этом разделе описаны параметры командной строки, доступные при запуске Azurite.

Help

Необязательно — получите справку в командной строке с помощью ключа -h или --help.

azurite -h
azurite --help

Прослушивающий узел

Необязательно . По умолчанию Azurite прослушивает 127.0.0.1 как локальный сервер. Используйте переключатель --blobHost , чтобы задать адрес вашим требованиям.

Примите запросы только на локальном компьютере:

azurite --blobHost 127.0.0.1

Разрешить удаленные запросы:

azurite --blobHost 0.0.0.0

Caution

Разрешение удаленных запросов может сделать систему уязвимой для внешних атак.

Настройка порта прослушивания

Необязательно . По умолчанию Azurite прослушивает службу BLOB-объектов через порт 10000. Используйте ключ --blobPort, чтобы указать нужный порт прослушивания.

Замечание

После использования настраиваемого порта необходимо обновить строку подключения или соответствующую конфигурацию в средствах хранилища Azure или пакетах SDK.

Настройте порт прослушивания службы BLOB:

azurite --blobPort 8888

Разрешите системе автоматически выбрать доступный порт:

azurite --blobPort 0

Используемый порт отображается во время запуска Azurite.

Путь к рабочей области

Необязательно . Azurite сохраняет данные на локальный диск во время выполнения. Используйте ключ -l или --location, чтобы указать путь в качестве расположения рабочей области. По умолчанию используется текущий рабочий каталог процесса. Обратите внимание на строчную букву l.

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

Журнал доступа

Необязательно. По умолчанию журнал доступа отображается в окне консоли. Отключите отображение журнала доступа с помощью -s или --silent переключения.

azurite -s
azurite --silent

Журнал отладки

Необязательно — журнал отладки содержит подробные сведения о каждом запросе и трассировке стека исключений. Включите журнал отладки, предоставив допустимый путь к локальному файлу -d или --debug переключателю.

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

Свободный режим

Необязательно . По умолчанию Azurite применяет строгий режим для блокировки неподдерживаемых заголовков и параметров запроса. Отключите строгий режим с помощью ключа -L или --loose. Обратите внимание на заглавную букву «L».

azurite -L
azurite --loose

Версия

Необязательно . Отображение установленного номера версии Azurite с помощью -v или --version переключателя.

azurite -v
azurite --version

Конфигурация сертификата (HTTPS)

Необязательно . По умолчанию Azurite использует протокол HTTP. Вы можете включить режим HTTPS, указав путь к файлу сертификата Privacy Enhanced Mail (.pem) или Personal Information Exchange (.pfx) для --cert параметра. Протокол HTTPS необходим для подключения к Azurite с помощью проверки подлинности OAuth.

Если --cert для PEM-файла предоставлено, необходимо указать соответствующий --key коммутатор.

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

Если --cert для PFX-файла предоставлено, необходимо указать соответствующий --pwd коммутатор.

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

Настройка HTTPS

Подробные сведения о создании PEM и PFX-файлов см. в разделе "Настройка HTTPS".

Конфигурация OAuth

Необязательно . Включите проверку подлинности OAuth для Azurite с помощью --oauth переключателя.

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

Замечание

Для OAuth требуется конечная точка HTTPS. Убедитесь, что HTTPS включен, указав ключ --cert вместе с ключом --oauth.

Azurite поддерживает базовую проверку подлинности, указав basic параметр для коммутатора --oauth . Azurite выполняет базовую аутентификацию, например проверяет входящий токен Bearer, издателя токена, аудиторию и срок действия. Azurite не проверяет подпись токена и разрешения. Дополнительные сведения об авторизации см. в статье "Подключение к Azurite" с помощью пакетов SDK и средств.

Пропустить проверку версии API

Необязательно . При запуске Azurite проверяет, является ли запрошенная версия API допустимой. Следующая команда пропускает проверку версии API:

azurite --skipApiVersionCheck

Отключить URL-адрес в стиле production

Необязательно. Если вместо IP-адреса в узле host URI запроса вы используете полностью определённое доменное имя, Azurite по умолчанию извлекает имя учётной записи хранения из узла host URI запроса. Вы можете принудительно выполнить синтаксический анализ имени учетной записи хранения из пути URI запроса с помощью --disableProductStyleUrl:

azurite --disableProductStyleUrl

Сохраняемость в памяти

Необязательно. По умолчанию метаданные BLOB-объектов и очередей хранятся на диске, а содержимое — в файлах экстентов. Хранилище таблиц сохраняет все данные на диске. Вы можете отключить сохранение любых данных на диске и хранить только данные в памяти. В сценарии сохраняемости в памяти, если процесс Azurite завершается, все данные теряются. Поведение сохраняемости по умолчанию можно переопределить с помощью следующего параметра:

azurite --inMemoryPersistence

Этот параметр отклоняется при включении реализации метаданных на основе SQL (через AZURITE_DB) или при указании --location параметра.

Ограничение памяти для экстентов

Необязательно. По умолчанию хранилище экстентов в памяти (для содержимого BLOB-объектов и очередей) может использовать не более 50 % от общего объема памяти хост-компьютера. Общее значение вычисляется с помощью os.totalmem(). Это ограничение можно переопределить с помощью следующего параметра:

azurite --extentMemoryLimit <megabytes>

Для этого параметра не задано ограничение. Однако виртуальная память может использоваться, если ограничение превышает объем доступной физической памяти, предоставляемой операционной системой. Высокий предел может в конечном итоге привести к ошибкам памяти или снижению производительности. Этот параметр отклоняется, если не указан --inMemoryPersistence.

Дополнительные сведения см. в статье "Использование хранилища в памяти".

Отключение сбора данных телеметрии

Необязательно. По умолчанию Azurite собирает данные телеметрии для улучшения продукта. Используйте параметр --disableTelemetry, чтобы отключить сбор телеметрических данных для текущего запуска Azurite, как в следующей команде:

azurite --disableTelemetry

Дальнейшие шаги