Botbuilder-Js SDK не получает секретные ключи из appsettings.json, экспортируемые Bot composer

#typescript #botframework

#typescript #botframework

Вопрос:

Проблема: — мы используем bot builder-JS SDK версии 4.11.0. Мы берем файлы ботов из bot composer и пытаемся запустить бота с этими файлами. Мы интегрировали файлы и смогли запустить бота, но когда мы используем luis, он запрашивает секретные ключи, и мы передаем его через выражение, которое получаем от bot composer, но он не смог получить ключи.

Когда мы проверили папку bot composer, структура папок выглядит следующим
образом [Структура файла из bot composer

Отсюда у нас есть . dialog file для каждого родительского и дочернего диалоговых окон в папке recognizer, а также appsettings.json luis.settings.composer.westus.json файл and.

Содержимое в диалоговом файле будет таким, есть выражения для получения ключей

 
{ 

  "$kind": "Microsoft.LuisRecognizer", 

  "id": "LUIS_additem", 

  "applicationId": "=settings.luis.additem_en_us_lu.appId", 

  "version": "=settings.luis.additem_en_us_lu.version", 

  "endpoint": "=settings.luis.endpoint", 

  "endpointKey": "=settings.luis.endpointKey" 

} 

 

Итак, мы сохранили секретные ключи в файле appsettings.json, а также в файле luis.settings.composer.westus.json, но когда мы запускаем бота, он не может получить ключи из файлов json и выдает ошибку, что идентификатор приложения не определен для luis

Журнал эмулятора

Решения, которые мы пробовали

Мы удалили выражение в .dialog file и поместили секретные ключи в файл, бот работает нормально.

Наш вопрос

есть ли в botbuilder-js SDK какая-либо функция, которая будет принимать настройки из файла appsettings.json? Или есть какой-либо способ установить настройки так, чтобы при запуске бота они брались из файла appsettings.json или .env.

Ответ №1:

Просто возвращаюсь к этому. Согласно этому обсуждению здесь, вам нужно будет изменить бота, чтобы загружать настройки не только из appsettings.json.

В основном: