Eseguire il debug remoto delle app in Azure Spring Apps
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.
Questo articolo si applica a: ✔️ Basic/Standard ✔️ Enterprise
Questa funzionalità descrive come abilitare il debug remoto delle applicazioni in Azure Spring Apps.
Prerequisiti
Interfaccia della riga di comando di Azure con l'estensione Azure Spring Apps. Usare il comando seguente per rimuovere le versioni precedenti e installare l'estensione più recente. Se l'estensione spring-cloud è stata installata in precedenza, disinstallarla per evitare la mancata corrispondenza della configurazione e della versione.
az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
Applicazione distribuita in Azure Spring Apps.
Abilitare o disabilitare il debug remoto
Per motivi di sicurezza, Azure Spring Apps disabilita il debug remoto per impostazione predefinita. In base ai criteri aziendali, è possibile abilitare il debug remoto per l'app manualmente o visualizzare un amministratore per abilitarlo. È possibile abilitare o disabilitare il debug remoto usando l'interfaccia della riga di comando di Azure, portale di Azure o l'estensione VS Code.
Usare la procedura seguente per abilitare il debug remoto per l'applicazione usando il portale di Azure:
Assegnare un ruolo di Azure
Per eseguire il debug remoto di un'istanza dell'app, è necessario avere il ruolo Azure Spring Apps Remote Debugging Role
, che include l'autorizzazione per l'azione Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action
dati.
È possibile assegnare un ruolo di Azure usando il portale di Azure o l'interfaccia della riga di comando di Azure.
Usare la procedura seguente per assegnare un ruolo di Azure usando il portale di Azure.
Apri il portale di Azure.
Aprire l'istanza del servizio Azure Spring Apps.
Nel riquadro di spostamento selezionare Controllo di accesso (IAM).
Nella pagina Controllo di accesso (IAM) selezionare Aggiungi e quindi selezionare Aggiungi assegnazione di ruolo.
Nell'elenco Nome della pagina Aggiungi assegnazione di ruolo cercare e selezionare Ruolo debug remoto di App Spring di Azure e quindi selezionare Avanti.
Selezionare Membri e quindi cercare e selezionare il nome utente.
Seleziona Rivedi + assegna.
Eseguire il debug remoto di un'istanza dell'app
È possibile eseguire il debug di un'istanza di app in modalità remota usando Azure Toolkit for IntelliJ o l'estensione Azure Spring Apps for VS Code.
Questa sezione descrive come eseguire il debug di un'istanza di app in modalità remota usando Azure Toolkit for IntelliJ.
Prerequisiti
- Azure Toolkit per IntelliJ.
- IntelliJ IDEA, Ultimate o Community Edition.
Abilitare o disabilitare il debug remoto
Per abilitare o disabilitare il debug remoto, seguire questa procedura:
Accedere all'account Azure in Azure Explorer.
Selezionare un'istanza dell'app e quindi selezionare Abilita debug remoto.
Collega debugger
Per collegare il debugger, seguire questa procedura.
Selezionare un'istanza dell'app e quindi selezionare Collega debugger. IntelliJ si connette all'istanza dell'app e avvia il debug remoto.
Azure Toolkit for IntelliJ crea la configurazione di debug remoto. È possibile trovarla in Remote Jvm Debug" Configurare il percorso della classe del modulo per il codice sorgente usato per il debug remoto.
Risoluzione dei problemi
In questa sezione vengono fornite informazioni sulla risoluzione dei problemi.
Eseguire le azioni seguenti se non è possibile collegare il debugger e ricevere un errore simile a
java.net.SocketException, connection reset
oFailed to attach to remote debugger, ClosedConnectionException
:Eseguire le azioni seguenti se si collega correttamente il debugger ma non è possibile eseguire il debug remoto dell'istanza dell'app:
- Assicurarsi che l'IDE contenga il codice sorgente di cui si vuole eseguire il debug.
- Assicurarsi che la configurazione di debug disponga del percorso della classe del modulo corretto.
Limiti
Il debug remoto è supportato solo per le applicazioni Java.
Piano | Tipo di distribuzione | Supportata |
---|---|---|
Piano standard e di base | Jar | Sì |
Piano standard e di base | Codice sorgente (Java) | Sì |
Piano standard e di base | Immagine personalizzata | No |
Piano Enterprise | Applicazione Java | Sì |
Piano Enterprise | Codice sorgente (Java) | Sì |
Piano Enterprise | Immagine personalizzata | No |
Suggerimenti
- Il debug remoto Java è pericoloso perché consente l'esecuzione di codice remoto. Azure Spring Apps consente di proteggere la comunicazione tra l'IDE client e l'applicazione remota. Tuttavia, è necessario disabilitare il debug remoto e rimuovere il ruolo controllo degli accessi in base al ruolo al termine.
- È consigliabile ridimensionare l'istanza dell'app a uno per assicurarsi che il traffico possa passare all'istanza.