Een bot inrichten en publiceren
VAN TOEPASSING OP: SDK v4
In dit artikel wordt beschreven hoe u de Azure CLI gebruikt om resources voor uw bot te maken, uw bot voor te bereiden op implementatie en uw bot te implementeren in Azure.
In dit artikel wordt ervan uitgegaan dat u een bot hebt die klaar is om te worden geïmplementeerd. Zie Een bot maken met de Bot Framework SDK voor meer informatie over het maken van een eenvoudige echobot. U kunt ook een van de voorbeelden in de opslagplaats Bot Framework-voorbeelden gebruiken.
Tip
In dit artikel wordt een Azure Bot-resource voor uw bot gemaakt. Bestaande bots die gebruikmaken van een web-app-botresource of een registratieresource voor botkanalen blijven werken, maar u kunt geen nieuwe bots maken die gebruikmaken van deze resourcetypen.
Notitie
De Sdk's voor Bot Framework JavaScript, C# en Python blijven ondersteund, maar de Java SDK wordt buiten gebruik gesteld met definitieve langetermijnondersteuning die eindigt op november 2023.
Bestaande bots die zijn gebouwd met de Java SDK blijven functioneren.
Voor het bouwen van nieuwe bots kunt u Microsoft Copilot Studio gebruiken en lezen over het kiezen van de juiste copilot-oplossing.
Zie De toekomst van botbouw voor meer informatie.
Vereisten
Installeer Maven voor Java-bots.
In dit proces worden twee Azure Resource Manager-sjablonen (ARM-sjablonen) gebruikt om resources voor uw bot te maken.
Als u de huidige sjablonen niet hebt, maakt u een kopie in uw botproject van de map deploymentTemplates : C#, JavaScript, Python of Java.
Als u de Azure CLI wilt gebruiken om bots in te richten en te publiceren, hebt u het volgende nodig:
Een Azure-account met een actief abonnement. Maak een gratis account.
Een installatie van de Azure CLI.
Gebruik voor uw programmeertaal de volgende versie van de Azure CLI. Sommige stappen werken niet met latere versies van de CLI.
Taal CLI-versie C# en JavaScript 2.39.0 of hoger Python 2.55.0 of hoger Java 2.29.2
Notitie
Als uw bot gebruikmaakt van extra resources, zoals een opslagservice of taalservices, moeten deze afzonderlijk worden geïmplementeerd.
Uw implementatie plannen
Voordat u begint, moet u deze beslissingen nemen.
Beslissing | Opmerkingen |
---|---|
Hoe u de identiteiten van uw bot-resources in Azure beheert | U kunt een door de gebruiker toegewezen beheerde identiteit, een app-registratie met één tenant of een app-registratie met meerdere tenants gebruiken. Zie Een identiteitsresource maken voor meer informatie. |
In welke resourcegroep of resourcegroepen maakt u uw botresources | Totdat u bekend bent met dit proces, raden we u aan één resourcegroep te gebruiken. Zie Azure-resources beheren voor meer informatie. |
Of uw bot nu regionaal of globaal is | Zie Regionalisatie in Azure AI Bot Service voor meer informatie over regionale bots. |
Uw bot-identiteit kan op verschillende manieren worden beheerd in Azure.
- Als een door de gebruiker toegewezen beheerde identiteit, zodat u de referenties van de bot niet zelf hoeft te beheren.
- Als een app met één tenant .
- Als een app met meerdere tenants .
Ondersteuning voor de door de gebruiker toegewezen beheerde identiteit en app-typen met één tenant is toegevoegd aan de Bot Framework SDK voor C#, JavaScript en Python. Deze app-typen worden niet ondersteund in de andere talen of in Bot Framework Composer, Bot Framework Emulator of Dev Tunnels.
Type app | Ondersteuning |
---|---|
Door de gebruiker toegewezen beheerde identiteit | Azure AI Bot Service en de C#-, JavaScript- en Python SDK's |
Eén tenant | Azure AI Bot Service en de C#-, JavaScript- en Python SDK's |
Multi-tenant | Azure AI Bot Service, alle Bot Framework SDK-talen, Composer, de Emulator en Dev Tunnels |
Belangrijk
Python-bots kunnen niet worden geïmplementeerd in een resourcegroep die Windows-services of -bots bevat. Meerdere Python-bots kunnen echter worden geïmplementeerd in dezelfde resourcegroep. Maak andere services, zoals Azure AI-services, in een andere resourcegroep.
Azure-resources
Voordat u uw bot kunt implementeren, maakt (of richt) u de Azure-resources in die nodig zijn. Voor sommige van de stappen kunt u een bestaande resource gebruiken of een nieuwe resource maken.
Het kan handig zijn om vooraf te beslissen over de namen van de nieuwe resources die u maakt en de namen van de bestaande resources die u gaat gebruiken. Uw bot gebruikt deze typen resources.
- Het Azure-abonnement dat u gebruikt voor het inrichten, publiceren en beheren van de bot
- Een of meer resourcegroepen
- Een door de gebruiker toegewezen beheerde identiteit of een App-registratie van Microsoft Entra ID
- Een Resource voor een App Service-plan
- Een App Service-resource
- Een Azure Bot-resource
Informatie die wordt gebruikt voor alle resources
Wanneer u resources in Azure maakt, genereert of aanvraagt Azure id's, wachtwoorden en andere informatie die u in latere stappen nodig hebt. De volgende tabel bevat de informatie die verder gaat dan resourcenamen die u moet vastleggen, in welke stap deze wordt gegenereerd en in welke stappen deze wordt gebruikt.
Let op
Veel van deze id's en wachtwoorden zijn gevoelige informatie. Zie Bot Framework-beveiligingsrichtlijnen voor informatie over algemene beveiligingsrichtlijnen.
Gegevens | Waar gegenereerd of gevonden | Waar gebruikt |
---|---|---|
Tenant-id | Aanmelden en abonnement selecteren | Azure CLI gebruiken om een App Service-resource te maken, Azure CLI gebruiken om een Azure Bot-resource te maken of bij te werken, projectconfiguratie-instellingen bijwerken |
Type app | Een identiteitsresource maken | Azure CLI gebruiken om een App Service-resource te maken, Azure CLI gebruiken om een Azure Bot-resource te maken of bij te werken, projectconfiguratie-instellingen bijwerken |
Client ID | Een identiteitsresource maken | Azure CLI gebruiken om een App Service-resource te maken, Azure CLI gebruiken om een Azure Bot-resource te maken of bij te werken, projectconfiguratie-instellingen bijwerken |
URL van basis-app-service | Azure CLI gebruiken om een App Service-resource te maken | Azure CLI gebruiken om een Azure Bot-resource te maken of bij te werken |
App Service-naam | Azure CLI gebruiken om een App Service-resource te maken | Uw bot publiceren naar Azure |
Aanmelden en abonnement selecteren
Open een opdrachtvenster.
Meld u aan bij Azure.
az login
- Er wordt een browservenster geopend. Voltooi het aanmeldingsproces.
- Wanneer de opdracht is geslaagd, wordt een lijst uitgevoerd met de abonnementen waarvoor uw account toegang heeft.
Voer het volgende uit om het abonnement in te stellen dat moet worden gebruikt:
az account set --subscription "<subscription>"
<Gebruik voor het abonnement> de id of naam van het abonnement dat u wilt gebruiken.
Als u een door de gebruiker toegewezen beheerde identiteit of een bot met één tenant maakt, neemt u het
tenantId
voor het abonnement op. U gebruikt de tenant-id in de volgende stappen.
Tip
Als u in een niet-openbare cloud moet werken, raadpleegt u Azure-cloudbeheer met de Azure CLI.
Resourcegroepen maken
Als u nog geen geschikte resourcegroep hebt, gebruikt u de az group create
opdracht om de nieuwe resourcegroepen te maken die u nodig hebt.
az group create --name "<group>" --location "<region>"
Optie | Description |
---|---|
naam | De naam van de resourcegroep die u wilt maken. |
locatie | De regio waarin de resourcegroep moet worden gemaakt. |
Zie Azure-resourcegroepen beheren met de Azure CLI voor meer informatie.
Een identiteitsresource maken
Gebruik de opdracht
az identity create
om een door een gebruiker toegewezen beheerde identiteit te maken. Bij succes genereert de opdracht JSON-uitvoer.az identity create --resource-group "<group>" --name "<identity>"
Optie Omschrijving resource-group De naam van de resourcegroep waarin de identiteit moet worden gemaakt. naam De naam van de identiteitsresource die moet worden gemaakt. Zie de naslaginformatie over az identity voor meer informatie.
Noteer waarden die u in latere stappen nodig hebt.
- De naam van de resourcegroep voor de identiteitsresource
- De naam van de identiteitsresource
- De
clientId
uitvoer van de opdracht
Resources maken met ARM-sjablonen
Maak de App Service en de Azure Bot-resources voor uw bot.
Beide stappen gebruiken een ARM-sjabloon en de az deployment group create
Azure CLI-opdracht om de resource of resources te maken.
Maak een App Service-resource voor uw bot. De App Service kan zich binnen een nieuw of bestaand App Service-plan bevindt.
Zie Azure CLI gebruiken om een App Service te maken voor gedetailleerde stappen.
Maak een Azure Bot-resource voor uw bot.
Zie Azure CLI gebruiken om een Azure-bot te maken of bij te werken voor gedetailleerde stappen.
Belangrijk
U kunt deze stappen in beide volgorde uitvoeren. Als u uw Azure Bot echter eerst maakt, moet u het berichteindpunt bijwerken nadat u uw App Service-resource hebt gemaakt.
Projectconfiguratie-instellingen bijwerken
Informatie over botidentiteit
Volg deze stappen om identiteitsgegevens toe te voegen aan het configuratiebestand van uw bot. Het bestand verschilt, afhankelijk van de programmeertaal die u gebruikt om de bot te maken.
Belangrijk
De Java-versie van de Bot Framework SDK ondersteunt alleen bots met meerdere tenants. De C#-, JavaScript- en Python-versies ondersteunen alle drie de toepassingstypen voor het beheren van de identiteit van de bot.
Taal | Bestandsnaam | Opmerkingen |
---|---|---|
C# | appsettings.json | Ondersteunt alle drie de toepassingstypen voor het beheren van de identiteit van uw bot. |
JavaScript | .env | Ondersteunt alle drie de toepassingstypen voor het beheren van de identiteit van uw bot. |
Java | application.properties | Ondersteunt alleen bots met meerdere tenants. |
Python | config.py | Ondersteunt alle drie de toepassingstypen voor het beheren van de identiteit van uw bot. |
De identiteitsgegevens die u moet toevoegen, zijn afhankelijk van het toepassingstype van de bot. Geef de volgende waarden op in uw configuratiebestand.
Beschikbaar voor C#-, JavaScript- en Python-bots.
Eigenschappen | Weergegeven als |
---|---|
MicrosoftAppType |
UserAssignedMSI |
MicrosoftAppId |
De client-id van de door de gebruiker toegewezen beheerde identiteit. |
MicrosoftAppPassword |
Niet van toepassing. Laat dit leeg voor een door de gebruiker toegewezen beheerde identiteit-bot. |
MicrosoftAppTenantId |
De tenant-id van de door de gebruiker toegewezen beheerde identiteit. |
Uw projectbestanden voorbereiden
Bereid uw projectbestanden voor voordat u uw bot implementeert.
Schakel over naar de hoofdmap van uw project. Voor C# is de hoofdmap de map die het .csproj-bestand bevat.
Voer een schone herbouw uit in de releasemodus.
Als u dit nog niet eerder hebt gedaan, voert u de opdracht uit
az bot prepare-deploy
om vereiste bestanden toe te voegen aan de hoofdmap van uw lokale broncodemap. Met deze opdracht wordt een.deployment
bestand gegenereerd in de projectmap van uw bot.az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"
Optie Omschrijving lang De taal of runtime van de bot. Gebruik Csharp
.code-dir De map waarin de gegenereerde implementatiebestanden worden opgeslagen. Gebruik de hoofdmap van uw project. Standaard is de huidige map. proj-file-path Het pad naar het .csproj-bestand voor uw bot ten opzichte van de code-dir
optie.Maak in de hoofdmap van uw project een zip-bestand met alle bestanden en submappen.
Uw bot publiceren naar Azure
Op dit moment bent u klaar om code voor uw bot te implementeren in uw App Service-resource.
Notitie
Het kan enkele minuten duren voordat deze stap is voltooid. Het kan ook enkele minuten duren voordat de implementatie is voltooid en wanneer uw bot beschikbaar is om te testen.
Voer de az webapp deploy
opdracht uit vanaf de opdrachtregel om implementatie uit te voeren met behulp van de Kudu zip-push-implementatie voor uw app-service (web-app).
Optie | Omschrijving |
---|---|
resource-group | De naam van de Azure-resourcegroep die uw bot bevat. |
naam | Naam van de app-service die u eerder hebt gebruikt. |
src | Het absolute of relatieve pad naar het gezipte projectbestand dat u hebt gemaakt. |
Tip
Deze opdracht wordt standaard geïmplementeerd in de productiesite. Gebruik de optionele --slot
parameter om een andere site op te geven.
Zie de referentiedocumentatie voor opdrachten az webapp deploy
voor meer informatie.
Testen in webchat
- Navigeer in uw browser naar Azure Portal.
- Ga naar uw botresource.
- Open de test in Webchat deelvenster.
- Interactie met uw geïmplementeerde bot.
Zie Een bot registreren bij Bot Service voor meer informatie over botregistratie.
Resources opschonen
Als u deze toepassing niet gaat publiceren, verwijdert u de bijbehorende resources met de volgende stappen:
- Open in Azure Portal de resourcegroep voor uw bot.
- Selecteer Resourcegroep verwijderen om de groep en alle resources die deze bevat te verwijderen.
- Voer de naam van de resourcegroep in het bevestigingsvenster in en selecteer Vervolgens Verwijderen.
- Als u een app met één tenant of meerdere tenants hebt gemaakt:
- Ga naar de blade Microsoft Entra-id.
- Zoek de app-registratie die u hebt gebruikt voor uw bot en verwijder deze.
Aanvullende bronnen
Zie deze artikelen voor meer informatie over Azure-toepassingen en -resources die worden gebruikt voor het hosten van een bot.
Onderwerp | Artikel |
---|---|
Azure-CLI | Wat is de Azure CLI? |
Azure-abonnementsbeheer | Azure-abonnementen beheren met de Azure CLI |
Azure-regio's | Regio’s en beschikbaarheidszones |
Resourcegroepen en resourcebeheer | Azure-resources beheren |
Beheerde identiteiten | Wat zijn beheerde identiteiten voor Azure-resources? |
Apps met één tenant en apps met meerdere tenants | Tenancy in Microsoft Entra ID |
Webtoepassingen | App Service |
Rekenresources voor webtoepassingen | App Service-abonnementen |
Azure Resource Manager-sjablonen (ARM-sjablonen) | Wat zijn ARM-sjablonen? en arm-implementatiesjablonen (Azure Resource Manager) gebruiken met Azure CLI |
Facturering in Azure | Facturering en kostenbeheer |
Kudu-bestanden
De web-app-implementatieopdracht maakt gebruik van Kudu om C#-, JavaScript- en Python-bots te implementeren. Wanneer u de niet-geconfigureerde ZIP DEPLOY-API gebruikt om de code van uw bot te implementeren, is het gedrag als volgt:
In Kudu wordt ervan uitgegaan dat implementaties van .zip bestanden klaar zijn om te worden uitgevoerd en dat er geen extra buildstappen nodig zijn tijdens de implementatie, zoals npm-installatie of dotnet-herstel/dotnet-publicatie.
Het is belangrijk dat u uw ingebouwde code opneemt met alle benodigde afhankelijkheden in het zip-bestand dat wordt geïmplementeerd; anders werkt uw bot niet zoals bedoeld. Zie de Azure-documentatie over het implementeren van bestanden in App Service voor meer informatie.