Depurar seus aplicativos remotamente no Azure Spring Apps
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão e dedicado 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 obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
Este artigo aplica-se a: ✔️ Basic/Standard ✔️ Enterprise
Esse recurso descreve como habilitar a depuração remota de seus aplicativos no Azure Spring Apps.
Pré-requisitos
CLI do Azure com a extensão Azure Spring Apps. Use o comando a seguir para remover versões anteriores e instalar a extensão mais recente. Se você instalou anteriormente a extensão spring-cloud, desinstale-a para evitar incompatibilidades de configuração e versão.
az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
Um aplicativo implantado no Azure Spring Apps.
Ativar ou desativar a depuração remota
Por motivos de segurança, o Azure Spring Apps desabilita a depuração remota por padrão. Com base na política da sua empresa, você mesmo pode habilitar a depuração remota para seu aplicativo ou ver um administrador para habilitá-la para você. Você pode habilitar ou desabilitar a depuração remota usando a CLI do Azure, o portal do Azure ou a extensão VS Code.
Use as seguintes etapas para habilitar a depuração remota para seu aplicativo usando o portal do Azure:
Atribuir uma função do Azure
Para depurar remotamente uma instância de aplicativo, você deve receber a função Azure Spring Apps Remote Debugging Role
, que inclui a permissão de ação de Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action
dados.
Você pode atribuir uma função do Azure usando o portal do Azure ou a CLI do Azure.
Use as etapas a seguir para atribuir uma função do Azure usando o portal do Azure.
Abra o portal do Azure.
Abra sua instância de serviço do Azure Spring Apps.
No painel de navegação, selecione Controle de acesso (IAM).
Na página Controle de Acesso (IAM), selecione Adicionar e, em seguida, selecione 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 do Azure Spring Apps e selecione Avançar.
Selecione Membros e, em seguida, procure e selecione seu nome de usuário.
Selecione Rever + atribuir.
Depurar uma instância de aplicativo remotamente
Você pode depurar uma instância de aplicativo remotamente usando o Kit de Ferramentas do Azure para IntelliJ ou a extensão Azure Spring Apps for VS Code.
Esta seção descreve como depurar uma instância de aplicativo remotamente usando o Kit de Ferramentas do Azure para IntelliJ.
Pré-requisitos
- Kit de Ferramentas do Azure para IntelliJ.
- IntelliJ IDEA, edição Ultimate ou Community.
Ativar ou desativar a depuração remota
Use as seguintes etapas para habilitar ou desabilitar a depuração remota:
Entre na sua conta do Azure no Azure Explorer.
Selecione uma instância de aplicativo e, em seguida, selecione Habilitar depuração remota.
Anexar depurador
Use as etapas a seguir para anexar o depurador.
Selecione uma instância do aplicativo e, em seguida, selecione Anexar depurador. O IntelliJ se conecta à instância do aplicativo e inicia a depuração remota.
O Kit de Ferramentas do Azure para IntelliJ cria a configuração de depuração remota. Você pode encontrá-lo em Remote Jvm Debug" Configure o caminho da classe do módulo para o código-fonte que você usa para depuração remota.
Resolução de Problemas
Esta seção fornece informações de solução de problemas.
Execute as seguintes ações se não conseguir anexar o depurador e receber um erro semelhante a
java.net.SocketException, connection reset
ouFailed to attach to remote debugger, ClosedConnectionException
:Execute as seguintes ações se anexar o depurador com êxito, mas não puder depurar remotamente a instância do aplicativo:
- Certifique-se de que seu IDE contém o código-fonte que você deseja depurar.
- Certifique-se de que a configuração de depuração tem o caminho de classe de módulo correto.
Limitações
A depuração remota só é suportada para aplicações Java.
Planear | Tipo de implementação | Suportado |
---|---|---|
Plano Standard e básico | Frasco | Sim |
Plano Standard e básico | Código fonte (Java) | Sim |
Plano Standard e básico | Imagem Personalizada | Não |
Plano empresarial | Aplicação Java | Sim |
Plano empresarial | Código fonte (Java) | Sim |
Plano empresarial | Imagem Personalizada | Não |
Sugestões
- A depuração remota Java é perigosa porque permite a execução remota de código. O Azure Spring Apps ajuda a proteger a comunicação entre o IDE do cliente e o aplicativo remoto. No entanto, você deve desativar a depuração remota e remover a função RBAC depois de terminar.
- Você deve dimensionar a instância do aplicativo para uma para garantir que o tráfego possa ir para a instância.