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.
Bestehende Bots, die mit dem Java SDK erstellt wurden, werden weiterhin funktionieren.
Für das erstellen eines neuen Bots sollten Sie Microsoft Copilot Studio verwenden und lesen, wie Sie die richtige Copilot-Lösung auswählen.
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.55.0 oder höher 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 | Hinweise |
---|---|
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 vom Benutzer zugewiesenen verwalteten Identitäts- und Einzelmandanten-App-Typen wurde dem Bot Framework SDK für C#, JavaScript und Python hinzugefügt. Diese App-Typen werden in den anderen Sprachen oder in Bot Framework Composer, Bot Framework Emulator oder Dev Tunnels nicht unterstützt.
App-Typ | Unterstützung |
---|---|
Benutzerseitig zugewiesene verwaltete Identität | Azure AI Bot Service und die C#-, JavaScript- und Python-SDKs |
Einzelinstanz | Azure AI Bot Service und die C#-, JavaScript- und Python-SDKs |
Mehrinstanz | Azure AI Bot Service, alle Bot Framework SDK-Sprachen, Composer, der Emulator und Dev Tunnels |
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.
Anmelden und Auswählen des Abonnements
Öffnen Sie ein Befehlsfenster.
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.
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.
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 Ressourcengruppe
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
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.
Notieren Sie Werte, die Sie in späteren Schritten benötigen.
- Name der Ressourcengruppe für die Identitätsressource.
- Die Bezeichnung der Identitätsressource
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.
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.
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-Version des Bot Framework SDK unterstützt nur mehrinstanzenfähige Bots. Die C#-, JavaScript- und Python-Versionen unterstützen alle drei Anwendungstypen zum Verwalten der Identität des Bots.
Sprache | Dateiname | Hinweise |
---|---|---|
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 alle drei Anwendungstypen zum Verwalten der Identität Ihres Bots. |
Welche Identitätsinformationen Sie hinzufügen müssen, hängt vom Anwendungstyp des Bots ab. Stellen Sie in der Konfigurationsdatei folgende Werte bereit.
Verfügbar für C#-, JavaScript- und Python-Bots.
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.
Wechseln Sie zum Stammordner Ihres Projekts. Bei C# ist der Stamm der Ordner, der die CSPROJ-Datei enthält.
Führen Sie eine saubere Neuerstellung im Releasemodus aus.
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.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 Befehl über die Befehlszeile aus, um die az webapp deploy
Bereitstellung mithilfe der Kudu-ZIP-Pushbereitstellung für Ihren App-Dienst (Web App) durchzuführen.
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 deploy
Befehlsreferenzdokumentation.
Testen im Webchat
- Navigieren Sie in Ihrem Browser zum Azure-Portal.
- Wechseln Sie zu Ihrer Bot-Ressource
- Öffnen Sie den Bereich Testen im Webchat.
- 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:
- Öffnen Sie im Azure-Portal die Ressourcengruppe für Ihren Bot.
- Wählen Sie Ressourcengruppe löschen, um die Gruppe und alle darin enthaltenen Ressourcen zu löschen.
- Geben Sie im Bestätigungsbereich den Ressourcengruppennamen ein, und wählen Sie Löschen.
- Wenn Sie eine Einzelinstanz- oder Mehrinstanz-App erstellt haben:
- Gehen Sie zum Blatt für Microsoft Entra ID.
- 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.