Azure Data Lake Java: zadržite izvedene klijente na proxy toku
Izvedite klijenta datotečnog sistema iz DataLakeServiceClienta konfiguriranog za proxy i konfigurirajte prijenos tokena identiteta u istoj postavci.
Posljednji red je važan: izvedite klijenta datotečnog sistema iz konfigurirane usluge umjesto da pokrećete još jedan zadani builder:
var proxy = new ProxyOptions(
ProxyOptions.Type.HTTP,
new InetSocketAddress("proxy.example.net", 8080));
var http = new NettyAsyncHttpClientBuilder()
.proxy(proxy)
.build();
var credential = new ClientSecretCredentialBuilder()
.tenantId(tenantId)
.clientId(clientId)
.clientSecret(clientSecret)
.httpClient(http)
.build();
var service = new DataLakeServiceClientBuilder()
.endpoint(accountUrl)
.credential(credential)
.httpClient(http)
.buildClient();
var filesystem = service.getFileSystemClient(fileSystemName);service.getFileSystemClient(fileSystemName) prenosi HTTP tok roditelja, krajnju tačku računa i primjenjivu konfiguraciju pohrane na dijete.
Primjer daje isti http builderu vjerodajnica jer je dobijanje tokena još jedan put zahtjeva. Zasebno izgrađen klijent datotečnog sistema također mora dobiti namijenjeni transport; nijedan raniji builder ne stvara globalni zadani SDK.
Koristite URL računa, naziv datotečnog sistema i vrijednosti identiteta iz aplikacije. ProxyOptions i Netty transportni tipovi dolaze iz Azure Corea, builder vjerodajnica iz Azure Identityja, a builder usluge iz Azure Storage Data Lakea; InetSocketAddress dolazi iz java.net.
accountUrl ostaje krajnja tačka pohrane, a naziv datotečnog sistema bira dijete. Nijedno od toga nije adresa proxyja. Uz javno dostupnu krajnju tačku pohrane i dozvolu za korištenje javnog posrednika, odaberite host i port ProxyOptionsa iz liste HTTP proxyja; zadržite postavke pohrane i identiteta.