Azure Data Lake Java: hou afgeleide kliënte op die proxy-pyplyn
Lei die lêerstelselkliënt af van die proxy-gekonfigureerde DataLakeServiceClient en stel die identiteitstoken se vervoer in dieselfde opstelling in.
Die laaste reël maak saak: lei die lêerstelselkliënt van die gekonfigureerde diens af eerder as om nog 'n verstekbouer te begin:
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) dra die ouer se HTTP-pyplyn, rekeningeindpunt en toepaslike bergingkonfigurasie na die kind oor.
Die voorbeeld gee dieselfde http aan die credential-bouer omdat die verkryging van 'n token nog 'n navraagpad is. 'n Afsonderlik geboude lêerstelselkliënt moet ook sy bedoelde vervoer ontvang; geen vroeëre bouer skep 'n globale SDK-verstek nie.
Gebruik die toepassing se rekening-URL, lêerstelselnaam en identiteitswaardes. ProxyOptions en Netty-vervoertipes kom van Azure Core, die credential-bouer van Azure Identity, en die diensbouer van Azure Storage Data Lake; InetSocketAddress kom van java.net.
accountUrl bly die berging-eindpunt, en die lêerstelselnaam kies die kind. Nie een is die proxy-adres nie. Met 'n publiek bereikbare berging-eindpunt en toestemming om 'n openbare tussenganger te gebruik, kies die ProxyOptions-gasheer en -poort uit die HTTP-proxylys; hou die berging- en identiteitsinstellings in plek.