Обновленный botbuilder не работает при развертывании в azure

#javascript #azure #botframework #azure-bot-service

#javascript #azure #botframework #azure-bot-service

Вопрос:

У меня есть бот, созданный с использованием botbuilder-js версии 4.9.0, который работает как в локальном эмуляторе, так и при развертывании в Azure. Когда я обновил его до последней версии версии 4.11.0, бот работает в эмуляторе локально, но не при развертывании в Azure. Я использую хранилище памяти, поскольку оно соответствует моим потребностям. Кроме того, я нахожусь за брандмауэром компании и, следовательно, не могу отлаживать с помощью ngrok.

В чем может быть проблема? Это очень странно, и сообщения об исключениях не очень помогают.

Ниже приведено исключение из AppInsights:

ОШИБКА отправки в конечную точку бота со статусом HTTP 500

 Microsoft.Bot.Schema.BotException:
   at Microsoft.Bot.ChannelConnector.BotAPI <PostActivityToBotAsync>d__35.MoveNext (Microsoft.Bot.Base.ChannelConnector, Version=3.2.3.13, Culture=neutral, PublicKeyToken=nullMicrosoft.Bot.Base.ChannelConnector, Version=3.2.3.13, Culture=neutral, PublicKeyToken=null: D:a1sChannelSDKMicrosoft.Bot.Base.ChannelConnectorAPIBotAPI.csMicrosoft.Bot.Base.ChannelConnector, Version=3.2.3.13, Culture=neutral, PublicKeyToken=null: 483)
Inner exception System.Exception handled at Microsoft.Bot.ChannelConnector.BotAPI <PostActivityToBotAsync>d__35.MoveNext:
   at Microsoft.Bot.ChannelConnector.BotAPI.ThrowOnFailedStatusCode (Microsoft.Bot.Base.ChannelConnector, Version=3.2.3.13, Culture=neutral, PublicKeyToken=nullMicrosoft.Bot.Base.ChannelConnector, Version=3.2.3.13, Culture=neutral, PublicKeyToken=null: D:a1sChannelSDKMicrosoft.Bot.Base.ChannelConnectorAPIBotAPI.csMicrosoft.Bot.Base.ChannelConnector, Version=3.2.3.13, Culture=neutral, PublicKeyToken=null: 640)
   at Microsoft.Bot.ChannelConnector.BotAPI <PostActivityToBotAsync>d__35.MoveNext (Microsoft.Bot.Base.ChannelConnector, Version=3.2.3.13, Culture=neutral, PublicKeyToken=nullMicrosoft.Bot.Base.ChannelConnector, Version=3.2.3.13, Culture=neutral, PublicKeyToken=null: D:a1sChannelSDKMicrosoft.Bot.Base.ChannelConnectorAPIBotAPI.csMicrosoft.Bot.Base.ChannelConnector, Version=3.2.3.13, Culture=neutral, PublicKeyToken=null: 465)
 

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

1. Несколько начальных вопросов: вы убедились, что конечная точка обмена сообщениями не изменилась? Вы проверили правильность AppID / AppPassword в конфигурации службы приложений и / или соответствие локально используемым учетным данным? Можете ли вы убедиться, что проект полностью развернут и отсутствуют какие-либо устаревшие файлы, которые могут повредить экземпляр? Можете ли вы обновить свой post, чтобы включить какой-либо из ваших index.js , mainBot.js , или mainDialog.js кода? И используете ли вы обновленную версию Emulator?

2. Кроме того, если вы используете хранилище памяти в рабочей среде, настоятельно рекомендуется ЭТОГО НЕ делать , поскольку оно изменчиво и может возвращать неожиданные результаты.

3. Спасибо @StevenKanberg, я не менял никаких настроек и проверил их. Однако мне удалось устранить проблему. Я настроил действия GitHub для развертывания бота, и он работал нормально для версии 4.9.0. Когда я обновил его до версии 4.11.0, код был успешно развернут, но при его тестировании я получал указанную выше ошибку. Чтобы исправить это, мне пришлось заархивировать и загрузить код с помощью az-cli , а затем он начал работать нормально. Я не знаю, почему это сработало, но я протестировал его в двух средах, и это устранило проблему. Делает ли az-cli что-то в фоновом режиме с помощью среды выполнения / настроек?

4. Честно говоря, я не знаю. Я полагаю, это может зависеть от используемой вами команды. В этом документе предлагается использовать zip-развертывание, но я не слышал, чтобы это было обязательным требованием (не то, чтобы это было не так).

5. ДА. Я развернул с помощью упомянутой здесь команды, и она начала работать. Спасибо.