Запустить эмулятор хранения Azure в качестве сервиса

Мы используем Azure Storage Emulator на машинах разработки и сервере CI, чтобы иметь возможность локально использовать очереди хранения. Теперь каждый раз, когда я выхожу из Windows или перезагружается, мне нужно запустить эмулятор хранилища вручную.

Есть ли способ запустить эмулятор хранилища Azure в качестве службы, чтобы он автоматически запускался, когда Windows делает?

Ответ 1

Обновленный ответ после проверки параметров ответа Gaurav Mantris

Запуск командного файла, описанный Гаураром Мантри, открывает окно командной строки. Вот способ избежать этого:

  • Открыть планировщик заданий
  • Создать новую задачу
  • Добавьте триггер "При входе в систему" ​​
  • Добавьте действие "Начать программу" со следующими настройками:
    • Программа / Script: AzureStorageEmulator.exe
    • Добавить аргументы: start
    • Начните с: C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator (или где хранится эмулятор хранилища на вашем диске)

Ответ 2

Файлы эмулятора хранилища можно найти в C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator. Я заметил там командный файл под названием StartStorageEmulator.cmd.

Что вы можете создать ярлык этого файла в папке Startup (например, C:\Users\<your user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup). Затем, когда вы снова входите в систему, эмулятор хранилища запустится автоматически. [См. Инструкции здесь: http://www.tech-recipes.com/rx/28206/windows-8-how-to-add-applications-startup-folder/].

Другой альтернативой является создание новой задачи, которая запускает этот командный файл, и планировать запуск этой задачи при запуске компьютера. Более подробно см. Эту тему: Запустить пакетный файл при запуске.

Ответ 3

Одним из вариантов запуска любого не обслуживающего процесса, такого как консольное приложение, в качестве службы является использование диспетчера неосасывающих услуг в качестве хоста. (Исторически вы могли использовать SRVANY.EXE из Windows NT Resource Kit.)

Используя NSSM это так просто, как:

> choco install nssm -y
> nssm install AzureStorageEmulator "C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator\AzureStorageEmulator.exe" start -inprocess