Etablera och publicera en robot
GÄLLER FÖR: SDK v4
Den här artikeln beskriver hur du använder Azure CLI för att skapa resurser för din robot, förbereda din robot för distribution och distribuera din robot till Azure.
Den här artikeln förutsätter att du har en robot som är redo att distribueras. Information om hur du skapar en enkel ekorobot finns i Skapa en robot med Bot Framework SDK. Du kan också använda ett av exemplen i Bot Framework-exempellagringsplatsen.
Dricks
Den här artikeln skapar en Azure Bot-resurs för din robot. Befintliga robotar som använder en webbapprobotresurs eller en registreringsresurs för robotkanaler fortsätter att fungera, men du kan inte skapa nya robotar som använder dessa resurstyper.
Kommentar
Bot Framework JavaScript-, C#- och Python-SDK:erna fortsätter att stödjas, men Java SDK dras tillbaka med slutligt långsiktigt stöd som slutar i november 2023.
Befintliga robotar som skapats med Java SDK fortsätter att fungera.
Om du vill skapa en ny robot kan du använda Microsoft Copilot Studio och läsa om hur du väljer rätt copilot-lösning.
Mer information finns i Framtiden för robotbygge.
Förutsättningar
Installera Maven för Java-robotar.
Den här processen använder två Azure Resource Manager-mallar (ARM-mallar) för att skapa resurser för din robot.
Om du inte har de aktuella mallarna skapar du en kopia i robotprojektet för mappen deploymentTemplates : C#, JavaScript, Python eller Java.
Om du vill använda Azure CLI för att etablera och publicera robotar behöver du:
Ett Azure-konto som har en aktiv prenumeration. Skapa ett kostnadsfritt konto.
-
För programmeringsspråket använder du följande version av Azure CLI. Vissa steg fungerar inte med senare versioner av CLI.
Språk CLI-version C# och JavaScript 2.39.0 eller senare Python 2.55.0 eller senare Java 2.29.2
Kommentar
Om roboten använder ytterligare resurser, till exempel en lagringstjänst eller språktjänster, måste dessa distribueras separat.
Planera distributionen
Innan du börjar ska du fatta dessa beslut.
Beslut | Kommentar |
---|---|
Så här hanterar du identiteterna för dina robotresurser i Azure | Du kan använda en användartilldelad hanterad identitet, en appregistrering med en klientorganisation eller en appregistrering för mutli-tenant. Mer information finns i Skapa en identitetsresurs. |
I vilken resursgrupp eller resursgrupp ska du skapa dina robotresurser | Tills du är bekant med den här processen rekommenderar vi att du använder en resursgrupp. Mer information finns i Hantera Azure-resurser. |
Om roboten ska vara regional eller global | Information om regionala robotar finns i Regionalisering i Azure AI Bot Service. |
Din robotidentitet kan hanteras i Azure på några olika sätt.
- Som en användartilldelad hanterad identitet så att du inte behöver hantera robotens autentiseringsuppgifter själv.
- Som en app för en enda klientorganisation .
- Som en app för flera klientorganisationer .
Stöd för användartilldelade hanterade identiteter och apptyper med en enda klient lades till i Bot Framework SDK för C#, JavaScript och Python. Dessa apptyper stöds inte på andra språk eller i Bot Framework Composer, Bot Framework Emulator eller Dev Tunnels.
Apptyp | Support |
---|---|
Användartilldelad hanterad identitet | Azure AI Bot Service och SDK:er för C#, JavaScript och Python |
Enskild klientorganisation | Azure AI Bot Service och SDK:er för C#, JavaScript och Python |
Flera klientorganisationer | Azure AI Bot Service, alla Bot Framework SDK-språk, Composer, emulatorn och Dev Tunnels |
Viktigt!
Python-robotar kan inte distribueras till en resursgrupp som innehåller Windows-tjänster eller -robotar. Flera Python-robotar kan dock distribueras till samma resursgrupp. Skapa andra tjänster, till exempel Azure AI-tjänster, i en annan resursgrupp.
Azure-resurser
Innan du kan distribuera roboten skapar du (eller etablerar) de Azure-resurser som behövs. För vissa av stegen kan du använda en befintlig resurs eller skapa en ny.
Det kan vara bra att i förväg bestämma namnen på de nya resurser som du skapar och namnen på de befintliga resurser som du ska använda. Roboten använder dessa typer av resurser.
- Den Azure-prenumeration som du använder för att etablera, publicera och hantera roboten
- En eller flera resursgrupper
- En användartilldelad hanterad identitet eller en Appregistrering för Microsoft Entra-ID
- En App Service-planresurs
- En App Service-resurs
- En Azure Bot-resurs
Information som används mellan resurser
När du skapar resurser i Azure genererar eller begär Azure ID:t, lösenord och annan information som du behöver i senare steg. I följande tabell visas information utöver resursnamn som du behöver registrera, i vilket steg den genereras och i vilka steg den används.
Varning
Många av dessa ID:er och lösenord är känslig information. Information om vanliga säkerhetsriktlinjer finns i Bot Framework-säkerhetsriktlinjer.
Logga in och välj prenumeration
Öppna ett kommandofönster.
Logga in på Azure.
az login
- Ett webbläsarfönster öppnas. Slutför inloggningsprocessen.
- Vid lyckat resultat matar kommandot ut en lista över de prenumerationer som ditt konto har åtkomst till.
Om du vill ange att prenumerationen ska användas kör du:
az account set --subscription "<subscription>"
För <prenumeration> använder du ID:t eller namnet på prenumerationen som ska användas.
Om du skapar en användartilldelad hanterad identitet eller en robot med en enda klientorganisation registrerar
tenantId
du för prenumerationen. Du använder klientorganisations-ID:t i följande steg.
Dricks
Om du behöver arbeta i ett icke-offentligt moln kan du läsa Azure Cloud Management med Azure CLI.
Skapa resursgrupper
Om du inte redan har en lämplig resursgrupp använder az group create
du kommandot för att skapa de nya resursgrupper som du behöver.
az group create --name "<group>" --location "<region>"
Alternativ | Description |
---|---|
name | Namnet på den resursgrupp som ska skapas. |
plats | Den region där resursgruppen ska skapas. |
Mer information finns i Hantera Azure-resursgrupper med Azure CLI.
Skapa en identitetsresurs
Använd kommandot för att skapa en användartilldelad hanterad identitet
az identity create
. Vid lyckat resultat genererar kommandot JSON-utdata.az identity create --resource-group "<group>" --name "<identity>"
Alternativ Description resource-group Namnet på den resursgrupp där identiteten ska skapas. name Namnet på identitetsresursen som ska skapas. Mer information finns i referensen az identity .
Registrera värden som du behöver i senare steg.
- Namnet på resursgruppen för identitetsresursen
- Namnet på identitetsresursen
- Från
clientId
kommandots utdata
Skapa resurser med ARM-mallar
Skapa App Service och Azure Bot-resurserna för din robot.
Båda stegen använder en ARM-mall och az deployment group create
Azure CLI-kommandot för att skapa resursen eller resurserna.
Skapa en App Service-resurs för din robot. App Service kan finnas inom en ny eller befintlig App Service-plan.
Detaljerade steg finns i Använda Azure CLI för att skapa en App Service.
Skapa en Azure Bot-resurs för din robot.
Detaljerade steg finns i Använda Azure CLI för att skapa eller uppdatera en Azure-robot.
Viktigt!
Du kan utföra de här stegen i båda ordningarna. Men om du skapar din Azure Bot först måste du uppdatera dess slutpunkt för meddelanden när du har skapat din App Service-resurs.
Uppdatera konfigurationsinställningar för projekt
Information om robotidentitet
Följ de här stegen för att lägga till identitetsinformation i robotens konfigurationsfil. Filen skiljer sig beroende på vilket programmeringsspråk du använder för att skapa roboten.
Viktigt!
Java-versionen av Bot Framework SDK stöder endast robotar med flera klientorganisationer. C#-, JavaScript- och Python-versionerna stöder alla tre programtyperna för att hantera robotens identitet.
Språk | Filnamn | Kommentar |
---|---|---|
C# | appsettings.json | Stöder alla tre programtyperna för att hantera robotens identitet. |
JavaScript | .Env | Stöder alla tre programtyperna för att hantera robotens identitet. |
Java | application.properties | Stöder endast robotar med flera klientorganisationer. |
Python | config.py | Stöder alla tre programtyperna för att hantera robotens identitet. |
Identitetsinformationen som du behöver lägga till beror på robotens programtyp. Ange följande värden i konfigurationsfilen.
Tillgänglig för C#-, JavaScript- och Python-robotar.
Property | Värde |
---|---|
MicrosoftAppType |
UserAssignedMSI |
MicrosoftAppId |
Klient-ID för den användartilldelade hanterade identiteten. |
MicrosoftAppPassword |
Ej tillämpbart. Lämna detta tomt för en användartilldelad hanterad identitetsrobot. |
MicrosoftAppTenantId |
Klientorganisations-ID för den användartilldelade hanterade identiteten. |
Förbereda dina projektfiler
Förbered dina projektfiler innan du distribuerar roboten.
Växla till projektets rotmapp. För C# är roten den mapp som innehåller .csproj-filen.
Gör en ren återskapa i versionsläge.
Om du inte har gjort det tidigare kör du
az bot prepare-deploy
för att lägga till nödvändiga filer i roten i din lokala källkodskatalog. Det här kommandot genererar en.deployment
fil i robotprojektmappen.az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"
Alternativ Description Lang Robotens språk eller körning. Använd Csharp
.code-dir Katalogen som de genererade distributionsfilerna ska lagras i. Använd projektets rotmapp. Standardvärdet är den aktuella katalogen. proj-file-path Sökvägen till .csproj-filen för roboten i förhållande till alternativet code-dir
.I projektets rotmapp skapar du en zip-fil som innehåller alla filer och undermappar.
Publicera din robot till Azure
Nu är du redo att distribuera kod för din robot till din App Service-resurs.
Kommentar
Det här steget kan ta några minuter att slutföra. Det kan också ta några minuter mellan när distributionen är klar och när roboten är tillgänglig för testning.
az webapp deploy
Kör kommandot från kommandoraden för att utföra distributionen med hjälp av Kudu zip-push-distributionen för apptjänsten (webbappen).
Alternativ | Description |
---|---|
resource-group | Namnet på den Azure-resursgrupp som innehåller din robot. |
name | Namnet på den apptjänst som du använde tidigare. |
src | Den absoluta eller relativa sökvägen till den zippade projektfilen som du skapade. |
Dricks
Som standard distribueras det här kommandot till produktionsplatsen. Använd den valfria --slot
parametern för att ange ett annat fack.
Mer information finns i dokumentationen för kommandoreferensenaz webapp deploy
.
Testa i webbchatt
- Gå till Azure Portal i webbläsaren.
- Gå till robotresursen.
- Öppna fönstret Test i Webbchatt.
- Interagera med din distribuerade robot.
Mer information om robotregistrering finns i Registrera en robot med Bot Service.
Rensa resurser
Om du inte ska publicera det här programmet tar du bort de associerade resurserna med följande steg:
- Öppna resursgruppen för roboten i Azure Portal.
- Välj Ta bort resursgrupp för att ta bort gruppen och alla resurser den innehåller.
- Ange resursgruppens namn i bekräftelsefönstret och välj sedan Ta bort.
- Om du har skapat en app för en enskild klientorganisation eller flera klientorganisationer:
- Gå till bladet Microsoft Entra-ID.
- Leta upp den appregistrering som du använde för din robot och ta bort den.
Ytterligare resurser
Mer information om Azure-program och resurser som används som värd för en robot finns i de här artiklarna.
Ämne | Artikel |
---|---|
Azure CLI | Vad är Azure CLI? |
Azure-prenumerationshantering | Hantera Azure-prenumerationer med Azure CLI |
Azure-regioner | Regioner och tillgänglighetszoner |
Resursgrupper och resurshantering | Hantera Azure-resurser |
Hanterade identiteter | Vad är hanterade identiteter för Azure-resurser? |
Appar för en klientorganisation och flera klientorganisationer | Innehavarorganisation i Microsoft Entra-ID |
Webbprogram | App Service |
Beräkningsresurser för webbprogram | App Service-planer |
Azure Resource Manager-mallar (ARM-mallar) | Vad är ARM-mallar? och Så här använder du Distributionsmallar för Azure Resource Manager (ARM) med Azure CLI |
Azure-fakturering | Fakturering och kostnadshantering |
Kudu-filer
Distributionskommandot för webbappen använder Kudu för att distribuera C#-, JavaScript- och Python-robotar. När du använder det icke-konfigurerade ZIP-distributions-API : et för att distribuera robotens kod är beteendet följande:
Kudu förutsätter som standard att distributioner från .zip filer är redo att köras och inte kräver extra byggsteg under distributionen, till exempel npm-installation eller dotnet-återställning/dotnet-publicering.
Det är viktigt att inkludera din skapade kod med alla nödvändiga beroenden i zip-filen som distribueras. annars fungerar inte roboten som den ska. Mer information finns i Azure-dokumentationen om hur du distribuerar filer till App Service.