Как заставить эмулятор cosmosdb предоставить порт приложению nodejs, работающему на OSX?

#azure-cosmosdb #azure-cosmosdb-emulator

#azure-cosmosdb #azure-cosmosdb-emulator

Вопрос:

Я прочитал эти инструкции по запуску эмулятора cosmosdb. Инструкции. Короче говоря, у меня есть виртуальная машина virtual box под управлением Windows. Я установил на него эмулятор cosmosdb. Я извлек IPv4-адрес из ipconfig.exe Я могу запустить эмулятор с помощью этой команды.

 Microsoft.Azure.Cosmos.Emulator.exe /AllowNetworkAccess /Key=C2y6yDjf5/R ob0N8A7Cgv30VRDJIWEHLM 4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
  

Я даже удалил данные, C:UsersUserAppDataLocalCosmosDBEmulator как было предложено сделать при первом запуске. Я создал приложение nodejs, которое выглядит следующим образом.

app.js

 const axios = require('axios').defau<

axios({
  method: 'get',
  url: 'http://10.0.2.15:8081/_explorer/index.html',
  timeout: 5000
}).then(function (response) {
    // handle success
    console.log("success");
    console.log(response);
  }, e => {
    console.log("ERROR: ")
    console.log(e);
  })
  

package.json

 {
  "name": "daniel",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "NODE_TLS_REJECT_UNAUTHORIZED=0 node app.js",
    "test": "echo "Error: no test specified" amp;amp; exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "axios": "^0.20.0"
  }
}
  

Однако, когда я запускаю npm run start для этого приложения узла вне виртуальной машины в OSX, время ожидания запроса истекает. Однако я могу перейти на веб-сайт https://10.0.2.15:8081/_explorer/index.html в виртуальной машине. Как мне заставить приложение nodejs работать так, чтобы оно могло вызывать эмулятор cosmosdb, работающий на виртуальной машине, извне виртуальной машины в OSX? Заранее спасибо.

Комментарии:

1. Не могли бы вы проверить, можете ли вы отправить запрос на виртуальную машину через порт 8081?

2. Понял. Я установил переадресацию портов, но я думаю, что cm так и не был перезапущен, из-за чего он не работал, а затем, после того как я перезапустил его, он внезапно начал работать

3. Поскольку вы решили проблему самостоятельно, пожалуйста, опубликуйте свое решение.

4. Хорошо, конечно, я сделаю это завтра

5. Все еще собираюсь это сделать. У меня не было времени. Я скажу. Если кто-нибудь из тех, кто работает с эмулятором cosmosdb, увидит это, я бы рекомендовал пройти инструкции как пользователь mac / java для настройки эмулятора cosmosdb. В этой документации много недостатков.