Azure Data Lake Java: задржите изведене клијенте на прокси току
Изведите клијента датотечног система из DataLakeServiceClient конфигурираног за прокси и конфигуришите пренос токена идентитета у истој поставци.
Последњи ред је важан: изведите клијента датотечног система из конфигурисане услуге уместо да покренете још један подразумевани 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) преноси HTTP ток родитеља, крајњу тачку налога и примењиву конфигурацију складиштења на дете.
Пример даје исти http builder-у акредитива јер је добијање токена још један пут захтева. Засебно изграђен клијент датотечног система такође мора да добије намењени пренос; ниједан ранији builder не ствара глобални подразумевани SDK.
Користите URL налога, назив датотечног система и вредности идентитета из апликације. ProxyOptions и Netty типови преноса долазе из Azure Core-а, builder акредитива из Azure Identity-а, а builder услуге из Azure Storage Data Lake-а; InetSocketAddress долази из java.net.
accountUrl остаје крајња тачка складиштења, а назив датотечног система бира дете. Ниједно од тога није адреса проксија. Уз јавно доступну крајњу тачку складиштења и дозволу за коришћење јавног посредника изаберите хост и порт ProxyOptions-а из списка HTTP проксија; задржите подешавања складиштења и идентитета.