Microsoft Bot Framework: конец эпохи Technology Preview – часть 2
Практическая инструкция
Итак, мы в предыдущей части разобрали теорию вопроса, если кому интересно, то почитать можно тут.
Теперь пойдем на территорию боли, т.к. перейдем к практике.
Так в чем же технически заключается миграция?
Мы подошли к сути вопроса. Итак, при миграции бота происходит следующее:
- Принудительно создается отдельный ресурс типа “Resource Group” В качестве имени используется имя бота (вернее Bot token)
- Регистрация бота и его каналов переносится со старого портала в Azure в виде нового ресурса типа “Bot Channels Registration”. В качестве имени также безальтернативно используется имя бота (уже упомянутый Bot token)
- В качестве тарифного плана выставляется сразу платный план S1 (спокойно, без паники!)
- Появляется возможность откатить миграцию (окей, хорошо)
Что нам надо заранее об этом знать?
Во-первых, переименовать бота (его внутреннее название, а не то, как он в каналах называется) нельзя. Ни до миграции, т.к. bot token не сменить, ни после, а Bot Channels Registration не переименовать. Навести хоть какой-то порядок в Azure можно только за счет организации ресурсов по группам (см далее), которые переименовывать тоже нельзя, но хотя бы можно менять.
Во-вторых, потом можно будет перенести бота в другой Resource Group, а созданный для него – удалить. Так что эти ненужные Resource Group – не проблема.
В-третьих, после миграции у Bot Channels Registration можно (И НУЖНО НЕ ЗАБЫТЬ) сменить тариф на бесплатный, если конечно вы сознательно не хотите использовать платные ништяки.
В-четвертых, есть возможность Rollback, если что-то пошло не так. Прямо скажем, вещь в себе. С одной стороны, миграция бота успешно откатывается, но с другой, все созданные для него артефакты (Bot Channels Registration и Resource Group) остаются. При этом Bot Channels Registration залипает в каком-то полу-удаленном состоянии, которое сильно мешает работе.
А именно: он есть в списке ресурсов, но его нельзя открыть, нельзя удалить, и пока он существует, не работают некоторые функции портала. Банально не открываются некоторые разделы, не открываются виджеты на dashboard.
Вот как выглядит попытка открыть такой “битый” ресурс:
Как выйти из этой ситуации – на самом деле лечится это просто. Достаточно удалить сам Resource Group, в котором находится этот удаленный Bot Channels Registration. Именно поэтому не рекомендуем сразу после миграции менять у бота Resource Group. Пусть сначала отстоится, докажет что все работает и откат не нужен, и тогда уже менять. В противном случае, если вы перенесли бота в Resource Group к другим ресурсам, и вы выполнили откат, то возникнет сложность: нужно удалить Resource Group в котором есть куча ресурсов, которые удалять не надо. Это решаемо, но зачем нам лишние сложности?
Отлично, давайте уже приступим к миграции
Процесс по сути довольно простой и быстрый. Пройдемся по шагам:
Шаг 1
Заходим на портал https://dev.botframework.com под своим аккаунтом, видим список своих ботов и их статус миграции.
Шаг 2
Выбираем бота для миграции и нажимаем Migrate. В открывшемся окне выбираем подписку MSDN, если есть из чего выбрать. И вперед (на скриншоте кнопки не видно из-за скролла. Явно верстали в спешке.
Шаг 3
Соглашаемся на все. Все равно выбора нет :)
Шаг 4
Ждем пока идет миграция
Шаг 5
Миграция завершена.
Шаг 6
Но мы-то помним, что Microsoft по умолчанию ставит платный тариф. И если вам это не подходит – надо сразу поменять. Resource Group сразу не меняем, как выше упоминалось.
Шаг 7
Проверить работоспособность бота. Для начала прямо из консоли управления. И потом отдельно по каждому каналу.
Все готово
Вот так будет выглядеть старый портал после миграции. Теперь управление мигрированным ботом осуществляется через портал Azure.
Что теперь?
Теперь все, ваш бот живет по новым правилам тарификации и управляется через Azure. Вуаля! Наш бот также был успешно смигрирован, пока полет нормальный.
Полезные ссылки
https://docs.microsoft.com/en-us/bot-framework/bot-service-migrate-bot - описание процесса миграции от Microsoft
http://www.c-sharpcorner.com/article/migrate-bot-application-from-bot-portal-to-azure-portal - еще описание процесса миграции
https://github.com/Microsoft/BotBuilder - The Microsoft Bot Builder SDK на GitHub, код и обсуждение
Также смотри полезные ссылки в конце первой части статьи:Microsoft Bot Framework: конец эпохи Technology Preview – часть 1