Подтвердить что ты не робот

Ошибка эмулятора Azure Storage Emulator и не запускается

Эта ошибка действительно сводит меня с ума. (Терминал работает в режиме администратора)

Инициализация эмулятора лазурной памяти в SQL Server 2014:

C:\Program Files (x86)\Microsoft SDKs\Windows Azure\Storage Emulator>.\wastorage
emulator init -server MY-PC
Windows Azure Storage Emulator 3.0.0.0 command line tool
The storage emulator was successfully initialized and is ready to use.

Ошибка при запуске сервера:

C:\Program Files (x86)\Microsoft SDKs\Windows Azure\Storage Emulator>.\wastorage
emulator start
Windows Azure Storage Emulator 3.0.0.0 command line tool

Unhandled Exception: System.TimeoutException: Unable to open wait handle.
   at Microsoft.WindowsAzure.Storage.Emulator.Controller.EmulatorProcessControll
er.InternalWaitForStorageEmulator(Int32 timeoutInMilliseconds)
   at Microsoft.WindowsAzure.Storage.Emulator.Controller.EmulatorProcessControll
er.EnsureRunning(Int32 timeoutInMilliseconds)
   at Microsoft.WindowsAzure.Storage.Emulator.StartCommand.RunCommand()
   at Microsoft.WindowsAzure.Storage.Emulator.Program.Main(String[] args)
4b9b3361

Ответ 1

Проверьте, работает ли BitTorrent/uTorrent или аналогичное программное обеспечение, используя порт 10000.

Проверьте сообщение блога Стив Маркса о проблеме. http://blog.smarx.com/posts/windows-azure-storage-emulator-the-process-cannot-access-the-file-because-it-is-being-used-by-another-process

Если сообщение исчезнет, ​​команда для проверки использования какого-либо другого программного обеспечения:

C:\Users\smarx>netstat -p tcp -ano | findstr :10000
  TCP    127.0.0.1:10000        0.0.0.0:0              LISTENING       3672

Ответ 2

У меня такая же проблема после обновления инструментов Azure (версия 2.3). После нескольких часов исследований я нашел странное решение - установите "Запустить эмулятор хранилища Windows Azure" на "False" (в свойствах проекта Azure).

Ответ 3

Подведение итогов и добавление дополнительных пунктов к другим ответам на этот вопрос.

Откройте файл C:\Program Files (x86)\Microsoft SDK\Azure\Storage Emulator\AzureStorageEmulator.exe в блокноте или в редакторе notepad ++. Посмотрите раздел услуг.

<services>
  <service name="Blob" url="http://127.0.0.1:10000/"/>
  <service name="Queue" url="http://127.0.0.1:10001/"/>
  <service name="Table" url="http://127.0.0.1:10002/"/>
</services>

Попробуйте открыть URL-адрес для "Blob" в веб-браузере. В моем случае это

http://127.0.0.1:10000/

Если вы не можете открыть URL-адрес или произошла ошибка, это причина, по которой вы не можете запустить Azure Storage Emulator.

Попробуйте выполнить шаги для решения проблемы.

1) Убедитесь, что порт 10000 занят или используется каким-либо другим процессом.

Чтобы узнать это, вы можете ввести следующую команду в командной строке

netstat -na | find "10000"

Убейте процесс.

Теперь запустите эмулятор Azure Storage Emulator в режиме in-process

В командной строке Azure Storage Emulator введите

AzureStorageEmulator.exe start -inprocess

Ctrl + c, а затем

AzureStorageEmulator.exe start

Если это не решило проблему, попробуйте выполнить второй шаг.

2) Запустите это

netsh http add iplisten 127.0.0.1

а затем в командной строке Azure Storage Emulator введите

AzureStorageEmulator.exe start -inprocess

Ctrl + c, а затем

AzureStorageEmulator.exe start

Ответ 4

Убедитесь, что пользователь, инициализирующий эмулятор, совпадает с пользователем, который запускает эмулятор. Обратите внимание: если вы выполняете инициализацию как другой пользователь, то инициализация применяется только к этому пользователю.

Если это не поможет, вы можете попробовать запустить эмулятор с помощью флага -inprocess, чтобы получить более подробное сообщение об ошибке:

WAStorageEmulator start -inprocess

Ответ 5

Запустите командную строку Microsoft Azure от имени администратора и попробуйте сначала выполнить инициализацию с помощью init AzureStorageEmulator.exe, а затем начните использовать команды запуска AzureStorageEmulator.exe. Это сработало для моего случая.

Ответ 6

Также стоит попробовать запустить командную строку с помощью команды "Запуск от имени администратора", а затем выполните команду: C:\Program Files (x86)\Microsoft SDK\Azure\Эмулятор хранилищa > AzureStorageEmulator.exe start

Это помогло!

Ответ 7

У меня была такая же проблема, так как мне пришлось подключиться к моей машине в домен, и профиль пользователя был воссоздан. Я заметил, что он начинался с опции -inprocess с повышенного cmd. Затем я понял, что это связано с urlac, и я решил удалить старые из следующих команд:

(from elevated cmd)
netsh http delete urlacl url=http://127.0.0.1:10000/
netsh http delete urlacl url=http://127.0.0.1:10001/
netsh http delete urlacl url=http://127.0.0.1:10002/

После этого просто начинайте, как обычно, инструмент воссоздает то, что необходимо. Теперь я могу использовать его без повышения.

Ответ 8

Другой вариант - изменить привязку ip, которую использует эмулятор в файле конфигурации, расположенном в каталоге эмулятора хранилища.

Найти istorageemulator.exe.config и измените

<services>
      <service name="Blob" url="http://127.0.0.1:10000/"/>
      <service name="Queue" url="http://127.0.0.1:10001/"/>
      <service name="Table" url="http://127.0.0.1:10002/"/>
   </services>

Это было бы полезно, если другое приложение уже использует этот порт, и вы не можете удалить его.

Ответ 9

Здесь есть некоторая информация, которая может помочь:

AzureStorageEmulator.exe init –server MyMachine –sqlinstance **.** –forcecreate –inprocess

Смотрите эту ссылку.

Ответ 10

Для меня не было ничего запущенного на необходимых портах, проблема была в том, что Visual Studio не запускался в режиме Administrator поэтому процесс не мог быть запущен.

Когда я заходил в CLI Azure Storage Emulator из "Пуск", он запускает командную оболочку, которая также не находится в режиме администратора, что, очевидно, дает тот же результат.

Открытие командной оболочки в режиме администратора сделало свою работу.

Ответ 11

У меня это случилось недавно, и это произошло потому, что я недавно установил эмулятор HDInsight. Похоже, что это был автоматический запуск эмулятора хранилища, вызвавший ошибку, когда VS попытался запустить его, что привело к ошибке.

Установка значения "Запустить эмулятор хранилища Microsoft Azure" в False также в этом случае.

Ответ 12

Я столкнулся с той же проблемой. Я узнал, что порт 10000 используется другим процессом. В моем случае utorrent использовал его. Это может быть Bittorrent, если это то, что вы используете. После его удаления он начал плавно с изменением моих данных.

Если ваш торрент-загрузчик для вас так много значит, вы можете решить проблему с этой точки зрения. Надеюсь, это сработает.

Ответ 13

Для пользователей недавно выпущенного эмулятора Documentdb... Microsoft подумала, что это хорошая идея, что эмулятор documentdb использует тот же порт, что и эмулятор хранения;) Единственный способ доступа к вашему хранилищу - это отключить эмулятор documentdb и перезапустите Visual Studio и вуаля, вы можете использовать его снова: facepalm:

Ответ 14

Я просто нажал на это, и оказалось, что Microsoft Teams использовала порт 10000. Принудительное завершение команды решило проблему. 🤷

Ответ 15

У меня возникла аналогичная проблема с Visual Studio при попытке запустить функции Azure. У меня работал init AzureStorageEmulator.exe init

Ответ 16

Если вы пытаетесь запустить "Эмулятор хранилища Azure" через Visual Studio => Обозреватель серверов, убедитесь, что вы запускаете Visual Studio от имени администратора. Я смог решить эту проблему, запустив "Эмулятор хранилища Azure" в командной строке, запустив командную строку от имени администратора.

Ответ 17

Агент резервного копирования Windows работал на моей виртуальной машине через порт 10000 - переход на 10003 (с помощью файла .exe.config работал)

Ответ 18

Большое спасибо. На моем ноутбуке есть процесс под названием "YunDetectService", который прослушивает порт 10000. Выключите его, и симулятор сможет запуститься.

Ответ 19

Сначала вы должны инициализировать базу данных эмулятора и начать настройку AzureStorageEmulator.exe от имени администратора с ключом init: AzureStorageEmulator.exe init

Затем, если вы по-прежнему получаете сообщение об ошибке:

Статус услуги: Blob http://127.0.0.1:10000/ False Процесс не может получить доступ к файлу, потому что он используется другим процессом Ошибка: невозможно запустить эмулятор хранилища.

попробуйте изменить 127.0.0.1 на localhost для всех служб в C:\Program Files (x86)\Microsoft SDK\Azure\Storage Emulator\AzureStorageEmulator.exe.config