Aprowizuj i opublikuj bota

DOTYCZY: ZESTAW SDK w wersji 4

W tym artykule opisano sposób użycia interfejsu wiersza polecenia platformy Azure do tworzenia zasobów bota, przygotowywania bota do wdrożenia i wdrażania bota na platformie Azure.

W tym artykule założono, że bot jest gotowy do wdrożenia. Aby uzyskać informacje na temat tworzenia prostego bota echo, zobacz Tworzenie bota przy użyciu zestawu Bot Framework SDK. Możesz również użyć jednego z przykładów podanych w repozytorium Przykładów platformy Bot Framework.

Napiwek

W tym artykule tworzony jest zasób usługi Azure Bot dla bota. Istniejące boty korzystające z zasobu bota aplikacji internetowej lub zasobu rejestracji kanałów bota będą nadal działać, ale nie można tworzyć nowych botów korzystających z tych typów zasobów.

Uwaga

Zestawy SDK języka JavaScript, C# i Python platformy Bot Framework będą nadal obsługiwane, jednak zestaw SDK języka Java jest wycofywany z ostatecznym długoterminowym wsparciem kończącym się w listopadzie 2023 r.

Istniejące boty utworzone za pomocą zestawu JAVA SDK będą nadal działać.

W przypadku tworzenia nowego bota rozważ użycie agentów usługi Power Virtual Agents i przeczytaj o wyborze odpowiedniego rozwiązania czatbota.

Aby uzyskać więcej informacji, zobacz Przyszłość tworzenia botów.

Wymagania wstępne

  • W przypadku botów Java zainstaluj narzędzie Maven.

  • Ten proces używa dwóch szablonów usługi Azure Resource Manager (szablonów usługi ARM) do tworzenia zasobów bota.

    Jeśli nie masz bieżących szablonów, utwórz kopię w projekcie bota folderu deploymentTemplates : C#, JavaScript, Python lub Java.

Aby aprowizować i publikować boty przy użyciu interfejsu wiersza polecenia platformy Azure, potrzebne są następujące elementy:

  • Konto platformy Azure z aktywną subskrypcją. Utwórz bezpłatne konto.

  • Instalacja interfejsu wiersza polecenia platformy Azure.

    W przypadku języka programowania użyj następującej wersji interfejsu wiersza polecenia platformy Azure. Niektóre kroki nie będą działać z nowszymi wersjami interfejsu wiersza polecenia.

    Język Wersja interfejsu wiersza polecenia
    C# i JavaScript 2.39.0 lub nowsza
    Python 2.55.0 lub nowszy
    Java 2.29.2

Uwaga

Jeśli bot korzysta z dodatkowych zasobów, takich jak usługa magazynu lub usługi językowe, należy je wdrożyć oddzielnie.

Planowanie wdrożenia

Przed rozpoczęciem podejmij te decyzje.

Decyzja Uwagi
Jak będziesz zarządzać tożsamościami zasobów bota na platformie Azure Możesz użyć tożsamości zarządzanej przypisanej przez użytkownika, rejestracji aplikacji z jedną dzierżawą lub rejestracji aplikacji mutli-tenant. Aby uzyskać więcej informacji, zobacz Tworzenie zasobu tożsamości.
W której grupie zasobów lub grupach zasobów utworzysz zasoby bota Do czasu zapoznania się z tym procesem zalecamy użycie jednej grupy zasobów. Aby uzyskać więcej informacji, zobacz Zarządzanie zasobami platformy Azure.
Niezależnie od tego, czy bot będzie regionalny , czy globalny Aby uzyskać informacje na temat regionalnych botów, zobacz Regionalization in Azure AI Bot Service (Regionalizacja w usłudze Azure AI Bot Service).

Tożsamość bota może być zarządzana na platformie Azure na kilka różnych sposobów.

  • Jako tożsamość zarządzana przypisana przez użytkownika, aby nie trzeba było samodzielnie zarządzać poświadczeniami bota.
  • Jako aplikacja z jedną dzierżawą.
  • Jako aplikacja wielodostępna.

Dodano obsługę tożsamości zarządzanej przypisanej przez użytkownika i typów aplikacji z jedną dzierżawą do zestawu Bot Framework SDK dla języka C# i języka JavaScript w wersji 4.15.0. Te typy aplikacji nie są obsługiwane w innych językach ani w narzędziu Bot Framework Composer, Bot Framework Emulator lub ngrok.

Typ aplikacji Pomoc techniczna
Tożsamość zarządzana przypisana przez użytkownika Azure AI Bot Service i zestawy SDK języka C# i JavaScript
Pojedyncza dzierżawa Azure AI Bot Service i zestawy SDK języka C#, JavaScript i Python
Wiele dzierżaw Azure AI Bot Service, wszystkie języki zestawu BOT Framework SDK, Composer, Emulator i ngrok

Ważne

Nie można wdrożyć botów języka Python w grupie zasobów zawierającej usługi lub boty systemu Windows. Można jednak wdrożyć wiele botów języka Python w tej samej grupie zasobów. Utwórz inne usługi, takie jak usługi Azure AI, w innej grupie zasobów.

Zasoby platformy Azure

Przed wdrożeniem bota należy utworzyć (lub aprowizować) potrzebne zasoby platformy Azure. W przypadku niektórych kroków możesz użyć istniejącego zasobu lub utworzyć nowy.

Warto zdecydować przed upływem czasu na nazwy nowych zasobów, które zostaną utworzone, oraz nazwy istniejących zasobów, których będziesz używać. Bot będzie używać tych typów zasobów.

  • Subskrypcja platformy Azure używana do aprowizowania, publikowania i zarządzania botem
  • Co najmniej jedna grupa zasobów
  • Tożsamość zarządzana przypisana przez użytkownika lub rejestracja aplikacji Microsoft Entra ID
  • Zasób planu usługi App Service
  • Zasób usługi App Service
  • Zasób usługi Azure Bot

Informacje używane między zasobami

Podczas tworzenia zasobów na platformie Azure platforma Azure będzie generować lub żądać identyfikatorów, haseł i innych informacji, które będą potrzebne w kolejnych krokach. W poniższej tabeli wymieniono informacje wykraczające poza nazwy zasobów, które należy zarejestrować, w którym kroku jest generowany i w którym kroku jest używany.

Uwaga

Wiele z tych identyfikatorów i haseł jest poufnych informacji. Aby uzyskać informacje na temat typowych wytycznych dotyczących zabezpieczeń, zobacz Wskazówki dotyczące zabezpieczeń platformy Bot Framework.

Informacja Gdzie wygenerowano lub znaleziono Gdzie używane
Identyfikator dzierżawy Zaloguj się i wybierz subskrypcję Użyj interfejsu wiersza polecenia platformy Azure, aby utworzyć zasób usługi App Service, utworzyć lub zaktualizować zasób usługi Azure Bot, zaktualizować ustawienia konfiguracji projektu
Typ aplikacji Tworzenie zasobu tożsamości Użyj interfejsu wiersza polecenia platformy Azure, aby utworzyć zasób usługi App Service, utworzyć lub zaktualizować zasób usługi Azure Bot, zaktualizować ustawienia konfiguracji projektu
Client ID Tworzenie zasobu tożsamości Użyj interfejsu wiersza polecenia platformy Azure, aby utworzyć zasób usługi App Service, utworzyć lub zaktualizować zasób usługi Azure Bot, zaktualizować ustawienia konfiguracji projektu
Podstawowy adres URL usługi App Service Tworzenie zasobu usługi App Service przy użyciu interfejsu wiersza polecenia platformy Azure Tworzenie lub aktualizowanie zasobu usługi Azure Bot przy użyciu interfejsu wiersza polecenia platformy Azure
Nazwa usługi App Service Tworzenie zasobu usługi App Service przy użyciu interfejsu wiersza polecenia platformy Azure Publikowanie bota na platformie Azure

Zaloguj się i wybierz subskrypcję

  1. Otwórz okno polecenia.

  2. Zaloguj się do Azure.

    az login
    
    • Zostanie otwarte okno przeglądarki. Zakończ proces logowania.
    • Po pomyślnym zakończeniu polecenie zwraca listę subskrypcji, do których twoje konto ma dostęp.
  3. Aby ustawić subskrypcję do użycia, uruchom polecenie:

    az account set --subscription "<subscription>"
    

    W przypadku <subskrypcji> użyj identyfikatora lub nazwy subskrypcji do użycia.

  4. Jeśli utworzysz tożsamość zarządzaną przypisaną przez użytkownika lub bota z jedną dzierżawą, zapisz wartość tenantId dla subskrypcji. Użyjesz identyfikatora dzierżawy w poniższych krokach.

Napiwek

Jeśli musisz pracować w chmurze innej niż publiczna, zobacz Zarządzanie chmurą platformy Azure za pomocą interfejsu wiersza polecenia platformy Azure.

Utwórz grupy zasobów

Jeśli nie masz jeszcze odpowiedniej grupy zasobów, użyj az group create polecenia , aby utworzyć potrzebne nowe grupy zasobów.

az group create --name "<group>" --location "<region>"
Opcja opis
name Nazwa grupy zasobów do utworzenia.
lokalizacja Region, w którym ma zostać utworzona grupa zasobów.

Aby uzyskać więcej informacji, zobacz Jak zarządzać grupami zasobów platformy Azure za pomocą interfejsu wiersza polecenia platformy Azure.

Tworzenie zasobu tożsamości

  1. Aby utworzyć tożsamość zarządzaną przypisaną przez użytkownika, użyj az identity create polecenia . Po powodzeniu polecenie generuje dane wyjściowe JSON.

    az identity create --resource-group "<group>" --name "<identity>"
    
    Opcja Opis
    resource-group Nazwa grupy zasobów, w której ma zostać utworzona tożsamość.
    name Nazwa zasobu tożsamości do utworzenia.

    Aby uzyskać więcej informacji, zobacz az identity reference.

  2. Rejestruj wartości, które będą potrzebne w kolejnych krokach.

    1. Nazwa grupy zasobów zasobu tożsamości
    2. Nazwa zasobu tożsamości
    3. Element clientId z danych wyjściowych polecenia

Tworzenie zasobów przy użyciu szablonów usługi ARM

Utwórz usługę App Service i zasoby usługi Azure Bot dla bota. Oba kroki używają szablonu usługi ARM i polecenia interfejsu az deployment group create wiersza polecenia platformy Azure, aby utworzyć zasób lub zasoby.

  1. Utwórz zasób usługi App Service dla bota. Usługa App Service może znajdować się w nowym lub istniejącym planie usługi App Service.

    Aby uzyskać szczegółowe instrukcje, zobacz Tworzenie usługi App Service przy użyciu interfejsu wiersza polecenia platformy Azure.

  2. Utwórz zasób usługi Azure Bot dla bota.

    Aby uzyskać szczegółowe instrukcje, zobacz Tworzenie lub aktualizowanie bota platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

Ważne

Te kroki można wykonać w każdej kolejności. Jeśli jednak najpierw utworzysz usługę Azure Bot, musisz zaktualizować punkt końcowy obsługi komunikatów po utworzeniu zasobu usługi App Service.

Aktualizowanie ustawień konfiguracji projektu

Informacje o tożsamości bota

Wykonaj następujące kroki, aby dodać informacje o tożsamości do pliku konfiguracji bota. Plik różni się w zależności od języka programowania używanego do utworzenia bota.

Ważne

Wersja java zestawu Bot Framework SDK obsługuje tylko boty wielodostępne. Wersja języka Python zestawu Bot Framework SDK obsługuje boty wielodostępne i jednodostępne. Wersje języków C# i JavaScript obsługują wszystkie trzy typy aplikacji do zarządzania tożsamością bota.

Język Nazwa pliku Uwagi
C# appsettings.json Obsługuje wszystkie trzy typy aplikacji do zarządzania tożsamością bota.
JavaScript .Env Obsługuje wszystkie trzy typy aplikacji do zarządzania tożsamością bota.
Java application.properties Obsługuje tylko boty z wieloma dzierżawami.
Python config.py Obsługuje boty wielodostępne i jednodostępne. Podaj właściwości jako argumenty wywołań os.environ.get metody.

Informacje o tożsamości, które należy dodać, zależą od typu aplikacji bota. Podaj następujące wartości w pliku konfiguracji.

Dostępne tylko dla botów języka C# i JavaScript.

Właściwości Wartość
MicrosoftAppType UserAssignedMSI
MicrosoftAppId Identyfikator klienta tożsamości zarządzanej przypisanej przez użytkownika.
MicrosoftAppPassword Nie dotyczy. Pozostaw to pole puste dla bota tożsamości zarządzanej przypisanej przez użytkownika.
MicrosoftAppTenantId Identyfikator dzierżawy tożsamości zarządzanej przypisanej przez użytkownika.

Przygotowywanie plików projektu

Przygotuj pliki projektu przed wdrożeniem bota.

  1. Przejdź do folderu głównego projektu. W języku C#katalog główny to folder zawierający plik csproj.

  2. Wykonaj czystą ponowną kompilację w trybie wydania.

  3. Jeśli jeszcze tego nie zrobiono, uruchom polecenie az bot prepare-deploy , aby dodać wymagane pliki do katalogu głównego lokalnego katalogu kodu źródłowego. To polecenie generuje .deployment plik w folderze projektu bota.

    az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"
    
    Opcja Opis
    Lang Język lub środowisko uruchomieniowe bota. Użyj witryny Csharp.
    code-dir Katalog do umieszczania wygenerowanych plików wdrożenia. Użyj folderu głównego projektu. Wartość domyślna to bieżący katalog.
    proj-file-path Ścieżka do pliku csproj bota code-dir względem opcji .
  4. W folderze głównym projektu utwórz plik zip zawierający wszystkie pliki i podfoldery.

Publikowanie bota na platformie Azure

Na tym etapie możesz wdrożyć kod bota w zasobie usługi App Service.

Uwaga

Wykonanie tego kroku może potrwać kilka minut. Może to również potrwać kilka minut między zakończeniem wdrażania a udostępnieniem bota do testowania.

Uruchom następujące polecenie z wiersza polecenia, aby wykonać wdrożenie przy użyciu wdrożenia wypychanego zip Kudu dla usługi App Service (aplikacja internetowa).

az webapp deployment source config-zip --resource-group "<resource-group-name>" --name "<name-of-app-service>" --src "<project-zip-path>"
Opcja Opis
resource-group Nazwa grupy zasobów platformy Azure, która zawiera bota.
name Nazwa użytej wcześniej usługi app Service.
src Ścieżka bezwzględna lub względna do utworzonego pliku projektu spakowanego.

Napiwek

Domyślnie to polecenie jest wdrażane w miejscu produkcyjnym. Użyj opcjonalnego --slot parametru, aby określić inne miejsce. Aby uzyskać więcej informacji, zobacz dokumentację polecenia az webapp deployment source config-zip .

Testuj w rozmowie internetowej

  1. W przeglądarce przejdź do witryny Azure Portal.
  2. Przejdź do zasobu bota.
  3. Otwórz okienko Test w czat internetowy.
  4. Interakcja z wdrożonym botem.

Aby uzyskać więcej informacji na temat rejestracji bota, zobacz Rejestrowanie bota w usłudze Bot Service.

Czyszczenie zasobów

Jeśli nie zamierzasz publikować tej aplikacji, usuń skojarzone zasoby, wykonując następujące czynności:

  1. W witrynie Azure Portal otwórz grupę zasobów bota.
    1. Wybierz pozycję Usuń grupę zasobów, aby usunąć grupę i wszystkie zawarte w niej zasoby.
    2. Wprowadź nazwę grupy zasobów w okienku potwierdzenia, a następnie wybierz pozycję Usuń.
  2. Jeśli utworzono aplikację z jedną dzierżawą lub aplikację wielodostępną:
    1. Przejdź do bloku Microsoft Entra ID.
    2. Znajdź rejestrację aplikacji użytą dla bota i usuń ją.

Dodatkowe zasoby

Zobacz te artykuły, aby uzyskać więcej informacji na temat aplikacji i zasobów platformy Azure używanych do hostowania bota.

Temat Artykuł
Interfejs wiersza polecenia platformy Azure Co to jest interfejs wiersza polecenia platformy Azure?
Zarządzanie subskrypcjami platformy Azure Jak zarządzać subskrypcjami platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure
Regiony platformy Azure Regiony i strefy dostępności
Grupy zasobów i zarządzanie zasobami Zarządzanie zasobami platformy Azure
Tożsamości zarządzane Co to są tożsamości zarządzane dla zasobów platformy Azure?
Aplikacje z jedną dzierżawą i wieloma dzierżawami Dzierżawa w usłudze Microsoft Entra ID
Aplikacje sieci Web App Service
Zasoby obliczeniowe dla aplikacji internetowych Plany usługi App Service
Szablony usługi Azure Resource Manager (szablony usługi ARM) Co to są szablony usługi ARM? i Jak używać szablonów wdrażania usługi Azure Resource Manager (ARM) za pomocą interfejsu wiersza polecenia platformy Azure
Rozliczenia platformy Azure Rozliczenia i zarządzanie kosztami

Pliki Kudu

Polecenie wdrażania aplikacji internetowej używa narzędzia Kudu do wdrażania botów języka C#, JavaScript i Python. W przypadku korzystania z nieskonfigurowane interfejsu API wdrażania zip w celu wdrożenia kodu bota zachowanie jest następujące:

Kudu zakłada domyślnie, że wdrożenia z plików .zip są gotowe do uruchomienia i nie wymagają dodatkowych kroków kompilacji podczas wdrażania, takich jak npm install lub dotnet restore/dotnet publish.

Ważne jest, aby uwzględnić utworzony kod ze wszystkimi niezbędnymi zależnościami w wdrażanym pliku zip; w przeciwnym razie bot nie będzie działać zgodnie z oczekiwaniami. Aby uzyskać więcej informacji, zobacz dokumentację platformy Azure dotyczącą sposobu wdrażania plików w usłudze App Service.

Następne kroki