Bereitstellen und Veröffentlichen eines Bots

GILT FÜR: SDK v4

In diesem Artikel wird beschrieben, wie Sie die Azure CLI verwenden, um Ressourcen für Ihren Bot zu erstellen, Ihren Bot für die Bereitstellung vorzubereiten und Ihren Bot in Azure bereitzustellen.

In diesem Artikel wird davon ausgegangen, dass Sie über einen bereitstellungsbereiten Bot verfügen. Informationen zum Erstellen eines einfachen Echo-Bots finden Sie unter Erstellen eines Bots mit dem Bot Framework SDK. Sie können auch eins der Beispiele im Repository mit Bot Framework-Beispielen verwenden.

Tipp

Dieser Artikel erstellt eine Azure Bot-Ressource für Ihren Bot. Vorhandene Bots, die eine Web App Bot-Ressource oder eine Bot Kanal-Registrierungsressource verwenden, funktionieren weiterhin, aber Sie können keine neuen Bots erstellen, die diese Ressourcentypen verwenden.

Hinweis

Die JavaScript-, C#- und Python-SDKs für Bot Framework werden weiterhin unterstützt, das Java-SDK wird jedoch eingestellt und der langfristige Support endet im November 2023. Es werden nur kritische Sicherheits- und Programmfehlerbehebungen innerhalb dieses Repositorys durchgeführt.

Bestehende Bots, die mit dem Java SDK erstellt wurden, werden weiterhin funktionieren.

Wenn Sie einen neuen Bot erstellen möchten, sollten Sie den Einsatz von Power Virtual Agents in Betracht ziehen und sich über die Auswahl der richtigen Chatbot-Lösung informieren.

Weitere Informationen finden Sie unter Die Zukunft des Bot-Design.

Voraussetzungen

  • Installieren Sie für Java-Bots Maven.

  • Dieser Vorgang verwendet zwei Azure Resource Manager-Vorlagen (ARM-Vorlagen), um Ressourcen für Ihren Bot zu erstellen.

    Wenn Sie nicht über die aktuellen Vorlagen verfügen, erstellen Sie eine Kopie im Bot-Projekt des Ordners deploymentTemplates: C#, JavaScript, Python oder Java.

Um Azure CLI zum Bereitstellen und Veröffentlichen von Bots zu verwenden, benötigen Sie Folgendes:

  • Ein Azure-Konto mit einem aktiven Abonnement. Erstellen Sie ein kostenloses Konto.

  • Eine Installation von Azure CLI.

    Verwenden Sie für Ihre Programmiersprache die folgende Version der Azure CLI. Einige Schritte funktionieren nicht mit späteren Versionen der CLI.

    Sprache CLI-Version
    C# und JavaScript. 2.39.0 oder höher
    Python 2.36.0
    Java 2.29.2

Hinweis

Wenn Ihr Bot zusätzliche Ressourcen verwendet, z. B. einen Speicherdienst oder Sprachdienste, müssen diese separat bereitgestellt werden.

Planen der Bereitstellung

Bevor Sie beginnen, treffen Sie diese Entscheidungen.

Entscheidung Notizen
Verwalten der Identitäten Ihrer Botressourcen in Azure Sie können eine vom Benutzer zugewiesene verwaltete Identität, eine Registrierung einer Einzelinstanz- oder eine Mehrinstanz-App-Registrierung verwenden. Weitere Informationen finden Sie unter Erstellen Sie eine Identitätsressource.
In welchen Ressourcengruppen Sie Ihre Bot-Ressourcen erstellen Bis Sie mit diesem Prozess vertraut sind, empfehlen wir die Verwendung einer Ressourcengruppe. Weitere Informationen finden Sie unter Verwalten von Azure-Ressourcen.
Ob Ihr Bot regional oder global sein wird Informationen zu regionalen Bots finden Sie unter Regionalisierung bei Azure KI Bot Service.

Ihre Bot-Identität kann in Azure auf verschiedene Arten verwaltet werden.

  • Als eine benutzerseitig zugewiesene verwaltete Identität, damit Sie die Anmeldedaten des Bots nicht selbst verwalten müssen.
  • Als einzelinstanzfähige Anwendung.
  • Als mehrinstanzfähige Anwendung.

Unterstützung für die benutzerseitig zugewiesene verwaltete Identität und Einzelinstanz-App-Typen wurde dem Bot Framework SDK für C# und JavaScript in Version 4.15.0 hinzugefügt. Diese App-Typen werden in den anderen Sprachen oder in Bot Framework Composer, Bot Framework Emulator oder ngrok nicht unterstützt.

App-Typ Unterstützung
Benutzerseitig zugewiesene verwaltete Identität Azure KI Bot Service und die C#- und JavaScript-SDKs
Einzelinstanz Azure KI Bot Service und die C#- und JavaScript-SDKs
Mehrinstanz Azure KI Bot Service, alle Bot Framework SDK-Sprachen, Composer, der Emulator und ngrok

Wichtig

Python-Bots können nicht in einer Ressourcengruppe bereitgestellt werden, die Windows-Dienste oder -Bots enthält. Mehrere Python-Bots können jedoch in derselben Ressourcengruppe bereitgestellt werden. Erstellen Sie andere Dienste, z. B. Azure KI-Dienste, in einer anderen Ressourcengruppe.

Azure-Ressourcen

Bevor Sie Ihren Bot bereitstellen können, erstellen (oder bestimmen) Sie die benötigten Azure-Ressourcen. Für manche der Schritte können Sie entweder eine bereits vorhandene Ressource verwenden oder eine neue erstellen.

Möglicherweise ist es hilfreich, vorab über die Namen der neuen Ressourcen zu entscheiden, die Sie erstellen, und die Namen der vorhandenen Ressourcen, die Sie verwenden werden. Ihr Bot verwendet diese Arten von Ressourcen.

  • Das Azure-Abonnement, das Sie zum Bereitstellen, Veröffentlichen und Verwalten des Bots verwenden
  • Eine oder mehr Ressourcengruppen
  • Eine vom benutzerseitig zugewiesene verwaltete Identität oder eine Microsoft Entra ID-App-Registrierung
  • Eine App Service Plan-Ressource
  • Eine App Service-Ressourcen
  • Eine Azure-Bot-Ressource

Informationen, die über Ressourcen hinweg verwendet werden

Beim Erstellen von Ressourcen in Azure generiert oder fordert Azure IDs, Kennwörter und andere Informationen an, die Sie in späteren Schritten benötigen. In der folgenden Tabelle sind die Informationen aufgeführt, die über Ressourcennamen hinausgehen, die Sie aufzeichnen müssen, in welchem Schritt sie generiert wird und in welchen Schritten sie verwendet werden.

Achtung

Viele dieser IDs und Kennwörter sind vertrauliche Informationen. Informationen zu allgemeinen Sicherheitsrichtlinien finden Sie unter Bot Framework-Sicherheitsrichtlinien.

Information Wo generiert oder gefunden Verwendung
Mandanten-ID Anmelden und Auswählen des Abonnements Verwenden der Azure CLI zum Erstellen einer App Service-Ressource, Verwenden der Azure CLI zum Erstellen oder Aktualisieren einer Azure Bot-Ressource, Aktualisieren von Projektkonfigurationseinstellungen
App-Typ Erstellen Sie eine Identitätsressource Verwenden der Azure CLI zum Erstellen einer App Service-Ressource, Verwenden der Azure CLI zum Erstellen oder Aktualisieren einer Azure Bot-Ressource, Aktualisieren von Projektkonfigurationseinstellungen
Client-ID Erstellen Sie eine Identitätsressource Verwenden der Azure CLI zum Erstellen einer App Service-Ressource, Verwenden der Azure CLI zum Erstellen oder Aktualisieren einer Azure Bot-Ressource, Aktualisieren von Projektkonfigurationseinstellungen
Basis-App-Dienst-URL Erstellen Sie mit Azure CLI eine App Service-Ressource Erstellen oder Aktualisieren einer Azure Bot-Ressource mithilfe der Azure CLI
App Service-Name Erstellen Sie mit Azure CLI eine App Service-Ressource Veröffentlichen Ihres Bots in Azure

Anmelden und Auswählen des Abonnements

  1. Öffnen Sie ein Befehlsfenster.

  2. Melden Sie sich bei Azure an.

    az login
    
    • Ein neues Browserfenster wird geöffnet. Schließen Sie den Anmeldevorgang ab.
    • Bei Erfolg gibt der Befehl eine Liste der Abonnements aus, auf die Ihr Konto zugreifen kann.
  3. Um ein Abonnement einzustellen, führen Sie Folgendes aus:

    az account set --subscription "<subscription>"
    

    Verwenden Sie für <Abonnement> die ID oder den Namen des zu verwendenden Abonnements.

  4. Wenn Sie eine vom Benutzer zugewiesene verwaltete Identität oder einen einzelinstanzfähigen Bot erstellen, notieren Sie tenantId für das Abonnement. Sie verwenden die Instanz-ID in den nächsten Schritten.

Tipp

Wenn Sie in einer nicht öffentlichen Cloud arbeiten müssen, lesen Sie Azure Cloud Management mit der Azure CLI.

Erstellen von Ressourcengruppen

Wenn Sie noch nicht über eine entsprechende Ressourcengruppe verfügen, verwenden Sie den az group create Befehl, um die neuen Ressourcengruppen zu erstellen, die Sie benötigen.

az group create --name "<group>" --location "<region>"
Option BESCHREIBUNG
name Der Name der zu erstellenden Ressourcengruppe.
location Die Region, in der die Ressourcengruppe erstellt wird.

Weitere Informationen finden Sie unter Verwalten von Azure-Ressourcengruppen mithilfe der Azure CLI.

Erstellen Sie eine Identitätsressource

  1. Um eine vom Benutzer zugewiesene verwaltete Identität zu erstellen, verwenden Sie den Befehl az identity create. Bei Erfolg generiert der Befehl eine JSON-Ausgabe.

    az identity create --resource-group "<group>" --name "<identity>"
    
    Option Beschreibung
    resource-group Der Name der Ressourcengruppe, in der die Identität erstellt werden soll.
    name Der Name der zu erstellenden Ressource.

    Weitere Informationen finden Sie in der az identify-Referenz.

  2. Notieren Sie Werte, die Sie in späteren Schritten benötigen.

    1. Name der Ressourcengruppe für die Identitätsressource.
    2. Die Bezeichnung der Identitätsressource
    3. clientId von der Befehlsausgabe

Erstellen von Ressourcen mit ARM-Vorlagen

Erstellen Sie den App Service und die Azure Bot-Ressourcen für Ihren Bot. Beide Schritte verwenden eine ARM-Vorlage und den az deployment group create Azure CLI-Befehl zum Erstellen der Ressource oder Ressourcen.

  1. Erstellen Sie eine App Service-Ressource für Ihren Bot. Der App-Dienst kann sich innerhalb eines neuen oder vorhandenen App-Service-Plans befinden.

    Ausführliche Schritte finden Sie unter Verwenden der Azure CLI zum Erstellen eines App-Diensts.

  2. Erstellen einer Azure Bot-Ressource für Ihren Bot.

    Ausführliche Schritte finden Sie unter Verwenden der Azure CLI zum Erstellen oder Aktualisieren eines Azure Bots.

Wichtig

Sie können diese Schritte in jedem Auftrag vornehmen werden. Wenn Sie Ihren Azure Bot jedoch zuerst erstellen, müssen Sie den Messaging-Endpunkt aktualisieren, nachdem Sie Ihre App Service-Ressource erstellt haben.

Projekt-Konfigurationseinstellungen aktualisieren

Bot-Identitätsinformationen

Führen Sie die folgenden Schritte aus, um Identitätsinformationen zur Konfigurationsdatei Ihres Bots hinzuzufügen. Die Datei unterscheidet sich je nach Programmiersprache, die Sie zum Erstellen des Bots verwenden.

Wichtig

Die Java- und Python-Versionen des Bot Framework SDK unterstützen nur mehrinstanzfähige Bots. Die C#- und JavaScript-Versionen unterstützen alle drei Anwendungstypen zum Verwalten der Bot-Identität.

Sprache Dateiname Notizen
C# appsettings.json Unterstützt alle drei Anwendungstypen zum Verwalten der Identität Ihres Bots.
JavaScript .env Unterstützt alle drei Anwendungstypen zum Verwalten der Identität Ihres Bots.
Java application.properties Unterstützt nur mehrinstanzfähige Bots.
Python config.py Unterstützt nur mehrinstanzfähige Bots. Geben Sie die Identitätseigenschaften als Argumente für die os.environ.get Methodenaufrufe an.

Welche Identitätsinformationen Sie hinzufügen müssen, hängt vom Anwendungstyp des Bots ab. Stellen Sie in der Konfigurationsdatei folgende Werte bereit.

Nur für C#- und JavaScript-Bots verfügbar.

Eigenschaft Wert
MicrosoftAppType UserAssignedMSI
MicrosoftAppId Die Client-ID einer benutzerseitig zugewiesenen verwalteten Identität.
MicrosoftAppPassword Nicht zutreffend. Lassen Sie diesen Wert für einen Bot mit benutzerseitig zugewiesener verwalteter Identität leer.
MicrosoftAppTenantId Die Instanz-ID der benutzerseitig zugewiesenen verwalteten Identität.

Vorbereiten Ihrer Projektdateien

Bereiten Ihre Projektdateien vor, bevor Sie den Bot bereitstellen.

  1. Wechseln Sie zum Stammordner Ihres Projekts. Bei C# ist der Stamm der Ordner, der die CSPROJ-Datei enthält.

  2. Führen Sie eine saubere Neuerstellung im Releasemodus aus.

  3. Wenn Sie dies noch nicht getan haben, führen Sie az bot prepare-deploy aus, um dem Stammverzeichnis des lokalen Quellcode-Verzeichnisses erforderliche Dateien hinzuzufügen. Dieser Befehl generiert eine Datei vom Typ .deployment in Ihrem Botprojektordner.

    az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"
    
    Option Beschreibung
    lang Die Sprache oder Laufzeit des Bots. Verwenden Sie Csharp.
    code-dir Das Verzeichnis, in dem die generierten Dateien abgelegt werden. Verwenden Sie den Stammordner Ihres Projekts. Standard ist das aktuelle Verzeichnis.
    proj-file-path Der Pfad zur CSPROJ-Datei für Ihren Bot relativ zur code-dir Option.
  4. Erstellen Sie im Stammordner Ihres Projekts eine ZIP-Datei, die alle Dateien und Unterordner enthält.

Veröffentlichen Ihres Bots in Azure

Jetzt können Sie Code für Ihren Bot in Ihrer App Service-Ressource bereitstellen.

Hinweis

Dieser Schritt kann einige Minuten dauern. Es kann nach Abschluss der Bereitstellung auch noch einige Minuten dauern, bis der Bot zum Testen verfügbar ist.

Führen Sie den folgenden Befehl über die Befehlszeile aus, um die Bereitstellung per „kudu zip push“-Bereitstellung für Ihren App-Dienst (Web-App) durchzuführen.

az webapp deployment source config-zip --resource-group "<resource-group-name>" --name "<name-of-app-service>" --src "<project-zip-path>"
Option Beschreibung
resource-group Der Name der Azure-Ressourcengruppe, die Ihren Bot enthält.
name Name des App-Service, den Sie zuvor verwendet haben.
src Der absolute oder relative Pfad zur gezippten Projektdatei, die Sie erstellt haben.

Tipp

Standardmäßig wird dieser Befehl für den Produktionsplatz bereitgestellt. Geben Sie den optionalen --slot Parameter an, um einen anderen Platz festzulegen. Weitere Informationen finden Sie in der Az webapp Deployment Source config-zip-Befehlsreferenz.

Testen im Webchat

  1. Navigieren Sie in Ihrem Browser zum Azure-Portal.
  2. Wechseln Sie zu Ihrer Bot-Ressource
  3. Öffnen Sie den Bereich Testen im Webchat.
  4. Interagieren Sie mit Ihrem bereitgestellten Bot.

Weitere Informationen zur Bot-Registrierung finden Sie unter Registrieren eines Bots bei Bot Service.

Bereinigen von Ressourcen

Falls Sie diese Anwendung nicht veröffentlichen möchten, sollten Sie die zugehörigen Ressourcen wie folgt löschen:

  1. Öffnen Sie im Azure-Portal die Ressourcengruppe für Ihren Bot.
    1. Wählen Sie Ressourcengruppe löschen, um die Gruppe und alle darin enthaltenen Ressourcen zu löschen.
    2. Geben Sie im Bestätigungsbereich den Ressourcengruppennamen ein, und wählen Sie Löschen.
  2. Wenn Sie eine Einzelinstanz- oder Mehrinstanz-App erstellt haben:
    1. Gehen Sie zum Blatt für Microsoft Entra ID.
    2. Suchen Sie die App-Registrierung, die Sie für Ihren Bot verwendet haben, und löschen Sie sie.

Zusätzliche Ressourcen

Weitere Informationen zu Azure-Anwendungen und -Ressourcen, die zum Hosten eines Bots verwendet werden, finden Sie in diesen Artikeln.

Betreff Artikel
Azure CLI Was ist die Azure CLI?
Azure-Abonnementverwaltung Verwalten von Azure-Abonnements mit der Azure CLI
Azure-Regionen Regionen und Verfügbarkeitszonen
Verwalten von Ressourcen und Ressourcengruppen Manage Azure resources (Verwalten von Azure-Ressourcen)
Verwaltete Identitäten Was sind verwaltete Identitäten für Azure-Ressourcen?
Apps mit nur einem Mandanten und mit mehreren Mandanten Mandanten in Microsoft Entra ID
Webanwendungen App Service
Berechnen von Ressourcen für Webanwendungen App Service-Pläne
Azure Resource Manager-Vorlagen (ARM-Vorlagen) Was sind ARM-Vorlagen? und Verwenden von Azure Resource Manager (ARM) Bereitstellungsvorlagen mit der Azure CLI
Azure-Abrechnung Abrechnung und Kostenverwaltung

Kudu-Dateien

Der Befehl für die Web-App-Bereitstellung verwendet Kudu zum Bereitstellen von C#-, JavaScript- und Python-Bots. Wenn Sie die unkonfigurierte ZIP-Bereitstellungs-API verwenden, um den Code Ihres Bots bereitzustellen, weist er das folgende Verhalten auf:

Für Kudu wird standardmäßig vorausgesetzt, dass Bereitstellungen aus .zip-Dateien fertig für die Ausführung sind und keine weiteren Build-Schritte während der Bereitstellung erforderlich sind, z. B. npm install oder 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. Weitere Informationen zu Bereitstellungsslots finden Sie in der Dokumentation zur Bereitstellung von Dateien in App Service.

Nächste Schritte