봇 리소스 관리Manage bot resources

적용 대상: SDK v4APPLIES TO: SDK v4

봇은 일반적으로 LUIS.ai 또는 QnaMaker.ai와 같은 다른 서비스를 사용합니다.Bots usually consume different services, such as LUIS.ai or QnaMaker.ai. 봇을 개발하는 경우 모두 리소스를 추적할 수 있어야 합니다.When you are developing a bot, you need to be able to keep track of them all. appsettings.json, web.config 또는 .env와 같은 다양한 방법을 사용할 수 있습니다.You can use various methods such as appsettings.json, web.config, or .env.

중요

.bot 파일은 Bot Framework SDK 4.3 릴리스 이전에 리소스를 관리하기 위한 메커니즘으로 제공되었습니다.Prior to the Bot Framework SDK 4.3 release, we offered the .bot file as a mechanism to manage resources. 그러나 앞으로 이러한 리소스를 관리하려면 appsettings.json 또는 .env 파일을 사용하는 것이 좋습니다.However, going forward we recommend that you use appsettings.json or .env file for managing these resources. .bot 파일이 더 이상 사용되지 않더라도 현재 .bot 파일을 사용하는 봇은 계속 작동합니다.Bots that use .bot file will continue to work for now even though the .bot file has been deprecated. .bot 파일을 사용하여 리소스를 관리한 경우 적용되는 단계에 따라 설정을 마이그레이션합니다.If you've been using a .bot file to manage resources, follow the steps that apply to migrate the settings.

.bot 파일에서 설정 마이그레이션Migrating settings from .bot file

다음 섹션에서는 .bot 파일에서 설정을 마이그레이션하는 방법에 대해 설명합니다.The following sections cover how to migrate settings from the .bot file. 사용자에게 적용되는 시나리오를 따르세요.Follow the scenario that applies to you.

시나리오 #1: .bot 파일이 있는 로컬 봇Scenario #1: Local bot that has a .bot file

이 시나리오에서는 .bot 파일을 사용하는 로컬 봇이 있지만 봇이 Azure Portal로 마이그레이션되지 않았습니다.In this scenario you have a local bot that uses a .bot file, but the bot has not been migrated to the Azure portal. 아래 단계에 따라 설정을 .bot 파일에서 appsettings.json 또는 .env 파일로 마이그레이션합니다.Follow the steps below to migrate settings from the .bot file to appsettings.json or .env file.

  • .bot 파일이 암호화되어 있으면 다음 명령을 사용하여 암호를 해독해야 합니다.If the .bot file is encrypted, you'll need to decrypt it using the following command:
msbot secret --bot <name-of-bot-file> --secret "<bot-file-secret>" --clear
  • 암호 해독된 .bot 파일을 열고, 값을 복사하여 appsettings.json 또는 .env 파일에 추가합니다.Open the decrypted .bot file, copy the values and add them to the appsettings.json or .env file.
  • appsettings.json 또는 .env 파일에서 설정을 읽도록 코드를 업데이트합니다.Update the code to read settings from appsettings.json or .env file.

ConfigureServices 메서드에서 ASP.NET Core를 통해 제공되는 구성 개체를 사용합니다. 예를 들어 다음과 같습니다.In the ConfigureServices method, use the configuration object that ASP.NET Core provides, for example:

Startup.csStartup.cs

var appId = Configuration.GetSection("MicrosoftAppId").Value;
var appPassword = Configuration.GetSection("MicrosoftAppPassword").Value;
options.CredentialProvider = new SimpleCredentialProvider(appId, appPassword);

필요한 경우 appsettings.json 또는 .env 파일을 사용하여 리소스를 프로비저닝하고 봇에 연결합니다.If needed, provision resources and connect them to your bot using the appsettings.json or .env file.

시나리오 2: .bot 파일을 사용하여 Azure에 배포된 봇Scenario #2: Bot deployed to Azure with a .bot file

이 시나리오에서는 이미 .bot 파일을 사용하여 봇을 Azure Portal에 배포했으며, 이제 설정을 .bot 파일에서 appsettings.json 또는 .env 파일로 마이그레이션하려고 합니다.In this scenario you have already deployed a bot to the Azure portal using the .bot file, and now you want to migrate settings from the .bot file to appsettings.json or .env file.

  • Azure Portal에서 봇 코드를 다운로드합니다.Download the bot code from the Azure portal. 코드가 다운로드되면 MicrosoftAppId, MicrosoftAppPassword 및 해당 추가 설정이 배치될 appsettings.json 또는 .env 파일을 포함하도록 요구하는 메시지가 표시됩니다.When you download the code, you'll be prompted to include appsettings.json or .env file that will have your MicrosoftAppId and MicrosoftAppPassword and any additional settings in it.
  • 다운로드 한 appsettings.json 또는 .env 파일을 열고, 해당 파일의 설정을 로컬 appsettings.json 또는 .env 파일에 복사합니다.Open the downloaded appsettings.json or .env file, and copy the settings from it into your local appsettings.json or .env file. 로컬 appsettings.json 또는 .env 파일에서 botSecret 및 botFilePath 항목을 제거하는 것을 잊지 마세요.Don't forget to remove the botSecret and botFilePath entries from your local appsettings.json or .env file.
  • appsettings.json 또는 .env 파일에서 설정을 읽도록 코드를 업데이트합니다.Update the code to read settings from appsettings.json or .env file.

ConfigureServices 메서드에서 ASP.NET Core를 통해 제공되는 구성 개체를 사용합니다. 예를 들어 다음과 같습니다.In the ConfigureServices method, use the configuration object that ASP.NET Core provides, for example:

Startup.csStartup.cs

var appId = Configuration.GetSection("MicrosoftAppId").Value;
var appPassword = Configuration.GetSection("MicrosoftAppPassword").Value;
options.CredentialProvider = new SimpleCredentialProvider(appId, appPassword);

또한 botFilePath botFileSecret Azure Portal응용 프로그램 설정 섹션에서 및을 제거 해야 합니다.You'll also need to remove the botFilePath and botFileSecret from the Application Settings section in the Azure portal.

필요한 경우 appsettings.json 또는 .env 파일을 사용하여 리소스를 프로비저닝하고 봇에 연결합니다.If needed, provision resources and connect them to your bot using the appsettings.json or .env file.

시나리오 3: appsettings.json 또는 .env 파일을 사용하는 봇Scenario #3: For bots that use appsettings.json or .env file

이 시나리오에서는 SDK 4.3을 사용하여 봇을 처음부터 개발하기 시작하고 마이그레이션할 기존 .bot 파일이 없는 경우를 처리합니다.This scenario covers the case in which you are starting to develop bots using SDK 4.3 from scratch and don't have existing .bot files to migrate. 봇에서 사용하려는 모든 설정은 아래와 같이 appsettings.json 또는 .env 파일에 있습니다.All settings that you want to use in your bot are in the appsettings.json or .env file as shown below:

{
  "MicrosoftAppId": "<your-AppId>",
  "MicrosoftAppPassword": "<your-AppPwd>"
}

C# 코드에서 위의 설정을 읽으려면 ASP.NET Core를 통해 제공되는 구성 개체를 사용합니다. 예를 들어 다음과 같습니다. Startup.csTo read the above settings in your C# code, you'll use the configuration object that ASP.,NET Core provides for example: Startup.cs

var appId = Configuration.GetSection("MicrosoftAppId").Value;
var appPassword = Configuration.GetSection("MicrosoftAppPassword").Value;
options.CredentialProvider = new SimpleCredentialProvider(appId, appPassword);

필요한 경우 appsettings.json 또는 .env 파일을 사용하여 리소스를 프로비저닝하고 봇에 연결합니다.If needed, provision resources and connect them to your bot using the appsettings.json or .env file.

추가 리소스Additional resources

  • 봇을 배포하는 단계는 배포 문서를 참조하세요.For steps to deploy the bot, see deployment topic.
  • Azure Key Vault를 사용하여 클라우드 애플리케이션 및 서비스에서 사용하는 암호화 키 및 비밀을 보호하고 관리하는 방법에 대해 알아봅니다.Learn how to use Azure Key Vault to safeguard and manage cryptographic keys and secrets used by cloud applications and services.