Azure Data Lake Java․ պահեք ածանցյալ կլիենտները proxy խողովակում
Ստացեք ֆայլային համակարգի կլիենտը proxy-ով կարգավորված DataLakeServiceClient-ից և նույն կարգավորումում սահմանեք ինքնության token-ի փոխանցումը։
Վերջին տողը կարևոր է․ ստացեք ֆայլային համակարգի կլիենտը կարգավորված ծառայությունից՝ փոխարենը նոր լռելյայն 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-ին, քանի որ token-ի ստացումը հարցման մեկ այլ ուղի է։ Առանձին կառուցված ֆայլային համակարգի կլիենտը նույնպես պետք է ստանա իր նախատեսված տրանսպորտը․ ոչ մի նախորդ builder գլոբալ SDK լռելյայն չի ստեղծում։
Օգտագործեք հավելվածի հաշվի URL-ը, ֆայլային համակարգի անունը և ինքնության արժեքները։ ProxyOptions-ը և Netty տրանսպորտի տեսակները գալիս են Azure Core-ից, հավատարմագրերի builder-ը՝ Azure Identity-ից, իսկ ծառայության builder-ը՝ Azure Storage Data Lake-ից; InetSocketAddress-ը՝ java.net-ից։
accountUrl-ը մնում է պահոցի վերջնակետը, իսկ ֆայլային համակարգի անունը ընտրում է ժառանգին։ Դրանցից ոչ մեկը proxy հասցեն չէ։ Հանրային հասանելի պահոցի վերջնակետի և հանրային միջնորդ օգտագործելու թույլտվության դեպքում ընտրեք ProxyOptions-ի հոսթը և պորտը HTTP proxy ցանկից; թողեք պահոցի և ինքնության կարգավորումները տեղում։