Zřízení a publikování robota

PLATÍ PRO: SDK v4

Tento článek popisuje, jak pomocí Azure CLI vytvořit prostředky pro robota, připravit robota na nasazení a nasadit robota do Azure.

Tento článek předpokládá, že máte robota připravený k nasazení. Informace o tom, jak vytvořit jednoduchého robota echo, najdete v tématu Vytvoření robota pomocí sady SDK služby Bot Framework. Můžete také použít jednu z ukázek uvedených v úložišti ukázek služby Bot Framework.

Tip

Tento článek vytvoří prostředek robota Azure pro vašeho robota. Stávající roboti, kteří používají prostředek Web App Bot nebo prostředek Bot Channels Registration, budou dál fungovat, ale nemůžete vytvářet nové roboty, kteří tyto typy prostředků používají.

Poznámka:

Sady SDK služby Bot Framework JavaScript, C# a Python budou nadále podporovány, ale sada Java SDK se vyřazuje s konečnou dlouhodobou podporou končící v listopadu 2023. V tomto úložišti budou provedeny pouze kritické opravy zabezpečení a chyb.

Stávající roboti sestavení pomocí sady Java SDK budou i nadále fungovat.

Pro nové vytváření robotů zvažte použití Power Virtual Agents a přečtěte si o výběru správného řešení chatovacího robota.

Další informace najdete v tématu Budoucnost vytváření robotů.

Požadavky

  • Pro roboty v Javě nainstalujte Maven.

  • Tento proces používá dvě šablony Azure Resource Manageru (šablony ARM) k vytvoření prostředků pro robota.

    Pokud nemáte aktuální šablony, vytvořte ve svém projektu robota kopii složky deploymentTemplates : C#, JavaScript, Python nebo Java.

Pokud chcete ke zřizování a publikování robotů používat Azure CLI, potřebujete:

  • Účet Azure, který má aktivní předplatné. Vytvořte si bezplatný účet.

  • Instalace Azure CLI.

    Pro váš programovací jazyk použijte následující verzi Azure CLI. Některé kroky nebudou fungovat s novějšími verzemi rozhraní příkazového řádku.

    Jazyk Verze rozhraní příkazového řádku
    C# a JavaScript 2.39.0 nebo novější
    Python 2.36.0
    Java 2.29.2

Poznámka:

Pokud váš robot používá další prostředky, jako je služba úložiště nebo služba jazyka, je potřeba je nasadit samostatně.

Plánování nasazení

Než začnete, udělejte tato rozhodnutí.

Rozhodnutí Notes
Jak budete spravovat identity prostředků robota v Azure Můžete použít spravovanou identitu přiřazenou uživatelem, registraci aplikace s jedním tenantem nebo registraci aplikace s více tenanty. Další informace najdete v tématu Vytvoření prostředku identity.
Ve které skupině prostředků nebo skupinách prostředků vytvoříte prostředky robota Dokud tento proces neznáte, doporučujeme použít jednu skupinu prostředků. Další informace najdete v tématu Správa prostředků Azure.
Bez ohledu na to, jestli váš robot bude regionální nebo globální Informace o regionálních robotech najdete v tématu Regionalizace ve službě Azure AI Bot Service.

Identitu robota je možné spravovat v Azure několika různými způsoby.

  • Jako spravovaná identita přiřazená uživatelem, takže nemusíte spravovat přihlašovací údaje robota sami.
  • Jako aplikace s jedním tenantem.
  • Jako aplikace s více tenanty .

Podpora spravované identity přiřazené uživatelem a typů aplikací s jedním tenantem byla přidána do sady SDK služby Bot Framework pro C# a JavaScript ve verzi 4.15.0. Tyto typy aplikací nejsou podporované v jiných jazycích ani v Bot Framework Composeru, Bot Framework Emulatoru nebo ngroku.

Typ aplikace Technická podpora
Spravovaná identita přiřazená uživatelem Azure AI Bot Service a sady SDK jazyka C# a JavaScript
Jeden tenant Azure AI Bot Service a sady SDK jazyka C# a JavaScript
Vícetenantové Azure AI Bot Service, všechny jazyky sady SDK služby Bot Framework, Composer, Emulátor a ngrok

Důležité

Roboti Pythonu se nedají nasadit do skupiny prostředků, která obsahuje služby nebo roboty Windows. Do stejné skupiny prostředků je ale možné nasadit několik robotů Pythonu. Vytvořte jiné služby, jako jsou služby Azure AI, v jiné skupině prostředků.

Prostředky Azure

Před nasazením robota vytvoříte (nebo zřídíte) prostředky Azure, které bude potřebovat. U některých kroků můžete použít existující prostředek nebo vytvořit nový.

Možná bude užitečné se předem rozhodnout o názvech nových prostředků, které vytvoříte, a názvy existujících prostředků, které budete používat. Robot bude tyto typy prostředků používat.

  • Předplatné Azure, které použijete ke zřízení, publikování a správě robota
  • Jedna nebo více skupin prostředků
  • Spravovaná identita přiřazená uživatelem nebo registrace aplikace Microsoft Entra ID
  • Prostředek plánu služby App Service
  • Prostředek služby App Service
  • Prostředek Robota Azure

Informace používané napříč prostředky

Při vytváření prostředků v Azure vygeneruje Azure ID, hesla a další informace, které budete potřebovat v dalších krocích. Následující tabulka uvádí informace nad rámec názvů prostředků, které budete muset zaznamenat, v jakém kroku se vygeneruje a v jakém postupu se použije.

Upozornění

Mnohé z těchto ID a hesel jsou citlivé informace. Informace o běžných pokynech zabezpečení najdete v tématu Pokyny k zabezpečení služby Bot Framework.

Informační Kde je vygenerováno nebo nalezeno Kde se používá
ID tenanta Přihlášení a výběr předplatného Použití Azure CLI k vytvoření prostředku služby App Service, použití Azure CLI k vytvoření nebo aktualizaci prostředku robota Azure, aktualizace nastavení konfigurace projektu
Typ aplikace Vytvoření prostředku identity Použití Azure CLI k vytvoření prostředku služby App Service, použití Azure CLI k vytvoření nebo aktualizaci prostředku robota Azure, aktualizace nastavení konfigurace projektu
Client ID Vytvoření prostředku identity Použití Azure CLI k vytvoření prostředku služby App Service, použití Azure CLI k vytvoření nebo aktualizaci prostředku robota Azure, aktualizace nastavení konfigurace projektu
Adresa URL základní služby App Service Vytvoření prostředku služby App Service pomocí Azure CLI Vytvoření nebo aktualizace prostředku robota Azure pomocí Azure CLI
Název služby App Service Vytvoření prostředku služby App Service pomocí Azure CLI Publikování robota do Azure

Přihlášení a výběr předplatného

  1. Otevřete příkazové okno.

  2. Přihlaste se do Azure.

    az login
    
    • Otevře se okno prohlížeče. Dokončete proces přihlašování.
    • Příkaz úspěšně vypíše seznam předplatných, ke které má váš účet přístup.
  3. Pokud chcete nastavit, aby se předplatné používalo, spusťte:

    az account set --subscription "<subscription>"
    

    Pro <předplatné> použijte ID nebo název předplatného, které chcete použít.

  4. Pokud vytvoříte spravovanou identitu přiřazenou uživatelem nebo robota s jedním tenantem, poznamenejte si tenantId předplatné. ID tenanta použijete v následujících krocích.

Tip

Pokud potřebujete pracovat v neveřejovém cloudu, prohlédnou si správa cloudu Azure pomocí Azure CLI.

Vytvoření skupin zdrojů

Pokud ještě nemáte odpovídající skupinu prostředků, pomocí az group create příkazu vytvořte nové skupiny prostředků, které potřebujete.

az group create --name "<group>" --location "<region>"
Možnost Popis
name Název skupiny prostředků, která se má vytvořit.
location Oblast, ve které chcete vytvořit skupinu prostředků.

Další informace najdete v tématu Správa skupin prostředků Azure pomocí Azure CLI.

Vytvoření prostředku identity

  1. Pokud chcete vytvořit spravovanou identitu přiřazenou uživatelem, použijte az identity create příkaz. Při úspěchu příkaz vygeneruje výstup JSON.

    az identity create --resource-group "<group>" --name "<identity>"
    
    Možnost Popis
    resource-group Název skupiny prostředků, ve které se má identita vytvořit.
    name Název prostředku identity, který se má vytvořit.

    Další informace najdete v referenčních informacích k příkazu az identity .

  2. Poznamenejte si hodnoty, které budete potřebovat v dalších krocích.

    1. Název skupiny prostředků pro prostředek identity
    2. Název prostředku identity
    3. Výstup clientId příkazu

Vytváření prostředků pomocí šablon ARM

Vytvořte pro robota prostředky služby App Service a Azure Bot. Oba kroky používají šablonu ARM a az deployment group create příkaz Azure CLI k vytvoření prostředku nebo prostředků.

  1. Vytvořte prostředek služby App Service pro robota. Služba App Service může být v rámci nového nebo existujícího plánu služby App Service.

    Podrobný postup najdete v tématu Použití Azure CLI k vytvoření služby App Service.

  2. Vytvořte prostředek robota Azure pro robota.

    Podrobné kroky najdete v tématu Použití Azure CLI k vytvoření nebo aktualizaci robota Azure.

Důležité

Tyto kroky můžete provést v libovolném pořadí. Pokud ale nejprve vytvoříte robota Azure, budete muset po vytvoření prostředku služby App Service aktualizovat koncový bod zasílání zpráv.

Aktualizace nastavení konfigurace projektu

Informace o identitě robota

Podle těchto kroků přidejte informace o identitě do konfiguračního souboru robota. Soubor se liší v závislosti na programovacím jazyce, který používáte k vytvoření robota.

Důležité

Verze Java a Python sady Bot Framework SDK podporují pouze roboty s více tenanty. Verze C# a JavaScript podporují všechny tři typy aplikací pro správu identity robota.

Jazyk Název souboru Notes
C# appsettings.json Podporuje všechny tři typy aplikací pro správu identity robota.
JavaScript .Env Podporuje všechny tři typy aplikací pro správu identity robota.
Java application.properties Podporuje pouze roboty s více tenanty.
Python config.py Podporuje pouze roboty s více tenanty. Zadejte vlastnosti identity jako argumenty volání os.environ.get metody.

Informace o identitě, které potřebujete přidat, závisí na typu aplikace robota. Do konfiguračního souboru zadejte následující hodnoty.

K dispozici pouze pro roboty jazyka C# a JavaScript.

Vlastnost Hodnota
MicrosoftAppType UserAssignedMSI
MicrosoftAppId ID klienta spravované identity přiřazené uživatelem.
MicrosoftAppPassword Nevztahuje se. Ponechte toto pole prázdné pro robota spravované identity přiřazeného uživatelem.
MicrosoftAppTenantId ID tenanta spravované identity přiřazené uživatelem.

Příprava souborů projektu

Před nasazením robota připravte soubory projektu.

  1. Přepněte do kořenové složky projektu. V jazyce C# je kořenová složka, která obsahuje soubor .csproj.

  2. Proveďte čisté opětovné sestavení v režimu vydání.

  3. Pokud jste to ještě neudělali, spusťte příkaz az bot prepare-deploy pro přidání požadovaných souborů do kořenového adresáře místního zdrojového kódu. Tento příkaz vygeneruje .deployment soubor ve složce projektu robota.

    az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"
    
    Možnost Popis
    Lang Jazyk nebo modul runtime robota. Použijte Csharp.
    code-dir Adresář pro umístění vygenerovaných souborů nasazení. Použijte kořenovou složku projektu. Výchozí hodnota je aktuální adresář.
    proj-file-path Cesta k souboru .csproj pro vašeho robota code-dir vzhledem k možnosti.
  4. V kořenové složce projektu vytvořte soubor ZIP, který obsahuje všechny soubory a podsložky.

Publikování robota do Azure

V tuto chvíli jste připraveni nasadit kód robota do prostředku služby App Service.

Poznámka:

Dokončení tohoto kroku může trvat několik minut. Mezi dokončením nasazení a dostupností robota k otestování může trvat i několik minut.

Spuštěním následujícího příkazu z příkazového řádku proveďte nasazení pomocí nabízeného nasazení Kudu zip pro vaši službu App Service (webová aplikace).

az webapp deployment source config-zip --resource-group "<resource-group-name>" --name "<name-of-app-service>" --src "<project-zip-path>"
Možnost Popis
resource-group Název skupiny prostředků Azure, která obsahuje vašeho robota.
name Název služby App Service, kterou jste použili dříve.
src Absolutní nebo relativní cesta k souboru komprimovaného projektu, který jste vytvořili.

Tip

Ve výchozím nastavení se tento příkaz nasadí do produkčního slotu. K určení jiného slotu použijte volitelný --slot parametr. Další informace najdete v referenčních informacích k příkazu az webapp deployment source config-zip .

Otestovat ve webovém chatu

  1. V prohlížeči přejděte na web Azure Portal.
  2. Přejděte k prostředku robota.
  3. Otevřete podokno Test v Webový chat.
  4. Interakce s nasazeným robotem

Další informace o registraci robota najdete v tématu Registrace robota ve službě Bot Service.

Vyčištění prostředků

Pokud tuto aplikaci nepublikujete, odstraňte přidružené prostředky pomocí následujícího postupu:

  1. Na webu Azure Portal otevřete skupinu prostředků robota.
    1. Výběrem možnosti Odstranit skupinu prostředků odstraňte skupinu a všechny prostředky, které obsahuje.
    2. Do potvrzovací podokna zadejte název skupiny prostředků a pak vyberte Odstranit.
  2. Pokud jste vytvořili aplikaci s jedním tenantem nebo více tenanty:
    1. Přejděte do okna Microsoft Entra ID.
    2. Vyhledejte registraci aplikace, kterou jste použili pro robota, a odstraňte ji.

Další materiály

Další informace o aplikacích a prostředcích Azure, které se používají k hostování robota, najdete v těchto článcích.

Předmět Článek
Azure CLI Co je Azure CLI?
Správa předplatného Azure Správa předplatných Azure pomocí Azure CLI
Oblasti Azure Oblasti a zóny dostupnosti
Skupiny prostředků a správa prostředků Správa prostředků Azure
Spravované identity Co jsou spravované identity pro prostředky Azure?
Aplikace s jedním tenantem a více tenanty Tenantská architektura v Microsoft Entra ID
Webové aplikace App Service
Výpočetní prostředky pro webové aplikace Plány služby App Service
Šablony Azure Resource Manageru (šablony ARM) Co jsou šablony ARM? a jak používat šablony nasazení Azure Resource Manageru (ARM) s Azure CLI
Fakturace Azure Fakturace a správa nákladů

Soubory Kudu

Příkaz nasazení webové aplikace používá Kudu k nasazení robotů C#, JavaScript a Python. Pokud k nasazení kódu robota použijete nekonfigurované rozhraní ZIP DEPLOY API , chování je následující:

Kudu ve výchozím nastavení předpokládá, že nasazení z .zip souborů jsou připravená ke spuštění a během nasazování nevyžadují další kroky sestavení, jako je instalace npm nebo dotnet restore/dotnet publish.

Je důležité zahrnout integrovaný kód se všemi nezbytnými závislostmi v nasazovaném souboru ZIP; jinak robot nebude fungovat tak, jak má. Další informace najdete v dokumentaci k Azure o tom, jak nasadit soubory do služby App Service.

Další kroky