Версия node.js набора службы Azure Bot не работает

Указание версии Node.js в службе Azure Bot не работает.

На портале Azure перейдите к экземпляру службы бота, затем в параметрах приложения задайте для переменной среды WEBSITE_NODE_DEFAULT_VERSION значение 7.7.4, которое является самой последней версией, доступной на 22 мая 2017 г. Однако оказывается, что время выполнения node.js по-прежнему v6.5.0!

В Kudu -> Environment это показывает:

WEBSITE_NODE_DEFAULT_VERSION = 7.7.4

и

Path = D:\home\site\deployments\tools;... D:\Program Files (x86)\nodejs\7.7.4;...

Не удалось найти, где была установлена ​​эта версия v6.5.0 node.js. Может в настройках IIS? Было бы хорошо, если бы служба Azure Bot позволяла использовать настроенную версию node.js, а не версию с отставанием, предоставляемую системой. Так есть ли исправление или обходной путь? Спасибо.


person Marshal    schedule 22.05.2017    source источник


Ответы (2)


В настоящее время служба Azure Bot (предварительная версия) поддерживает только Node.js версии 6.5 LTS и не предоставляет каких-либо расширенных параметров конфигурации версии, как вы описали.

Помните, что при создании бота с помощью службы Azure Bot (предварительная версия) вы создаете приложение функций Azure (в фоновом режиме). Версия Node.js для функций Azure заблокирована на уровне 6.5 как описано в их документации.

Версия узла в настоящее время заблокирована на уровне 6.5.0. Мы изучаем возможность добавления поддержки большего количества версий и возможности настройки.

Если вы хотите установить и запустить определенную версию Node.js, вам потребуется установить виртуальную машину и настроить ее в соответствии со своими требованиями.

Кроме того, вы можете развернуть своего бота SDK (то есть без использования функций Azure) в службе приложений Azure в Linux (предварительная версия), что позволит вам выбрать версию Node.js в диапазоне v6.x LTS, например v6.10.2 + npm v3.10.10 . В этом сценарии вы должны указать конкретную версию Node.js и npm в разделе package.json «движки». Подробнее об этом параметре можно прочитать в статье моего блога: Развертывание Bot Framework в Azure в Linux

person nilsw    schedule 25.05.2017
comment
К сожалению, это правда. В отличие от службы приложений Azure, которая является более гибкой, а версию node.js можно настраивать, служба Bot заблокирована на версии 6.5, и пользователи не могут ее изменить. запрос функции отправлен, но неизвестно, когда это можно будет сделать. - person Marshal; 30.05.2017

Для других людей, которые хотят настроить свою версию node.js для своих ботов, я нашел способ: использовать службу приложений Azure вместо службы ботов Azure. Вот как:

  1. Создайте приложение Azure на портале Azure и выберите шаблон node.js.
  2. (необязательно) Настройка непрерывной доставки
  3. Зарегистрируйте свое приложение на портале Bot Framework.
  4. запустить консоль Kudu Cmd

    cd D:\home\site\wwwroot

    МД бин

    корзина для компакт-дисков

затем загрузите понравившуюся версию node.js, например.

curl -O http://nodejs.org/dist/latest/win-x64/node.exe
  1. Используя Kudu, измените D:\home\site\wwwroot\web.config, чтобы он указывал на файл .js вашей записи (по умолчанию server.js), и добавьте следующую строку:

<iisnode watchedFiles="web.config;*.js"
    nodeProcessCommandLine="&quot;D:\home\site\wwwroot\bin\node.exe&quot;"
/>

Следуя описанным выше шагам, вы больше не ограничены заблокированным узлом v6.5 и можете использовать новейшую функцию node.js по своему усмотрению.

person Marshal    schedule 07.06.2017