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. Endast kritiska säkerhets- och felkorrigeringar på den här lagringsplatsen utförs.

Befintliga robotar som skapats med Java SDK fortsätter att fungera.

Om du vill skapa en ny robot bör du överväga att använda Power Virtual Agents och läsa om hur du väljer rätt chattrobotlö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.

  • En installation av Azure CLI.

    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.36.0
    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 de användartilldelade apptyperna för hanterad identitet och en klientorganisation har lagts till i Bot Framework SDK för C# och JavaScript i version 4.15.0. Dessa apptyper stöds inte på andra språk eller i Bot Framework Composer, Bot Framework Emulator eller ngrok.

Apptyp Support
Användartilldelad hanterad identitet Azure AI Bot Service och C# och JavaScript SDK:er
Enskild klientorganisation Azure AI Bot Service och C# och JavaScript SDK:er
Flera klientorganisationer Azure AI Bot Service, alla Bot Framework SDK-språk, Composer, emulatorn och ngrok

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.

Information Där genereras eller hittas Där används
Klientorganisations-ID Logga in och välj prenumeration Använd Azure CLI för att skapa en App Service-resurs, Använda Azure CLI för att skapa eller uppdatera en Azure Bot-resurs, Uppdatera konfigurationsinställningar för projekt
Apptyp Skapa en identitetsresurs Använd Azure CLI för att skapa en App Service-resurs, Använda Azure CLI för att skapa eller uppdatera en Azure Bot-resurs, Uppdatera konfigurationsinställningar för projekt
Client ID Skapa en identitetsresurs Använd Azure CLI för att skapa en App Service-resurs, Använda Azure CLI för att skapa eller uppdatera en Azure Bot-resurs, Uppdatera konfigurationsinställningar för projekt
Url för basapptjänst Använda Azure CLI för att skapa en App Service-resurs Använda Azure CLI för att skapa eller uppdatera en Azure Bot-resurs
Apptjänstnamn Använda Azure CLI för att skapa en App Service-resurs Publicera din robot till Azure

Logga in och välj prenumeration

  1. Öppna ett kommandofönster.

  2. 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.
  3. 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.

  4. 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

  1. 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 .

  2. Registrera värden som du behöver i senare steg.

    1. Namnet på resursgruppen för identitetsresursen
    2. Namnet på identitetsresursen
    3. 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.

  1. 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.

  2. 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- och Python-versionerna av Bot Framework SDK stöder endast robotar för flera klientorganisationer. C#- och JavaScript-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 endast robotar med flera klientorganisationer. Ange identitetsegenskaperna som argument för metodanropen os.environ.get .

Identitetsinformationen som du behöver lägga till beror på robotens programtyp. Ange följande värden i konfigurationsfilen.

Endast tillgängligt för C#- och JavaScript-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.

  1. Växla till projektets rotmapp. För C# är roten den mapp som innehåller .csproj-filen.

  2. Gör en ren återskapa i versionsläge.

  3. 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 .
  4. 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.

Kör följande kommando från kommandoraden för att utföra distributionen med hjälp av Kudu zip-push-distributionen för apptjänsten (webbappen).

az webapp deployment source config-zip --resource-group "<resource-group-name>" --name "<name-of-app-service>" --src "<project-zip-path>"
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 kommandoreferensen az webapp deployment source config-zip .

Testa i webbchatt

  1. Gå till Azure-portalen i webbläsaren.
  2. Gå till robotresursen.
  3. Öppna fönstret Test i Webbchatt.
  4. 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:

  1. Öppna resursgruppen för din robot i Azure-portalen.
    1. Välj Ta bort resursgrupp för att ta bort gruppen och alla resurser den innehåller.
    2. Ange resursgruppens namn i bekräftelsefönstret och välj sedan Ta bort.
  2. Om du har skapat en app för en enskild klientorganisation eller flera klientorganisationer:
    1. Gå till bladet Microsoft Entra-ID.
    2. 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.

Nästa steg