Azure Storage Java: route proxy per richieste API e token
Controllate sia le richieste Azure Storage sia le richieste di token delle credenziali quando configurate un proxy per l'SDK Java.
Configurare un proxy sul trasporto HTTP di un client di archiviazione risponde a una domanda: come quel trasporto invia le richieste di archiviazione. Una credenziale di identità può avere un altro client HTTP per ottenere i token.
Questa distinzione spiega una contraddizione apparentemente comune: l'endpoint di archiviazione è raggiungibile tramite il proxy, ma l'SDK fallisce prima di inviare l'operazione attesa. L'errore può riguardare l'acquisizione delle credenziali verso un endpoint di identità.
Annotate prima quale destinazione ha fallito. Poi esaminate il client HTTP fornito al builder di archiviazione e la configurazione usata dall'implementazione delle credenziali. Seguite le opzioni proxy supportate da ciascun trasporto. Per gli endpoint di archiviazione e token raggiungibili pubblicamente su una rotta proxy pubblica consentita, la lista di proxy HTTP offre candidati endpoint; non date per scontato che l'impostazione di un builder riconfiguri ogni oggetto dell'applicazione.
| Fase | Prove utili |
|---|---|
| Acquisizione del token | Endpoint di identità, client scelto, richiesta del proxy o errore di connessione |
| Richiesta di archiviazione | Endpoint di archiviazione, pipeline configurata, risposta finale o errore di trasferimento |
Tenete l'account proxy separato dalla credenziale Azure. Un accesso proxy riuscito concede una rotta; il servizio di destinazione autorizza comunque l'operazione Azure.
Le risposte storiche usano diverse generazioni di classi Azure Storage Java, incluse vecchie API OperationContext e pipeline. Abbinate un esempio all'SDK e al trasporto HTTP usati attualmente dall'applicazione. Per l'SDK Data Lake, una configurazione condivisa del client HTTP per archiviazione e identità mostra entrambi gli input del builder. Reintrodurre un tipo di client obsoleto per risolvere un problema di proxy crea un ulteriore percorso di configurazione da sottoporre a debug.
Usate identificatori di endpoint sicuri nei log. Gli URL di archiviazione possono contenere token di accesso e un URL proxy completo può contenere una password.