Tutorial: Bereitstellen eines einfachen BotsTutorial: Deploy a basic bot

gilt für: SDK v4APPLIES TO: SDK v4

In diesem Tutorial wird beschrieben, wie Sie einen grundlegenden bot in Azure bereitstellen.This tutorial describes how to deploy a basic bot to Azure. Es wird erläutert, wie Sie Ihren bot für die Bereitstellung vorbereiten, den bot in Azure bereitstellen und den bot mit Webchat testen.It explains how to prepare your bot for deployment, deploy your bot to Azure, and test your bot using Web Chat. Es wäre hilfreich, wenn Sie diesen Artikel lesen, bevor Sie die Schritte ausführen, damit Sie vollständig verstehen, was an der Bereitstellung eines Bots beteiligt ist.It would be useful if you read this article before following the steps, so that you fully understand what is involved in deploying a bot.

Sie lernen Folgendes:You will learn how to:

  • Vorbereiten eines grundlegenden Bots für die BereitstellungPrepare a basic bot for deployment
  • Bereitstellen des Bots in AzureDeploy the bot to Azure
  • Testen mit WebchatTest it using Web Chat

Wichtig

Achten Sie darauf, die aktuelle Version der Azure-Befehlszeilenschnittstelle zu verwenden.Make sure you are using the latest version of the Azure CLI. Wenn Sie eine ältere Version der Azure-Befehlszeilenschnittstelle als 2.2.0 verwenden, treten Fehler wegen veralteter CLI-Befehle auf.If you are using an Azure CLI version older than 2.2.0, you will encounter errors of CLI commands deprecation. Außerdem sollten Sie die in diesem Artikel erläuterte Bereitstellung mithilfe der Azure CLI nicht mit der Bereitstellung über das Azure-Portal kombinieren.Also, do not mix Azure CLI deployment shown in this article with Azure portal deployment.

VoraussetzungenPrerequisites

Vorbereiten der BereitstellungPrepare for deployment

In diesem Artikel wird davon ausgegangen, dass Sie über einen bereitstellungsbereiten Bot verfügen.This article assumes that you have a bot ready to be deployed. Informationen zum Erstellen eines einfachen Echo Bots finden Sie im Tutorial: Erstellen eines grundlegenden bot -Artikels.For information on how to create a simple echo bot, see the Tutorial: Create a basic bot article. Sie können auch eins der Beispiele im Repository mit Bot Framework-Beispielen verwenden.You can also use one of the samples provided in the Bot Framework Samples repository.

Achten Sie im Falle eines C#-Bots darauf, dass er im Releasemodus erstellt wurde.If you are deploying a C# bot make sure that it has been built in Release mode. Stellen Sie in Visual Studio sicher, dass die Lösungskonfiguration auf Release festgelegt ist, und führen Sie eine saubere Neuerstellung der Lösung durch, bevor Sie den Vorgang fortsetzen.In Visual Studio, make sure that the solution configuration is set to Release and perform a clean rebuild of the solution before continuing. Die Bereitstellung schlägt möglicherweise fehl, wenn die Projektmappenkonfiguration auf Debuggen festgelegt ist.The deployment may fail if the solution configuration is set to Debug.

Wenn Sie einen Bot mithilfe einer Visual Studio Vorlageerstellen, enthält der generierte Quellcode einen Ordner, der DeploymentTemplates ARM-Vorlagen enthält.When you create a bot using a Visual Studio template, the source code generated includes a DeploymentTemplates folder that contains ARM templates. Im hier dokumentierten Bereitstellungsprozess wird eine der ARM-Vorlagen verwendet, um die erforderlichen Ressourcen für den Bot in Azure mithilfe der Azure CLI bereitzustellen.The deployment process documented here uses one of the ARM templates to provision required resources for the bot in Azure by using the Azure CLI.

Mit der Veröffentlichung des Bot Framework SDK 4.3 ist die Verwendung einer BOT-Datei veraltet.With the release of Bot Framework SDK 4.3, we have deprecated the use of a .bot file. Stattdessen verwenden wir die appsettings.json Konfigurationsdatei zum Verwalten von Botressourcen.Instead, we use the appsettings.json configuration file to manage bot resources. Informationen zum Migrieren von Einstellungen von der BOT-Datei zu einer Konfigurationsdatei finden Sie unter Verwalten von Botressourcen.For information on migrating settings from the .bot file to a configuration file, see managing bot resources.

Hinweis

Das VSIX -Paket umfasst sowohl .net Core 2,1-als auch .net Core 3,1-Versionen der c#-Vorlagen.The VSIX package includes both .NET Core 2.1 and .NET Core 3.1 versions of the C# templates. Sie sollten beim Erstellen neuer Bots in Visual Studio 2019 die .NET Core 3.1-Vorlagen verwenden.When creating new bots in Visual Studio 2019, you should use the .NET Core 3.1 templates. Für die aktuellen Botbeispiele werden .NET Core 3.1-Vorlagen verwendet.The current bot samples use .NET Core 3.1 templates. Beispiele mit .NET Core 2.1-Vorlagen finden Sie im Branch 4.7-archive des Repositorys BotBuilder-Samples.You can find the samples that use .NET Core 2.1 templates in the 4.7-archive branch of the BotBuilder-Samples repository. Informationen zum Bereitstellen von .net Core 3,1-Bots in Azure finden Sie unter Bereitstellen Ihres bot in Azure.For information about deploying .NET Core 3.1 bots to Azure, see how to deploy your bot to Azure.

1. Anmelden an Azure1. Login to Azure

Nachdem Sie einen Bot lokal erstellt und getestet haben, können Sie ihn in Azure bereitstellen.Once you've created and tested a bot locally, you can deploy it to Azure. Öffnen Sie eine Eingabeaufforderung, um sich beim Azure-Portal anzumelden.Open a command prompt to log in to the Azure portal.

az login

Ein Browserfenster wird geöffnet, in dem Sie sich anmelden können.A browser window will open, allowing you to sign in.

Hinweis

Wenn Sie Ihren Bot für eine Azure-fremde Cloud (beispielsweise „US Gov“) bereitstellen, müssen Sie az cloud set --name <name-of-cloud> vor az login ausführen. „<name-of-cloud>“ ist der Name einer registrierten Cloud (also etwa AzureUSGovernment).If you deploy your bot to a non-Azure cloud such as US Gov, you need to run az cloud set --name <name-of-cloud> before az login, where <name-of-cloud> is the name of a registered cloud, such as AzureUSGovernment. Wenn Sie wieder zu einer Public Cloud zurückkehren möchten, können Sie az cloud set --name AzureCloud ausführen.If you want to go back to public cloud, you can run az cloud set --name AzureCloud.

2. Festlegen des Abonnements2. Set the subscription

Legen Sie das zu verwendende Standardabonnement fest.Set the default subscription to use.

az account set --subscription "<azure-subscription-id>"

Wenn Sie nicht sicher sind, welches Abonnement zum Bereitstellen des Bots verwendet werden soll, können Sie die Liste der Abonnements für Ihr Konto mit dem az account list Befehl anzeigen.If you aren't sure which subscription to use for deploying the bot, you can view the list of subscriptions for your account by using az account list command.

3. Erstellen einer App-Registrierung3. Create an App registration

In diesem Schritt erstellen Sie eine Azure-Anwendungsregistrierung, die Folgendes ermöglicht:In this step you will create an Azure application registration, which will allow:

  • Interagieren des Benutzers mit dem Bot über eine Reihe von Kanälen, etwa WebchatThe user to interact with the bot via a set of channels such as Web Chat.
  • Festlegen von OAuth-Verbindungseinstellungen zum Authentifizieren eines Benutzers sowie zum Erstellen eines Tokens, das vom Bot für den Zugriff auf geschützte Ressourcen im Namen des Benutzers verwendet wirdThe definition of OAuth Connection Settings to authenticate a user and to create a token used by the bot to access protected resources on behalf of the user.

Erstellen der Azure-AnwendungsregistrierungCreate the Azure application registration

Führen Sie den folgenden Befehl aus, um eine Azure-Anwendungsregistrierung zu erstellen:To create an Azure application registration, execute the following command:

az ad app create --display-name "displayName" --password "AtLeastSixteenCharacters_0" --available-to-other-tenants
OptionOption BESCHREIBUNGDescription
display-namedisplay-name Der Anzeigename der Anwendung.The display name of the application. Er wird im Azure-Portal in der allgemeinen Ressourcenliste sowie in der zugehörigen Ressourcengruppe aufgeführt.It is listed in the Azure portal in the general resources list and in the resource group it belongs.
passwordpassword Das Kennwort (auch als geheimer Clientschlüssel bezeichnet) für die Anwendung.The password, also known as client secret, for the application. Dabei handelt es sich um ein Kennwort, das Sie für diese Ressource erstellen.This is a password you create for this resource. Es muss mindestens 16 Zeichen lang sein und mindestens einen Groß- oder Kleinbuchstaben sowie mindestens ein Sonderzeichen enthalten.It must be at least 16 characters long, contain at least 1 upper or lower case alphabetical character, and contain at least 1 special character.
available-to-other-tenantsavailable-to-other-tenants Gibt an, dass die Anwendung von einem beliebigen Azure AD-Mandanten aus genutzt werden kann.Indicates that the application can be used from any Azure AD tenant. Legen Sie diese Option fest, damit Ihr Bot mit den Azure Bot Service-Kanälen verwendet werden kann.Set this to enable your bot to work with the Azure Bot Service channels.

Notieren Sie sich die Werte appId und appSecret.Record the appId and appSecret values

Kopieren und speichern Sie die Werte von appId und password.Copy and save the appId and password values. Sie benötigen sie im ARM-Bereitstellungsschritt.You will need them in the ARM deployment step.

4. Bereitstellen über eine ARM-Vorlage4. Deploy via ARM template

Sie können beim Erstellen der Bot-Anwendung Ihren Bot in einer neuen oder in einer vorhandenen Ressourcengruppe bereitstellen. Beides kann mithilfe der Azure Resource Manager-Vorlage (ARM) erfolgen.When creating the bot application service, you can deploy your bot in a new or in an existing resource group, both via the Azure Resource Manager (ARM) template. Eine ARM-Vorlage ist eine JSON-Datei, die deklarativ eine oder mehrere Azure-Ressourcen und die Abhängigkeiten zwischen den bereitgestellten Ressourcen definiert.An ARM template is a JSON file that declaratively defines one or more Azure resources and that defines dependencies between the deployed resources. Stellen Sie sicher, dass Sie über den richtigen Pfad zu Ihrem bot Project Arm Deployment Templates Verzeichnis deploymenttemplates verfügen.Make sure that you have the correct path to your bot project ARM deployment templates directory DeploymentTemplates. Sie benötigen ihn, um der Vorlagen Datei den Wert zuzuweisen.You need it to assign the value to the template file. Wählen Sie die Option, die für Sie am besten geeignet ist:Choose the option that works best for you:

Wichtig

Python-Bots können nicht in einer Ressourcengruppe bereitgestellt werden, die Windows-Dienste/-Bots enthält.Python bots can't be deployed to a resource group that contains Windows services/bots. Mehrere python-Bots können für dieselbe Ressourcengruppe bereitgestellt werden, aber Sie müssen andere Dienste (Luis, QnA usw.) in einer anderen Ressourcengruppe erstellen.Multiple Python bots can be deployed to the same resource group, but you need to create other services (LUIS, QnA, and so on) in another resource group.

Bereitstellen per ARM-Vorlage mit neuer RessourcengruppeDeploy via ARM template with new Resource Group

In diesem Schritt erstellen Sie einen Botanwendungsdienst, der die Bereitstellungsphase für den Bot festlegt.In this step, you create a bot application service which sets the deployment stage for the bot. Sie verwenden eine ARM-Vorlage, einen neuen Dienstplan und eine neue Ressourcengruppe.You use an ARM template, a new service plan and a new resource group. Führen Sie den folgenden Azure CLI-Befehl aus, um eine Bereitstellung im Abonnementbereich aus einer lokalen Vorlagendatei zu starten.Run the following Azure cli command to start a deployment at subscription scope from a local template file.

Tipp

Verwenden Sie die ARM-Vorlage für eine neue Ressourcengruppe, template-with-new-rg.jsauf.Use the ARM template for a new resource group, template-with-new-rg.json.

az deployment sub create --template-file "<path-to-template-with-new-rg.json" --location <region-location-name> --parameters appId="<app-id-from-previous-step>" appSecret="<password-from-previous-step>" botId="<id or bot-app-service-name>" botSku=F0 newAppServicePlanName="<new-service-plan-name>" newWebAppName="<bot-app-service-name>" groupName="<new-group-name>" groupLocation="<region-location-name>" newAppServicePlanLocation="<region-location-name>" --name "<bot-app-service-name>"

Hinweis

Dieser Schritt kann einige Minuten dauern.This step can take a few minutes to complete.

OptionOption BESCHREIBUNGDescription
namename Der Bereitstellungsname.The deployment name.
template-filetemplate-file Der Pfad zur ARM-Vorlage.The path to the ARM template. Die Datei template-with-new-rg.json wird in der Regel im Ordner deploymentTemplates des Botprojekts bereitgestellt.Usually, the template-with-new-rg.json file is provided in the deploymentTemplates folder of the bot project. Hierbei handelt es sich um einen Pfad zu einer vorhandenen Vorlagendatei.This is a path to an existing template file. Der Pfad kann ein absoluter Pfad oder relativ zum aktuellen Verzeichnis sein.It can be an absolute path, or relative to the current directory. Von allen Botvorlagen werden ARM-Vorlagendateien generiert.All bot templates generate ARM template files.
locationlocation Der Standort.Location. Werte aus: az account list-locations.Values from: az account list-locations. Sie können den standardmäßig verwendeten Standort mit az configure --defaults location=<location> konfigurieren.You can configure the default location using az configure --defaults location=<location>.
parametersparameters Bereitstellungsparameter in Form einer Liste mit Schlüssel-Wert-Paaren.Deployment parameters, provided as a list of key=value pairs. Geben Sie die folgenden Parameterwerte ein:Enter the following parameter values:
  • appId : Der App-ID-Wert aus der JSON-Ausgabe, die im Schritt zum Erstellen der Anwendungsregistrierung generiert wurde.appId - The app id value from the JSON output generated in the create the application registration step.
  • appSecret: Das Kennwort, das Sie im Schritt Erstellen der Anwendungsregistrierung angegeben haben.appSecret - The password you provided in the create the application registration step.
  • botId: Ein Name für die zu erstellende Botkanalregistrierungsressource.botId - A name for the Bot Channels Registration resource to create. Der Wert muss global eindeutig sein.It must be globally unique. Er wird als unveränderliche Bot-ID verwendet.It is used as the immutable bot ID. Außerdem wird er als (änderbarer) Standardanzeigename verwendet.It is also used as the default display name, which is mutable.
  • botSku: Der Tarif. Kann „F0“ (Free) oder „S1“ (Standard) sein.botSku - The pricing tier; it can be F0 (Free) or S1 (Standard).
  • newAppServicePlanName: Der Name des neuen Anwendungsdienstplans.newAppServicePlanName - The name of the new application service plan.
  • newWebAppName: Ein Name für den Botanwendungsdienst.newWebAppName - A name for the bot application service.
  • groupName: Ein Name für die neue Ressourcengruppe.groupName - A name for the new resource group.
  • groupLocation: Der Standort der Azure-Ressourcengruppe.groupLocation - The location of the Azure resource group.
  • newAppServicePlanLocation: Der Standort des Anwendungsdienstplans.newAppServicePlanLocation - The location of the application service plan.
Bereitstellen per ARM-Vorlage mit vorhandener RessourcengruppeDeploy via ARM template with existing Resource Group

In diesem Schritt erstellen Sie einen Botanwendungsdienst, der die Bereitstellungsphase für den Bot festlegt.In this step, you create a bot application service which sets the deployment stage for the bot. Bei Verwendung einer vorhandenen Ressourcengruppe können Sie entweder einen vorhandenen App Service-Plan nutzen oder einen neuen erstellen.When using an existing resource group, you can either use an existing app service plan or create a new one. Wählen Sie die Option, die für Sie am besten geeignet ist:Choose the option that works best for you:

Hinweis

Dieser Schritt kann einige Minuten dauern.This step can take a few minutes to complete.

Option 1: Vorhandener App Service-PlanOption 1: Existing App Service Plan

In diesem Fall verwenden wir einen bereits vorhandenen App Service-Plan, erstellen aber eine neue Web-App und Botkanalregistrierung.In this case, we are using an existing App Service Plan, but creating a new Web App and Bot Channels Registration.

Der folgende Befehl dient zum Festlegen der ID und des Anzeigenamens des Bots.This command below sets the bot's ID and display name. Der Parameter botId sollte global eindeutig sein und wird als unveränderliche Bot-ID verwendet.The botId parameter should be globally unique and is used as the immutable bot ID. Der Anzeigename des Bots ist änderbar.The bot's display name is mutable.

Tipp

Verwenden Sie die ARM-Vorlage für eine vorhandene Ressourcengruppe, template-with-preexisting-rg.jsauf.Use the ARM template for an existing resource group, template-with-preexisting-rg.json.

az deployment group create --resource-group "<name-of-resource-group>" --template-file "<path-to-template-with-preexisting-rg.json>" --parameters appId="<app-id-from-previous-step>" appSecret="<password-from-previous-step>" botId="<id or bot-app-service-name>" newWebAppName="<bot-app-service-name>" existingAppServicePlan="<name-of-app-service-plan>" appServicePlanLocation="<region-location-name>" --name "<bot-app-service-name>"
Option 2: Neuer App Service-PlanOption 2: New App Service Plan

In diesem Fall erstellen wir den App Service-Plan, die Web-App und die Botkanalregistrierung.In this case, we are creating App Service Plan, Web App, and Bot Channels Registration.

Tipp

Verwenden Sie die ARM-Vorlage für eine vorhandene Ressourcengruppe, template-with-preexisting-rg.jsauf.Use the ARM template for an existing resource group, template-with-preexisting-rg.json.

az deployment group create --resource-group "<name-of-resource-group>" --template-file "<path-to-template-with-preexisting-rg.json>" --parameters appId="<app-id-from-previous-step>" appSecret="<password-from-previous-step>" botId="<id or bot-app-service-name>" newWebAppName="<bot-app-service-name>" newAppServicePlanName="<name-of-app-service-plan>" newAppServicePlanLocation="<region-location-name>" --name "<bot-app-service-name>"
OptionOption BESCHREIBUNGDescription
namename Der Bereitstellungsname.The deployment name.
resource-groupresource-group Der Name der Azure-Ressourcengruppe.Name of the azure resource group.
template-filetemplate-file Der Pfad zur ARM-Vorlage.The path to the ARM template. Die Datei template-with-preexisting-rg.json wird in der Regel im Ordner deploymentTemplates des Projekts bereitgestellt.Usually, the template-with-preexisting-rg.json file is provided in the deploymentTemplates folder of the project. Hierbei handelt es sich um einen Pfad zu einer vorhandenen Vorlagendatei.This is a path to an existing template file. Der Pfad kann ein absoluter Pfad oder relativ zum aktuellen Verzeichnis sein.It can be an absolute path, or relative to the current directory. Von allen Botvorlagen werden ARM-Vorlagendateien generiert.All bot templates generate ARM template files.
locationlocation Der Standort.Location. Werte aus: az account list-locations.Values from: az account list-locations. Sie können den standardmäßig verwendeten Standort mit az configure --defaults location=<location> konfigurieren.You can configure the default location using az configure --defaults location=<location>.
parametersparameters Bereitstellungsparameter in Form einer Liste mit Schlüssel-Wert-Paaren.Deployment parameters, provided as a list of key=value pairs. Geben Sie die folgenden Parameterwerte ein:Enter the following parameter values:
  • appId : Der appId Wert, der durch den Schritt zum Erstellen der Anwendungsregistrierung generiert wird.appId - The appId value generated by the create the application registration step.
  • appSecret : Das Kennwort, das Sie im Schritt zum Erstellen der Anwendungsregistrierung angegeben haben.appSecret - The password you provided in the the create the application registration step.
  • botId: Ein Name für die zu erstellende Botkanalregistrierungsressource.botId - A name for the Bot Channels Registration resource to create. Der Wert muss global eindeutig sein.It must be globally unique. Er wird als unveränderliche Bot-ID verwendet.It is used as the immutable bot ID. Außerdem wird er als (änderbarer) Standardanzeigename verwendet.It is also used as the default display name, which is mutable.
  • newWebAppName: Ein Name für den Botanwendungsdienst.newWebAppName - A name for the bot application service.
  • newAppServicePlanName: Ein Name für die zu erstellende Anwendungsdienstplan-Ressource.newAppServicePlanName - A name for the application service plan resource to create.
  • appServicePlanLocation: Der Standort des Anwendungsdienstplans.appServicePlanLocation - The location of the application service plan.

5. Vorbereiten des Codes für die Bereitstellung5. Prepare your code for deployment

In den nächsten Schritten erstellen Sie eine sprachabhängige Bereitstellungs Datei, zip (komprimieren) die Projektdateien und laden Sie in Azure hoch.The next few steps create a language-dependent deployment file, zip (compress) the project files, and upload them to Azure. Für diese Schritte ist der Projektordner des bot der Stamm Ordner für den bot.For these steps, the bot's project folder is the root folder for the bot.

  • Für C#-Bots ist dies der Ordner mit der CSPROJ-Datei.For C# bots, it is the folder that has the .csproj file.
  • Für JavaScript-Bots ist es der Ordner, der die Datei „app.js“ oder „index.js“ enthält.For JavaScript bots, it is the folder that has the app.js or index.js file.
  • Für TypeScript-Bots ist es der Ordner, der den Ordner src enthält (in dem die Dateien „bot.ts“ und „index.ts“ enthalten sind).For TypeScript bots, it is the folder that includes the src folder (where the bot.ts and index.ts files are).
  • Für Python-Bots ist dies der Ordner mit der Datei „app.py“.For Python bots, it is the folder that has the app.py file.

Abrufen oder Erstellen von erforderlichen IIS-/Kudu-DateienRetrieve or create necessary IIS/Kudu files

Sie müssen Ihre Projektdateien vorbereiten, bevor Sie den Bot bereitstellen.You need to prepare your project files before you can deploy your bot.

Stellen Sie sicher, dass Sie sich im Projektordner Ihres Bots befinden.Make sure you're in your bot's project folder. Bereiten Sie dann Ihren Botcode für die Bereitstellung vor.Then prepare your bot code for deployment.

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

Sie müssen den Pfad zur CSPROJ-Datei relativ zu „--code-dir“ angeben.You must provide the path to the .csproj file relative to --code-dir. Hierfür kann das Argument „--proj-file-path“ genutzt werden.This can be performed via the --proj-file-path argument. Mit diesem Befehl werden „--code-dir“ und „--proj-file-path“ zu „./MyBot.csproj“ aufgelöst.The command would resolve --code-dir and --proj-file-path to "./MyBot.csproj".

Dieser Befehl generiert eine Datei vom Typ .deployment in Ihrem Botprojektordner.This command generates a .deployment file in your bot project folder.

Manuelles Zippen des CodeverzeichnissesZip up the code directory manually

Wenn Sie die unkonfigurierte ZIP-Bereitstellungs-API verwenden, um den Code Ihres Bots bereitzustellen, weist die Web-App bzw. Kudu das folgende Verhalten auf:When using the non-configured zip deploy API to deploy your bot's code, Web App/Kudu's behavior is as follows:

Für Kudu wird standardmäßig vorausgesetzt, dass Bereitstellungen aus ZIP-Dateien fertig für die Ausführung sind und keine weiteren Buildschritte während der Bereitstellung erforderlich sind, z. B. npm-Installation oder „dotnet restore/dotnet publish“.Kudu assumes by default that deployments from zip files are ready to run and do not require additional build steps during deployment, such as npm install or dotnet restore/dotnet publish.

Es ist wichtig, dass Sie Ihren erstellten Code mit allen erforderlichen Abhängigkeiten in die bereitgestellte ZIP-Datei einfügen. Andernfalls funktioniert Ihr Bot nicht wie gewünscht.It is important to include your built code with all necessary dependencies in the zip file being deployed, otherwise your bot will not work as intended.

Wichtig

Vergewissern Sie sich vor dem Zippen Ihrer Projektdateien, dass Sie sich im Projektordner des Bots befinden.Before zipping your project files, make sure that you are in the bot's project folder.

  • Für C#-Bots ist dies der Ordner mit der CSPROJ-Datei.For C# bots, it is the folder that has the .csproj file.
  • Für JavaScript-Bots ist es der Ordner, der die Datei „app.js“ oder „index.js“ enthält.For JavaScript bots, it is the folder that has the app.js or index.js file.
  • Für TypeScript-Bots ist es der Ordner, der den Ordner src enthält (in dem die Dateien „bot.ts“ und „index.ts“ enthalten sind).For TypeScript bots, it is the folder that includes the src folder (where the bot.ts and index.ts files are).
  • Für Python-Bots ist dies der Ordner mit der Datei „app.py“.For Python bots, it is the folder that has the app.py file.

Achten Sie im Projektordner darauf, alle Dateien und Ordner auszuwählen, bevor Sie den Befehl zum Erstellen der ZIP-Datei ausführen.Within the project folder, make sure you select all the files and folders before running the command to create the zip file. Dadurch wird eine einzelne ZIP-Datei im Projektordner erstellt.This will create a single zip file within the project folder. Wenn der Speicherort Ihres Stammordners falsch ist, kann der Bot im Azure-Portal nicht ausgeführt werden.If your root folder location is incorrect, the bot will fail to run in the Azure portal.

Bereitstellen von bot in AzureDeploy bot to Azure

Der Code kann nun für die Azure-Web-App bereitgestellt werden.At this point we are ready to deploy the code to the Azure Web App.

Führen Sie den folgenden Befehl über die Befehlszeile aus, um die Bereitstellung per „kudu zip push“-Vorgang für eine Web-App durchzuführen.Run the following command from the command line to perform deployment using the kudu zip push deployment for a web app.

az webapp deployment source config-zip --resource-group "<resource-group-name>" --name "<name-of-web-app>" --src "<project-zip-path>"
OptionOption BESCHREIBUNGDescription
resource-groupresource-group Der Name der Azure-Ressourcengruppe, die Ihren Bot enthält.The name of the Azure resource group that contains your bot.
namename Name der Web-App, die Sie zuvor verwendet haben.Name of the Web App you used earlier.
srcsrc Pfad zur gezippten Projektdatei, die Sie erstellt habenThe path to the zipped project file you created.

Hinweis

Dieser Schritt kann einige Minuten in Anspruch nehmen.This step can take a few minutes to complete. Es kann nach Abschluss der Bereitstellung auch noch einige Minuten dauern, bis der Bot zum Testen verfügbar ist.Also it can take a few more minutes between when the deployment finishes and when your bot is available to test.

Testen im WebchatTest in Web Chat

  1. Navigieren Sie in Ihrem Browser zum Azure-Portal.In your browser, navigate to the Azure portal.
  2. Klicken Sie im linken Bereich auf Ressourcengruppen.In the left panel, click Resource groups.
  3. Suchen Sie im rechten Bereich nach Ihrer Gruppe.In the right panel, search for your group.
  4. Klicken Sie auf den Gruppennamen.Click on your group name.
  5. Klicken Sie auf den Link Ihrer Botkanalregistrierung.Click the link of your Bot Channels Registration.
  6. Klicken Sie im Bereich für die Botkanalregistrierung auf Test in Web Chat (Im Webchat testen).In the Bot Channels Registration panel, click Test in Web Chat. Klicken Sie alternativ im rechten Bereich auf das Feld Testen.Alternatively, in the right panel, click the Test box.

Weitere Informationen zur Botkanalregistrierung finden Sie unter Registrieren eines Bots bei Bot Service.For more information about bot channels registration, see Register a bot with Bot Service.

Zusätzliche RessourcenAdditional resources

Wenn Sie einen Bot bereitstellen, werden im Azure-Portal in der Regel folgende Ressourcen erstellt:When you deploy a bot, typically these resources are created in the Azure portal:

RessourcenResources BESCHREIBUNGDescription
Web-App-BotWeb App Bot Ein Azure Bot Service-Bot, der in einer Azure App Service-Instanz bereitgestellt wird.An Azure Bot Service bot that is deployed to an Azure App Service.
App ServiceApp Service Ermöglicht Ihnen das Erstellen und Hosten von Webanwendungen.Enables you to build and host web applications.
App Service-PlanApp Service plan Definiert eine Gruppe von Computeressourcen für eine auszuführende Web-App.Defines a set of compute resources for a web app to run.

Wenn Sie Ihren Bot im Azure-Portal erstellen, können Sie zusätzliche Ressourcen bereitstellen, wie z.B. Application Insights für Telemetrie.If you create your bot through the Azure portal, you are able to provision additional resources, like Application Insights for telemetry.

Die Dokumentation zu az bot-Befehlen finden Sie in der Referenz.To see documentation on az bot commands, see the reference topic.

Falls Sie nicht mit Azure-Ressourcengruppen vertraut sind, lesen Sie die Erläuterung der grundlegenden Begriffe.If you are unfamiliar with Azure resource group, see this terminology topic.

Nächste SchritteNext steps