ボット リソースの管理Manage bot resources

適用対象: SDK v4APPLIES TO: SDK v4

通常、ボットでは LUIS.aiQnaMaker.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 Framework SDK 4.3 リリースより前、Microsoft ではリソース管理のメカニズムとして .bot ファイルを提供していました。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. 必ず botSecret および botFilePath エントリをローカルの appsettings.json または .env ファイルから削除してください。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.