Provisionar e publicar um bot

APLICA-SE A: SDK v4

Este artigo descreve como usar a CLI do Azure para criar recursos para seu bot, preparar seu bot para implantação e implantar seu bot no Azure.

Este artigo pressupõe que você tenha um bot pronto para ser implantado. Para obter informações sobre como criar um bot de eco simples, consulte Criar um bot com o SDK do Bot Framework. Você também pode usar um dos exemplos fornecidos no repositório de amostras do Bot Framework.

Gorjeta

Este artigo cria um recurso de Bot do Azure para seu bot. Os bots existentes que usam um recurso de Bot de Aplicativo Web ou um recurso de Registro de Canais de Bot continuarão a funcionar, mas você não poderá criar novos bots que usem esses tipos de recursos.

Nota

Os SDKs JavaScript, C# e Python do Bot Framework continuarão a ser suportados, no entanto, o Java SDK está sendo desativado com suporte final de longo prazo terminando em novembro de 2023.

Os bots existentes construídos com o Java SDK continuarão a funcionar.

Para a criação de novos bots, considere usar o Power Virtual Agents e leia sobre como escolher a solução de chatbot certa.

Para obter mais informações, consulte O futuro da criação de bots.

Pré-requisitos

  • Para bots Java, instale o Maven.

  • Esse processo usa dois modelos do Azure Resource Manager (modelos ARM) para criar recursos para seu bot.

    Se você não tiver os modelos atuais, crie uma cópia em seu projeto de bot da pasta deploymentTemplates : C#, JavaScript, Python ou Java.

Para usar a CLI do Azure para provisionar e publicar bots, você precisa:

  • Uma conta do Azure que tenha uma assinatura ativa. Crie uma conta gratuita.

  • Uma instalação da CLI do Azure.

    Para sua linguagem de programação, use a seguinte versão da CLI do Azure. Algumas etapas não funcionarão com versões posteriores da CLI.

    Idioma Versão da CLI
    C# e JavaScript 2.39.0 ou posterior
    Python 2.55.0 ou posterior
    Java 2.29.2

Nota

Se o bot usar recursos adicionais, como um serviço de armazenamento ou serviços de idioma, eles precisarão ser implantados separadamente.

Planear a sua implementação

Antes de começar, tome essas decisões.

Decisão Notas
Como você gerenciará as identidades de seus recursos de bot no Azure Você pode usar uma identidade gerenciada atribuída pelo usuário, um registro de aplicativo de locatário único ou um registro de aplicativo mutli-tenant. Para obter mais informações, consulte Criar um recurso de identidade.
Em qual grupo ou grupos de recursos você criará seus recursos de bot Até que você esteja familiarizado com esse processo, recomendamos o uso de um grupo de recursos. Para obter mais informações, consulte Gerenciar recursos do Azure.
Se o seu bot será regional ou global Para obter informações sobre bots regionais, consulte Regionalização no Serviço de Bot do Azure AI.

Sua identidade de bot pode ser gerenciada no Azure de algumas maneiras diferentes.

  • Como uma identidade gerenciada atribuída pelo usuário, para que você não precise gerenciar as credenciais do bot por conta própria.
  • Como um aplicativo de locatário único.
  • Como um aplicativo multilocatário .

O suporte para a identidade gerenciada atribuída pelo usuário e os tipos de aplicativo de locatário único foi adicionado ao SDK do Bot Framework para C# e JavaScript na versão 4.15.0. Esses tipos de aplicativo não são suportados em outros idiomas ou no Bot Framework Composer, Bot Framework Emulator ou ngrok.

Tipo de aplicação Suporte
Identidade gerida atribuída pelo utilizador Serviço de Bot do Azure AI e os SDKs C# e JavaScript
Inquilino único Serviço de Bot do Azure AI e os SDKs C#, JavaScript e Python
Multi-inquilino Serviço de Bot do Azure AI, todas as linguagens do SDK do Bot Framework, Composer, o Emulador e ngrok

Importante

Os bots Python não podem ser implantados em um grupo de recursos que contenha serviços ou bots do Windows. No entanto, vários bots Python podem ser implantados no mesmo grupo de recursos. Crie outros serviços, como serviços de IA do Azure, em um grupo de recursos diferente.

Recursos do Azure

Antes de implantar seu bot, você cria (ou provisiona) os recursos do Azure necessários. Para algumas das etapas, você pode usar um recurso existente ou criar um novo.

Você pode achar útil decidir com antecedência os nomes dos novos recursos que você criará e os nomes dos recursos existentes que usará. Seu bot usará esses tipos de recursos.

  • A assinatura do Azure que você usará para provisionar, publicar e gerenciar o bot
  • Um ou mais grupos de recursos
  • Uma identidade gerenciada atribuída pelo usuário ou um registro de aplicativo Microsoft Entra ID
  • Um recurso do Plano do Serviço de Aplicativo
  • Um recurso do Serviço de Aplicativo
  • Um recurso de Bot do Azure

Informações utilizadas em todos os recursos

À medida que você cria recursos no Azure, o Azure gera ou solicita IDs, senhas e outras informações de que você precisará em etapas posteriores. A tabela a seguir lista as informações além dos nomes de recursos que você precisará registrar, em qual etapa ela é gerada e em quais etapas é usada.

Atenção

Muitos desses IDs e senhas são informações confidenciais. Para obter informações sobre diretrizes de segurança comuns, consulte Diretrizes de segurança do Bot Framework.

Informação Onde gerado ou encontrado Onde usado
ID de Inquilino do Inicie sessão e selecione subscrição Usar a CLI do Azure para criar um recurso do Serviço de Aplicativo, Usar a CLI do Azure para criar ou atualizar um recurso de Bot do Azure, Atualizar definições de configuração do projeto
Tipo de aplicação Criar um recurso de identidade Usar a CLI do Azure para criar um recurso do Serviço de Aplicativo, Usar a CLI do Azure para criar ou atualizar um recurso de Bot do Azure, Atualizar definições de configuração do projeto
ID de Cliente Criar um recurso de identidade Usar a CLI do Azure para criar um recurso do Serviço de Aplicativo, Usar a CLI do Azure para criar ou atualizar um recurso de Bot do Azure, Atualizar definições de configuração do projeto
URL do serviço de aplicativo base Usar a CLI do Azure para criar um recurso do Serviço de Aplicativo Usar a CLI do Azure para criar ou atualizar um recurso de Bot do Azure
App Service name Usar a CLI do Azure para criar um recurso do Serviço de Aplicativo Publicar seu bot no Azure

Inicie sessão e selecione subscrição

  1. Abra uma janela de comando.

  2. Inicie sessão no Azure.

    az login
    
    • Abre-se uma janela do browser. Conclua o processo de início de sessão.
    • Quando for bem-sucedido, o comando gera uma lista das assinaturas às quais sua conta tem acesso.
  3. Para definir a assinatura a ser usada, execute:

    az account set --subscription "<subscription>"
    

    Para <subscrição>, utilize o ID ou nome da subscrição a utilizar.

  4. Se você criar uma identidade gerenciada atribuída pelo usuário ou um bot de locatário único, registre o tenantId para a assinatura. Você usará o ID do locatário nas etapas a seguir.

Gorjeta

Se você precisar trabalhar em uma nuvem não pública, consulte Gerenciamento de nuvem do Azure com a CLI do Azure.

Criar grupos de recursos

Se você ainda não tiver um grupo de recursos apropriado, use o az group create comando para criar os novos grupos de recursos necessários.

az group create --name "<group>" --location "<region>"
Opção Description
nome O nome do grupo de recursos a ser criado.
localização A região na qual criar o grupo de recursos.

Para obter mais informações, consulte Como gerenciar grupos de recursos do Azure com a CLI do Azure.

Criar um recurso de identidade

  1. Para criar uma identidade gerenciada atribuída pelo usuário, use o az identity create comando. Quando bem-sucedido, o comando gera saída JSON.

    az identity create --resource-group "<group>" --name "<identity>"
    
    Opção Description
    resource-group O nome do grupo de recursos no qual criar a identidade.
    nome O nome do recurso de identidade a ser criado.

    Para obter mais informações, consulte a referência az identity .

  2. Registre os valores de que você precisará em etapas posteriores.

    1. O nome do grupo de recursos para o recurso de identidade
    2. O nome do recurso de identidade
    3. A clientId saída do comando from the

Crie recursos com modelos ARM

Crie o Serviço de Aplicativo e os recursos do Bot do Azure para seu bot. Ambas as etapas usam um modelo ARM e o comando da CLI do az deployment group create Azure para criar o recurso ou recursos.

  1. Crie um recurso do Serviço de Aplicativo para seu bot. O Serviço de Aplicativo pode estar dentro de um Plano de Serviço de Aplicativo novo ou existente.

    Para obter etapas detalhadas, consulte Usar a CLI do Azure para criar um Serviço de Aplicativo.

  2. Crie um recurso de Bot do Azure para seu bot.

    Para obter etapas detalhadas, consulte Usar a CLI do Azure para criar ou atualizar um Bot do Azure.

Importante

Você pode executar essas etapas em qualquer ordem. No entanto, se você criar seu Bot do Azure primeiro, precisará atualizar seu ponto de extremidade de mensagens depois de criar seu recurso do Serviço de Aplicativo.

Atualizar definições de configuração do projeto

Informações de identidade do bot

Siga estas etapas para adicionar informações de identidade ao arquivo de configuração do bot. O arquivo difere dependendo da linguagem de programação que você usa para criar o bot.

Importante

A versão Java do SDK do Bot Framework suporta apenas bots multilocatário. A versão Python do SDK do Bot Framework suporta bots multilocatários e de locatário único. As versões C# e JavaScript suportam os três tipos de aplicativos para gerenciar a identidade do bot.

Idioma Nome de ficheiro Notas
C# appsettings.json Suporta os três tipos de aplicativos para gerenciar a identidade do seu bot.
JavaScript .env Suporta os três tipos de aplicativos para gerenciar a identidade do seu bot.
Java application.properties Suporta apenas bots multilocatário.
Python config.py Suporta bots multilocatário e de locatário único. Forneça as propriedades como argumentos para as chamadas de os.environ.get método.

As informações de identidade que você precisa adicionar dependem do tipo de aplicativo do bot. Forneça os seguintes valores no arquivo de configuração.

Disponível apenas para bots C# e JavaScript.

Property valor
MicrosoftAppType UserAssignedMSI
MicrosoftAppId A ID do cliente da identidade gerenciada atribuída pelo usuário.
MicrosoftAppPassword Não aplicável. Deixe isso em branco para um bot de identidade gerenciado atribuído pelo usuário.
MicrosoftAppTenantId A ID do locatário da identidade gerenciada atribuída pelo usuário.

Prepare seus arquivos de projeto

Prepare seus arquivos de projeto antes de implantar seu bot.

  1. Mude para a pasta raiz do seu projeto. Para C#, a raiz é a pasta que contém o arquivo .csproj.

  2. Faça uma reconstrução limpa no modo de lançamento.

  3. Se você não tiver feito isso antes, execute az bot prepare-deploy para adicionar os arquivos necessários à raiz do diretório do código-fonte local. Este comando gera um .deployment arquivo na pasta do projeto do bot.

    az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"
    
    Opção Description
    lang A linguagem ou tempo de execução do bot. CsharpUtilize.
    código-dir O diretório no qual colocar os arquivos de implantação gerados. Use a pasta raiz do seu projeto. O padrão é o diretório atual.
    proj-file-path O caminho para o arquivo .csproj para seu bot, relativo à code-dir opção.
  4. Dentro da pasta raiz do seu projeto, crie um arquivo zip que contenha todos os arquivos e subpastas.

Publicar seu bot no Azure

Neste ponto, você está pronto para implantar o código do bot no recurso do Serviço de Aplicativo.

Nota

Esta etapa pode levar alguns minutos para ser concluída. Além disso, pode levar mais alguns minutos entre quando a implantação termina e quando o bot está disponível para teste.

Execute o seguinte comando na linha de comando para executar a implantação usando a implantação por push zip do Kudu para seu serviço de aplicativo (aplicativo Web).

az webapp deployment source config-zip --resource-group "<resource-group-name>" --name "<name-of-app-service>" --src "<project-zip-path>"
Opção Description
resource-group O nome do grupo de recursos do Azure que contém seu bot.
nome Nome do serviço de aplicativo usado anteriormente.
src O caminho absoluto ou relativo para o arquivo de projeto compactado que você criou.

Gorjeta

Por padrão, esse comando é implantado no slot de produção. Use o parâmetro opcional --slot para especificar um slot diferente. Para obter mais informações, consulte a referência do comando az webapp deployment source config-zip .

Teste no Chat Web

  1. No navegador, navegue até o portal do Azure.
  2. Vá para o recurso do bot.
  3. Abra o painel Testar no Web Chat .
  4. Interaja com seu bot implantado.

Para obter mais informações sobre o registro de bot, consulte Registrar um bot com o Serviço de Bot.

Clean up resources (Limpar recursos)

Se você não vai publicar este aplicativo, exclua os recursos associados com as seguintes etapas:

  1. No portal do Azure, abra o grupo de recursos para seu bot.
    1. Selecione Excluir grupo de recursos para excluir o grupo e todos os recursos que ele contém.
    2. Introduza o nome do grupo de recursos no painel de confirmação e, em seguida, selecione Eliminar.
  2. Se você criou um aplicativo de locatário único ou multilocatário:
    1. Vá para a folha ID do Microsoft Entra.
    2. Localize o registro do aplicativo que você usou para seu bot e exclua-o.

Recursos adicionais

Consulte estes artigos para obter mais informações sobre aplicativos e recursos do Azure usados para hospedar um bot.

Assunto Artigo
CLI do Azure O que é a CLI do Azure?
Gerenciamento de assinatura do Azure Como gerenciar assinaturas do Azure com a CLI do Azure
Regiões do Azure Regiões e zonas de disponibilidade
Grupos de recursos e gestão de recursos Gerir recursos do Azure
Identidades geridas O que são identidades geridas para recursos do Azure?
Aplicativos de locatário único e multilocatário Arrendamento no Microsoft Entra ID
Aplicações Web Serviço de Aplicações
Recursos de computação para aplicações Web Planos do Serviço de Aplicações
Modelos do Azure Resource Manager (modelos ARM) O que são modelos ARM? e Como usar modelos de implantação do Azure Resource Manager (ARM) com a CLI do Azure
Faturação do Azure Gestão de faturação e custos

Arquivos Kudu

O comando web app deployment usa Kudu para implantar bots C#, JavaScript e Python. Ao usar a API de implantação zip não configurada para implantar o código do bot, o comportamento é o seguinte:

O Kudu assume, por padrão, que as implantações de arquivos .zip estão prontas para serem executadas e não exigem etapas extras de compilação durante a implantação, como npm install ou dotnet restore/dotnet publish.

É importante incluir seu código construído com todas as dependências necessárias no arquivo zip que está sendo implantado; caso contrário, seu bot não funcionará como esperado. Para obter mais informações, consulte a documentação do Azure sobre como implantar arquivos no Serviço de Aplicativo.

Próximos passos

Set up continuous deployment (Configurar a implementação contínua)