Сообщение о тестировании в веб-чате возвращает код состояния «Не найдено» HTTP после развертывания бота в Azure - PullRequest
2 голосов
/ 04 июня 2019

Я создал службу Web App Bot на портале Azure, загрузил ее, изменил ее, протестировал на работающем эмуляторе Bot и развернул обратно в Azure.Регистрация каналов бота и служба приложений создаются в Azure.Я ожидал, что поведение оригинального бота веб-приложения обновится, но когда я тестировал в веб-чате, он все еще оставался ботом по умолчанию с примером бронирования рейса.Когда я набрал сообщение в разделе «Тестирование в веб-чате» для ресурса регистрации каналов ботов, я получил сообщение «не удалось отправить повтор» и «Произошла ошибка при отправке этого сообщения вашему боту. Код состояния HTTP: не найден»

Я попытался изменить идентификатор приложения Microsoft, пароль и конечную точку обмена сообщениями, чтобы они соответствовали тем, которые я использовал при локальном тестировании.Я также попытался опубликовать через Visual Studio вместо Azure CLI с этой ссылкой https://www.c -sharpcorner.com / article / publish-your-bot-to-microsoft-azure / , но используемое ими приложение неядро .net и оно не разворачивается в моем проекте.Я исчерпал каждую ссылку и до сих пор не нашел решение.

1 Ответ

1 голос
/ 04 июня 2019

Развертывание с помощью Visual Studio

Основы этого учебника хороши, несмотря на то, что они супер устарели и не являются официальным учебником / документом.Поскольку вы загрузили своего бота из Azure, вам нужно только опубликовать следующее:

  1. Щелкните правой кнопкой мыши свой проект в Visual Studio, выберите "Опубликовать"
  2. Нажмите "Создать"
  3. Служба приложений> Выбрать существующую
  4. Выберите службу приложения
  5. Нажмите OK, и она опубликует

Развертывание через Azure CLI

Подписаться Документы по развертыванию

Устранение неполадок при развертывании

Честно говоря, если развертывание не удается, я считаю, что лучше всего начать новое развертывание с нуля, чтобы точно выполнять каждый шаг.Это часто быстрее, чем пытаться устранить неполадки и исправить неудачное развертывание.Тем не менее, вот что, вероятно, не так с каждой упомянутой вами проблемой:

Я ожидал, что поведение оригинального бота веб-приложения обновится, но когда я тестировал в веб-чате, он все еще оставался ботом по умолчанию с примером бронирования рейса.

Возможные проблемы:

  1. В действительности развертывание не было успешным
  2. Вы развернули в неправильную группу ресурсов

Убедитесь, что вы используете последний Azure CLI и повторите попытку.

Иногда, если вы публикуете через Visual Studio, вы щелкаете правой кнопкой мыши Проект, выбираете «Опубликовать, редактировать, Настройки»,затем в разделе «Параметры публикации файлов» установите флажок «Удалить дополнительные файлы в месте назначения».Обратите внимание, что это, вероятно, не та проблема, с которой вы сталкиваетесь, поскольку вы используете более нового бота.

Когда я набрал сообщение в Тесте в веб-чате для получаемого ресурса регистрации каналов ботов, я не смог'send send retry "и" При отправке этого сообщения вашему боту произошла ошибка. Код состояния HTTP: не найден "

Обычно это означает, что конечная точка неверна.В разделе «Настройки веб-приложения» выберите «Конечная точка обмена сообщениями»:

https://<yourAppService>.azurewebsites.net/api/messages

Я ответил на аналогичный вопрос , где пользователь пытался выполнить развертывание через AZ CLI иони пропустили этот шаг:

az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "MyBot.csproj"

Я попытался изменить идентификатор приложения Microsoft, пароль и конечную точку обмена сообщениями, чтобы они соответствовали тем, которые я использовал при локальном тестировании.

Правильные MicrosoftAppId и MicrosoftAppPassword находятся в вашем приложении на панели регистрации приложений .Если вам нужен новый MicrosoftAppPassword, откройте регистрацию приложения, перейдите в раздел «Сертификаты и секреты» и нажмите «Новый секрет клиента».Обязательно скопируйте его, потому что если вы покинете страницу, вы не сможете просмотреть ее снова.

Их необходимо установить в трех местах:

  1. Файл appsettings.json (или.env для узла).
  2. Портал Azure> Группа ресурсов> Служба приложений> Конфигурация
  3. В эмуляторе при тестировании
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...