Ошибка эмулятора 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)
Ответы
Ответ 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