Поделиться через


Установка и запуск эмулятора 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 Community 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, предоставив путь к файлу сертификата с расширенным уровнем конфиденциальности (PEM) или PFX-файлу сертификата Обмена персональными данными--cert (PFX). Протокол 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 выполняет базовую проверку подлинности, например проверку входящего маркера носителя, проверку издателя, аудитории и истечения срока действия. Azurite не проверяет подпись маркера или разрешения. Дополнительные сведения об авторизации см. в статье "Подключение к Azurite" с помощью пакетов SDK и средств.

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

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

azurite --skipApiVersionCheck

Отключение URL-адреса в стиле рабочей среды

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

azurite --disableProductStyleUrl

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

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

azurite --inMemoryPersistence

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

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

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

azurite --extentMemoryLimit <megabytes>

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

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

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

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

azurite --disableTelemetry

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