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 implantação. Para obter informações sobre como criar um bot de eco simples, confira 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.
Dica
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 funcionando, mas você não poderá criar novos bots que usem esses tipos de recursos.
Observação
Os SDKs JavaScript, C# e Python do Bot Framework continuarão a ser compatíveis. No entanto, o SDK Java está sendo desativado, com o suporte final de longo prazo terminando em novembro de 2023.
Os bots existentes criados com o SDK para Java continuarão a funcionar.
Para a criação de novos bots, considere usar o Microsoft Copilot Studio e leia sobre como escolher a solução de copiloto certa.
Para obter mais informações, confira O futuro da criação de bots.
Pré-requisitos
Para bots Java, instale o Maven.
Este processo utiliza dois modelos do Resource Manager do Azure (modelos do ARM) para criar recursos para o 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 com uma assinatura ativa. Criar uma conta gratuita.
-
Para a linguagem de programação, use a versão da CLI do Azure apresentada a seguir. 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
Observação
Se o bot usar recursos adicionais, como um serviço de armazenamento ou serviços de linguagem, eles precisarão ser implantados separadamente.
Planejar sua implantação
Antes de começar, tome essas decisões.
Decisão | Observações |
---|---|
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 de locatário múltiplo. Para obter mais informações, confira Criar um o Alexa |
Em qual grupo de recursos ou grupos de recursos você criará seus recursos de bot | Até que você esteja familiarizado com esse processo, recomendamos usar um grupo de recursos. Para obter mais informações, confira Gerenciar recursos do Azure. |
Se o seu bot será regional ou global | Para obter informações sobre bots regionais, confira Regionalização no Serviço de Bot de IA do Azure. |
A identidade do bot pode ser gerenciada no Azure de algumas maneiras diferentes.
- Como uma identidade gerenciada atribuída pelo usuário, você não precisa 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#, JavaScript e Python. Esses tipos de aplicativo não têm suporte em outras linguagens ou no Bot Framework Composer, no Bot Framework Emulator ou nos Dev Tunnels.
Tipo de aplicativo | Suporte |
---|---|
Identidade gerenciada atribuída pelo usuário | Serviço de Bot de IA do Azure e os SDKs de C#, JavaScript e Python |
Locatário único | Serviço de Bot de IA do Azure e os SDKs de C#, JavaScript e Python |
Multilocatário | Serviço de Bot de IA do Azure, todas as linguagens do SDK do Bot Framework, Composer, Emulador e Túneis de Desenvolvimento |
Importante
Os bots do Python não podem ser implantados em um grupo de recursos que contenha serviços do Windows ou de bots. No entanto, vários bots Python podem ser implantados no mesmo grupo de recursos. Crie outros serviços, como os 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 etapas, você pode usar um recurso existente ou criar um novo.
Talvez seja útil decidir com antecedência os nomes dos novos recursos que você criará e os nomes dos recursos existentes que você 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 blocos de recursos
- Uma identidade gerenciada atribuída pelo usuário ou um registro de aplicativo do Microsoft Entra ID
- Um recurso Plano do Serviço de Aplicativo
- Um recurso do serviço de aplicativo
- Um recurso do Bot do Azure
Informações usadas entre recursos
À medida que você cria recursos no Azure, o Azure gera ou solicita IDs, senhas e outras informações necessárias nas 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 ela é usada.
Cuidado
Muitos desses IDs e senhas são informações confidenciais. Para obter informações sobre diretrizes de segurança comuns, confira Diretrizes de segurança do Bot Framework.
Iniciar sessão e selecionar a assinatura
Abra uma janela de comando.
Inicie sessão no Azure.
az login
- Uma janela do navegador será aberta. Conclua o processo de conexão.
- Em caso de êxito, o comando gera uma lista das assinaturas às quais sua conta tem acesso.
Para definir a assinatura a ser usada, execute:
az account set --subscription "<subscription>"
Para <assinatura>, use a ID ou o nome da assinatura a ser usada.
Se você criar uma identidade gerenciada atribuída pelo usuário ou um bot de locatário único, registre a
tenantId
para a assinatura. Você usará a ID de locatário nas etapas a seguir.
Dica
Se você precisar trabalhar em uma nuvem não pública, confira 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 comando az group create
para criar os grupos de recursos necessários.
az group create --name "<group>" --location "<region>"
Opção | Descrição |
---|---|
name | Nome do grupo de recursos a ser criado. |
localização | A região usada para criar o grupo de recursos. |
Para obter mais informações, confira Como gerenciar grupos de recursos do Azure com a CLI do Azure.
Criar um recurso de identidade
Para criar uma identidade gerenciada atribuída pelo usuário, use o comando
az identity create
. Em caso de êxito, o comando gera a saída JSON.az identity create --resource-group "<group>" --name "<identity>"
Opção Descrição resource-group O nome do grupo de recursos no qual criar a identidade. name O nome do recurso de identidade a ser criado. Para obter mais informações, confira a referência az identity.
Registre os valores necessários para as etapas posteriores.
- O nome do grupo de recursos para o recurso de identidade
- O nome do recurso de identidade
- O
clientId
da saída do comando
Configurar recursos com modelos do ARM
Criar o Serviço de Aplicativo e os recursos de bot do Azure para seu bot.
Ambas as etapas usam um modelo do ARM e o comando da CLI do Azure az deployment group create
para criar um ou mais recursos.
Criar um recurso do Serviço de Aplicativo para seu bot. O Serviço de Aplicativo pode estar dentro de um Plano do Serviço de Aplicativo novo ou existente.
Para obter etapas detalhadas, confira Usar a CLI do Azure para criar um Serviço de Aplicativo.
Criar seu recurso de bot Kudu.
Para obter etapas detalhadas, confira Usar a CLI do Azure para criar ou atualizar um Bot do Azure.
Importante
Essas etapas podem ser feitas em qualquer ordem. No entanto, se você criar seu Bot do Azure primeiro, precisará atualizar o ponto de extremidade de mensagens depois de criar o 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 usada para criar o bot.
Importante
A versão Java do SDK do Bot Framework dá suporte apenas a bots multilocatários. As versões C#, JavaScript e Python dão suporte a todos os três tipos de aplicativo para gerenciar a identidade do bot.
Idioma | Nome do arquivo | Observações |
---|---|---|
C# | appsettings.json | Oferece suporte a todos os três tipos de aplicativos para gerenciar a identidade do bot. |
JavaScript | .env | Oferece suporte a todos os três tipos de aplicativos para gerenciar a identidade do bot. |
Java | application.properties | Suporta apenas bots multilocatário. |
Python | config.py | Oferece suporte a todos os três tipos de aplicativos para gerenciar a identidade do bot. |
As informações de identidade que você precisa adicionar dependem do tipo de aplicativo do bot. Forneça os valores a seguir no arquivo de configuração.
Disponível para bots C#, JavaScript e Python.
Propriedade | Valor |
---|---|
MicrosoftAppType |
UserAssignedMSI |
MicrosoftAppId |
A ID do cliente da identidade gerenciada atribuída pelo usuário. |
MicrosoftAppPassword |
Não aplicável. Deixe em branco para um bot de identidade gerenciada atribuída pelo usuário. |
MicrosoftAppTenantId |
A ID do locatário de uma identidade gerenciada atribuída pelo usuário. |
Preparar os arquivos de projeto
É necessário preparar os arquivos de projeto para implantar o bot.
Alterne para a pasta raiz do seu projeto. Para C#, a raiz é a pasta que contém o arquivo .csproj.
Faça uma recompilação limpa no modo da versão.
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. Esse comando gera um arquivo.deployment
na pasta do projeto do bot.az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"
Opção Descrição lang A linguagem ou o runtime do bot. Use Csharp
.code-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 do bot, relativo à opção code-dir
.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.
Observação
A conclusão dessa etapa pode levar alguns minutos. Além disso, pode levar mais alguns minutos entre a conclusão da implantação e a disponibilidade do bot para teste.
Execute o comando na linha de comando para executar a az webapp deploy
implantação usando a implantação de push zip do Kudu para seu serviço de aplicativo (aplicativo Web).
Opção | Descrição |
---|---|
resource-group | O nome do grupo de recursos do Azure que contém o bot. |
name | Nome do Serviço de Aplicativo que você usou anteriormente. |
src | O caminho relativo ou absoluto para o arquivo de projeto compactado que você criou. |
Dica
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 documentação de referência de az webapp deploy
comandos.
Testar no Webchat
- Em seu navegador, navegue até o portal do Azure.
- Acesse o recurso do seu bot.
- Abra o painel Testar no Webchat.
- Interaja com o bot implantado.
Para obter mais informações sobre o registro de canais do bot, confira Registrar um bot com o Serviço de Bot.
Limpar os recursos
Se não deseja publicar este aplicativo, exclua os recursos associados seguindo a seguintes etapas:
- No portal do Azure, abra o grupo de recursos para seu bot.
- Selecione Excluir grupo de recursos para excluir o grupo e todos os recursos que ele contém.
- Insira o nome do grupo de recursos painel de confirmação e selecione Excluir.
- Se você criou um aplicativo de locatário único ou multilocatário:
- Navegue até a folha Microsoft Entra ID.
- Localize o registro de aplicativo que você usou para seu bot e exclua-o.
Recursos adicionais
Confira 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 assinaturas do Azure | Como gerenciar as assinaturas do Azure com a CLI do Azure |
Regiões do Azure | Regiões e zonas de disponibilidade |
Grupos de recursos e gerenciamento de recursos | Gerenciar recursos do Azure |
Identidades gerenciadas | O que são identidades gerenciadas para recursos do Azure? |
Aplicativos multilocatário e de único locatário | Locação no Microsoft Entra ID |
Aplicativos Web | Serviço de Aplicativo |
Recursos de computação para aplicativos Web | Planos do Serviço de Aplicativo |
Modelos do ARM (modelos do Azure Resource Manager) | O que são modelos do ARM? e Como usar os modelos implantação do Azure Resource Manager (ARM) com a CLI do Azure |
Cobrança do Azure | Cobrança e gerenciamento de custos |
Arquivos Kudu
O comando de implantação do aplicativo Web usa o Kudu para implantar bots C#, JavaScript e Python. Ao usar a API de implantação de zip não configurada para implantar o código de seu bot, o comportamento do Aplicativo Web/Kudu será o seguinte:
O Kudu assume por padrão que as implantações a partir de arquivos zip estão prontas para serem executadas e não exigem etapas de compilação adicionais durante a implantação, como npm install ou dotnet restore/dotnet publish.
É importante incluir o código compilado com todas as dependências necessárias no arquivo zip a ser implantado, caso contrário, seu bot não funcionará como esperado. Para obter mais informações, confira a documentação do Azure sobre como Implantar arquivos no Serviço de Aplicativo.