web-dev-qa-db-fra.com

Erreur Azure Storage Emulator et ne démarre pas

Cette erreur me rend vraiment fou. (Terminal fonctionnant en mode administrateur)

Initialisation de l'émulateur de stockage Azure sur le serveur SQL 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.

Erreur lors du démarrage du serveur:

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)
46
BigChief

Vérifiez si vous utilisez BitTorrent/uTorrent ou un logiciel similaire utilisant le port 10000

Consultez le blog de Steve Marx sur le problème. http://blog.smarx.com/posts/windows-Azure-storage-emulator-the-process-cannot-access-the-file-because-it-is-being-by-another-process

Si cette publication disparaît, la commande permettant de vérifier si un autre logiciel utilise ce port est la suivante:

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

J'ai le même problème après la mise à jour des outils Azure (version 2.3). Après des heures de recherche, j'ai trouvé une solution étrange: définissez "Démarrer l'émulateur de stockage Windows Azure" sur "Faux" (dans les propriétés du projet Azure).

16
AChudov

Assurez-vous que l'utilisateur qui a initialisé l'émulateur est identique à l'utilisateur qui le démarre. Notez que si vous élevez en tant qu'utilisateur différent pour exécuter l'initialisation, l'initialisation ne s'applique qu'à cet utilisateur.

Si cela ne vous aide pas, vous pouvez essayer de lancer l'émulateur avec l'indicateur -inprocess pour obtenir un message d'erreur plus détaillé:

WAStorageEmulator start -inprocess

Résumer et ajouter des points supplémentaires aux autres réponses à cette question.

Ouvrez le fichier C:\Program Files (x86)\SDK Microsoft\Azure\Storage Emulator\AzureStorageEmulator.exe dans un bloc-notes ou un éditeur de bloc-notes ++ .. Regardez la section services.

<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>

Essayez d'ouvrir l'URL pour "Blob" dans un navigateur Web. Dans mon cas, c’est 

http://127.0.0.1:10000/

Si vous ne parvenez pas à ouvrir l'URL ou s'il y a une erreur, vous ne pouvez pas démarrer Azure Storage Emulator.

Essayez les étapes ci-dessous pour résoudre le problème.

1) Vérifiez si le port 10000 est occupé ou utilisé par un autre processus. 

Pour le savoir, vous pouvez taper la commande ci-dessous dans la commande Invite.

netstat -na | find "10000"

Tuez le processus.

Démarrez maintenant Azure Storage Emulator en mode de traitement.

Dans le type d'invite de commande de l'émulateur Azure Storage

AzureStorageEmulator.exe start -inprocess

Ctrl + c puis 

AzureStorageEmulator.exe start

Si cela ne résout pas le problème, essayez la deuxième étape.

2) Exécutez ceci 

netsh http add iplisten 127.0.0.1

puis dans le type d'invite de commande de l'émulateur Azure Storage

AzureStorageEmulator.exe start -inprocess

Ctrl + c puis 

AzureStorageEmulator.exe start
8
Ram Pratap

Exécutez l'invite de commande Microsoft Azure en tant qu'administrateur et essayez d'abord de l'initialiser à l'aide de l'initialisation AzureStorageEmulator.exe, puis démarrez à l'aide des commandes de démarrage AzureStorageEmulator.exe. Cela a fonctionné pour mon cas.

8
Geek

Il est également intéressant d’essayer d’exécuter la commande Invite avec: "Exécuter en tant qu’administrateur" .__, puis de lancer la commande suivante: C:\Program Files (x86)\Émulateur SDK\Microsoft\Azure\Storage .exe démarrer

Cela a fait le tour pour moi!

5
Don Bar

J'ai eu le même problème depuis que je devais rejoindre ma machine sur le domaine et le profil de l'utilisateur a été recréé . J'ai remarqué que cela commençait par l'option -inprocess from elevated cmd . Ensuite, j'ai réalisé que cela avait à voir avec urlac et moi avons résolu de supprimer les anciens avec les commandes suivantes: 

(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/

Après cela, démarrez simplement comme d'habitude, l'outil recréera ce qui est nécessaire… .. Maintenant, je peux l'utiliser sans élévation.

4
Riccardo

Une autre option consiste à modifier la liaison IP utilisée par l'émulateur dans le fichier de configuration situé dans le répertoire de l'émulateur de stockage. 

Trouvez wastorageemulator.exe.config .__ et changez 

<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>

Cela serait utile si une autre application utilise déjà ce port et que vous ne pouvez pas désinstaller. 

4
CrazyBernie

Il y a quelques informations ici qui pourraient aider:

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

Voir ce link .

2
Choco

J'ai rencontré le même problème. J'ai découvert que le port 10000 est utilisé par un autre processus. Dans mon cas, uTorrent l'utilisait. Ce pourrait être Bittorrent si c'est ce que vous utilisez. Après l'avoir désinstallé, la modification de mes données a démarré sans heurts.

Si votre téléchargeur de torrent signifie beaucoup pour vous, vous pouvez envisager de résoudre votre problème sous cet angle. J'espère que ça marche.

1
Williams Adu

Pour les utilisateurs de l'émulateur de documentdb nouvellement publié ... Microsoft a pensé qu'il serait judicieux que l'émulateur de documentdb utilise le même port que l'émulateur de stockage;) Le seul moyen d'accéder à votre stockage consiste à arrêter l'émulateur de documentdb et à redémarrer Visual Studio et le tour est joué, vous pouvez l'utiliser à nouveau: facepalm:

1
Hypi

C'est ce qui s'est passé récemment, parce que j'avais récemment installé l'émulateur HDInsight. Il semble que cela a été le démarrage automatique de l'émulateur de stockage provoquant une erreur lorsque VS a tenté de le démarrer, entraînant une erreur.

La définition de la valeur "Démarrer l'émulateur de stockage Microsoft Azure" sur Faux a également fonctionné dans ce cas.

1
SteveM1972

J'ai eu le même problème avec Visual Studio en essayant de faire fonctionner Azure Functions. AzureStorageEmulator.exe init a fonctionné pour moi

1
Preeti Joshi

Je viens juste de toucher ceci et il s’avère que Microsoft Teams utilisait le port 10000. Le fait de forcer les équipes à quitter a résolu le problème. ????

1
Paul Batum

Pour moi, rien ne fonctionnait sur les ports nécessaires. Le problème était que Visual Studio n'était pas démarré en mode Administrator et que le processus ne pouvait donc pas être démarré.

Lorsque je suis allé à la CLI Azure Storage Emulator depuis "Démarrer", une commande Shell qui est n'est également pas en mode administrateur, ce qui produit évidemment le même résultat.

Ouvrir une commande Shell en mode Admin a fait le travail.

1
Richard Hauer

si vous essayez de démarrer "Émulateur de stockage Azure" via Visual Studio => Explorateur de serveurs, assurez-vous de démarrer Visual Studio en tant qu'administrateur. J'ai pu résoudre ce problème en exécutant "Émulateur de stockage Azure" sur la commande Invite, en exécutant la commande Invite en tant qu'administrateur. 

0
Ajit Goel

Windows Backup Agent s'exécutait sur ma boîte VM sur le port 10000 - passage à 10003 (via le fichier .exe.config utilisé)

0
Rory Solley