Azure Data Lake Java: udržte odvodených klientov na proxy pipeline
Odvoďte klienta súborového systému z DataLakeServiceClient nakonfigurovaného pre proxy a v tom istom nastavení nakonfigurujte prenos tokenu identity.
Posledný riadok je dôležitý: odvoďte klienta súborového systému z nakonfigurovanej služby namiesto spúšťania ďalšieho predvoleného builderu:
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) prenáša do potomka HTTP pipeline rodiča, koncový bod účtu a platnú konfiguráciu úložiska.
Príklad odovzdáva rovnaký http builderu poverení, pretože získanie tokenu je ďalšia cesta požiadavky. Samostatne zostavený klient súborového systému musí tiež dostať zamýšľanú prepravu; žiadny skorší builder nevytvára globálne predvolené nastavenie SDK.
Použite URL účtu, názov súborového systému a hodnoty identity aplikácie. ProxyOptions a typy prepravy Netty pochádzajú z Azure Core, builder poverení z Azure Identity a builder služby z Azure Storage Data Lake; InetSocketAddress pochádza z java.net.
accountUrl zostáva koncovým bodom úložiska a názov súborového systému vyberá potomka. Ani jedno z toho nie je adresa proxy. Ak je koncový bod úložiska verejne dostupný a máte povolenie používať verejného sprostredkovateľa, vyberte hostiteľa a port ProxyOptions zo zoznamu HTTP proxy; nastavenia úložiska a identity ponechajte bez zmeny.