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 Microsoft Copilot Studio e leia sobre como escolher a solução de copilot 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#, JavaScript e Python. Esses tipos de aplicativo não são suportados em outros idiomas ou no Bot Framework Composer, Bot Framework Emulator ou Dev Tunnels.
Tipo de aplicação | Suporte |
---|---|
Identidade gerida atribuída pelo utilizador | Serviço de Bot do Azure AI e os SDKs C#, JavaScript e Python |
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, Emulador e Túneis de Desenvolvimento |
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.
Inicie sessão e selecione subscrição
Abra uma janela de comando.
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.
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.
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
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 .
Registre os valores de que você precisará em etapas posteriores.
- O nome do grupo de recursos para o recurso de identidade
- O nome do recurso de identidade
- 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.
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.
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. As versões C#, JavaScript e Python 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 os três tipos de aplicativos para gerenciar a identidade do seu bot. |
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 para bots C#, JavaScript e Python.
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.
Mude para a pasta raiz do seu projeto. Para C#, a raiz é a pasta que contém o arquivo .csproj.
Faça uma reconstrução limpa no modo de lançamento.
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. Csharp
Utilize.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.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 az webapp deploy
comando a partir da 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).
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 documentação de referência de az webapp deploy
comando.
Teste no Chat Web
- No navegador, navegue até o portal do Azure.
- Vá para o recurso do bot.
- Abra o painel Testar no Web Chat .
- 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:
- 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.
- Introduza o nome do grupo de recursos no painel de confirmação e, em seguida, selecione Eliminar.
- Se você criou um aplicativo de locatário único ou multilocatário:
- Vá para a folha ID do Microsoft Entra.
- 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)