Azure Data Lake Java: udržte odvozené klienty na proxy pipeline
Odvoďte klienta souborového systému z DataLakeServiceClient nakonfigurovaného pro proxy a v tomtéž nastavení nakonfigurujte přenos tokenu identity.
Poslední řádek je důležitý: odvoďte klienta souborového systému z nakonfigurované služby, místo abyste spouštěli další výchozí 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) přenáší HTTP pipeline rodiče, koncový bod účtu a příslušnou konfiguraci úložiště do potomka.
Příklad předává stejný http builderu pověření, protože získání tokenu je další cesta požadavku. Samostatně sestavený klient souborového systému musí také dostat zamýšlený transport; žádný dřívější builder nevytváří globální výchozí nastavení SDK.
Použijte URL účtu, název souborového systému a hodnoty identity z aplikace. ProxyOptions a transportní typy Netty pocházejí z Azure Core, builder pověření z Azure Identity a builder služby z Azure Storage Data Lake; InetSocketAddress pochází z java.net.
accountUrl zůstává koncovým bodem úložiště a název souborového systému vybírá potomka. Ani jedno není adresou proxy. Pokud je koncový bod úložiště veřejně dostupný a máte povolení použít veřejného prostředníka, vyberte hostitele a port ProxyOptions ze seznamu HTTP proxy; nastavení úložiště a identity ponechte beze změny.