Depurar seus aplicativos remotamente nos Aplicativos Spring do Azure
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
O plano consumo e dedicado Standard será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.
Esse artigo se aplica a:✅ Básico/Padrão ✅ Enterprise
Esse recurso descreve como habilitar a depuração remota de seus aplicativos nos Aplicativos Spring do Azure.
Pré-requisitos
CLI do Azure com a extensão dos Aplicativos Spring do Azure. Use o comando a seguir para remover versões anteriores e instalar a extensão mais recente. Se você instalou a extensão do Spring Cloud anteriormente, desinstale-a para evitar incompatibilidades de configuração e de versão.
az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
Um aplicativo implantado nos Aplicativos Spring do Azure.
Habilitar ou desabilitar a depuração remota
Por motivos de segurança, os Aplicativos Spring do Azure desabilitam a depuração remota por padrão. Conforme a política da sua empresa, você pode habilitar a depuração remota para seu aplicativo por conta própria ou solicitar a um administrador que faça isso por você. É possível habilitar ou desabilitar a depuração remota usando a CLI do Azure, o portal do Azure ou a extensão do VS Code.
Siga as etapas a seguir para habilitar a depuração remota do seu aplicativo usando o portal do Azure:
Atribuir uma função do Azure
Para depurar remotamente uma instância de aplicativo, você precisa ter a função Azure Spring Apps Remote Debugging Role
, que inclui a permissão de ação de dados Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action
.
Você pode atribuir uma função do Azure através do portal do Azure ou da CLI do Azure.
Use as seguintes etapas para atribuir uma função do Azure usando o portal do Azure.
Abra o Portal do Azure.
Abra a sua instância de serviço dos Aplicativos Spring do Azure.
No painel de navegação à esquerda, selecione Controle de Acesso (IAM).
Na página Controle de Acesso (IAM), selecione Adicionar e, em seguida, Adicionar atribuição de função.
Na página Adicionar atribuição de função, na lista Nome, procure e selecione Função de Depuração Remota dos Aplicativos Spring do Azure e, em seguida, selecione Avançar.
Selecione Membros e, em seguida, pesquise e selecione seu nome de usuário.
Selecione Examinar + atribuir.
Depurar uma instância de aplicativo remotamente
Você pode depurar uma instância de aplicativo remotamente usando o Azure Toolkit for IntelliJ ou a extensão dos Aplicativos Spring do Azure para VS Code.
Esta seção descreve como depurar uma instância de aplicativo remotamente usando o Azure Toolkit for IntelliJ.
Pré-requisitos
- Kit de Ferramentas do Azure para IntelliJ.
- IntelliJ IDEA edição Ultimate ou Community.
Habilitar ou desabilitar a depuração remota
Siga as etapas a seguir para habilitar ou desabilitar a depuração remota:
Entre em sua conta do Azure no Azure Explorer.
Selecione uma instância de aplicativo e, em seguida, selecione Habilitar Depuração Remota.
Anexar Depurador
Siga estas etapas para anexar um depurador.
Selecione uma instância de aplicativo e, em seguida, selecione Anexar Depurador. O IntelliJ se conectará à instância de aplicativo e iniciará a depuração remota.
O Azure Toolkit for IntelliJ cria a configuração de depuração remota. Você pode encontrar essa configuração em Remote Jvm Debug". Configure o caminho de classe do módulo para o código-fonte que você está usando para a depuração remota.
Solução de problemas
Esta seção fornece informações de solução de problemas.
Se você não conseguir anexar o depurador e receber um erro parecido com
java.net.SocketException, connection reset
ouFailed to attach to remote debugger, ClosedConnectionException
, faça o seguinte:Se você conectou o depurador com sucesso, mas não conseguiu depurar a instância do aplicativo à distância, faça o seguinte:
- Verifique se o IDE contém o código-fonte que você deseja depurar.
- Verifique se a configuração de depuração está com o caminho de classe do módulo correto.
Limitações
A depuração remota só tem suporte para aplicativos Java.
Plano | Tipo de implantação | Com suporte |
---|---|---|
Plano padrão e básico | Jar | Yes |
Plano padrão e básico | Código-fonte (Java) | Yes |
Plano padrão e básico | Imagem personalizada | Não |
Plano Enterprise | Java Application | Yes |
Plano Enterprise | Código-fonte (Java) | Yes |
Plano Enterprise | Imagem personalizada | Não |
Dicas
- A depuração remota em Java é arriscada porque permite a execução remota de código. Os Aplicativos Spring do Azure ajudam você a proteger a comunicação entre o IDE do cliente e o aplicativo remoto. No entanto, você deve desabilitar a depuração remota e remover a função RBAC depois de terminar.
- Você deve reduzir horizontalmente a instância do aplicativo para uma, para garantir que o tráfego seja direcionado para a instância.