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:

  1. Navegue até a página do seu aplicativo.

  2. Em Configurações no painel de navegação esquerdo, selecione Depuração remota.

  3. Na página Depuração remota, habilite a depuração remota e especifique a porta de depuração.

    Captura de ecrã do portal do Azure que mostra a página Depuração remota com as opções de porta de depuração e depuração remotas selecionadas.

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.

  1. Abra o portal do Azure.

  2. Abra sua instância de serviço do Azure Spring Apps.

  3. No painel de navegação, selecione Controle de acesso (IAM).

  4. Na página Controle de Acesso (IAM), selecione Adicionar e, em seguida, selecione Adicionar atribuição de função.

    Captura de ecrã da página de Controlo de Acesso (IAM) do portal do Azure para uma instância do Azure Spring Apps com a opção Adicionar atribuição de função realçada.

  5. 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.

    Captura de ecrã do portal do Azure que mostra a página Adicionar atribuição de função com o nome da Função de Depuração Remota do Azure Spring Apps realçado.

  6. Selecione Membros e, em seguida, procure e selecione seu nome de usuário.

  7. 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

Ativar ou desativar a depuração remota

Use as seguintes etapas para habilitar ou desabilitar a depuração remota:

  1. Entre na sua conta do Azure no Azure Explorer.

  2. Selecione uma instância de aplicativo e, em seguida, selecione Habilitar depuração remota.

    Captura de ecrã do IntelliJ que mostra a opção de menu Ativar Depuração Remota.

Anexar depurador

Use as etapas a seguir para anexar o depurador.

  1. 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.

    Captura de ecrã do IntelliJ que mostra a opção de menu Anexar Depurador.

  2. 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.

    Captura de ecrã do IntelliJ que mostra a página Executar/Depurar Configurações.

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 ou Failed to attach to remote debugger, ClosedConnectionException:

    • Verifique a função RBAC para certificar-se de que você está autorizado a depurar remotamente uma instância do aplicativo.

    • Verifique se você está se conectando a uma instância válida. Atualize a implantação para obter as instâncias mais recentes.

      Captura de tela do explorador de projetos IntelliJ que mostra a opção de menu Atualizar para o nó Instâncias de aplicativo.

  • 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.

Próximos passos