Azurite

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: github.com/Azure/Azurite

Azurite — открытый лёгкий эмулятор облачного хранилища Microsoft Azure Storage, реализованный на JavaScript и предназначенный для локальной разработки и тестирования приложений. Проект предоставляет совместимую с API Azure реализацию основных сервисов хранения данных, позволяя разработчикам запускать локальные экземпляры без подключения к облачной инфраструктуре. Azurite поддерживает привычные модели работы с объектами, очередями и табличными данными, воспроизводя поведение соответствующих сервисов Azure на уровне сетевых запросов и протоколов.

Эмулятор был разработан как инструмент для ускорения разработки, отладки и интеграционного тестирования приложений, использующих Azure Blob, Queue и Table Storage, и может применяться в локальных средах, контейнерах и системах непрерывной интеграции. Архитектура Azurite ориентирована на простоту развертывания и конфигурирования, реализована на Node.js и допускает различные варианты хранения данных на локальной файловой системе или в памяти. Несмотря на стремление к совместимости, некоторые продвинутые возможности и поведение облачных сервисов могут отличаться от реальной платформы Azure.

  • Поддерживаемые сервисы: эмуляция Blob Storage, Queue Storage и Table Storage с соответствующими REST-интерфейсами.
  • Совместимость с API: реализация основных HTTP-методов и заголовков, совместимых с действующими версиями REST-API Azure Storage для локального тестирования.
  • Реализация на Node.js: написан на JavaScript, легко устанавливается и запускается в средах, где доступен Node.js.
  • Локальное хранение: возможность сохранять данные на файловой системе или в оперативной памяти для удобства тестирования и удаляемых сред.
  • Конфигурация и расширяемость: параметры запуска, порты и пути хранения настраиваются, что позволяет интегрировать эмулятор в разнообразные рабочие процессы.
  • Использование в CI/CD: подходит для автоматизированных тестов и сборок, где нежелательно или неудобно использовать реальные облачные ресурсы.
  • Ограничения совместимости: некоторые расширенные особенности и гарантийные сценарии поведения облачного сервиса (например, сложные сценарии согласованности, шифрование на стороне сервера или специфичные политики доступа) могут отсутствовать или эмулироваться частично.
  • Документация и экосистема: набор команд и опций запуска, примеры использования и инструкции по интеграции обычно поставляются с проектом и позволяют быстро начать локальную разработку.
Подробнее