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 സ്റ്റോറേജ് എൻഡ്പോയിന്റായി തുടരുന്നു, ഫയൽസിസ്റ്റം പേര് ചൈൽഡിനെ തിരഞ്ഞെടുക്കുന്നു. രണ്ടും പ്രോക്സി വിലാസമല്ല. പൊതുവിൽ ആക്സസ് ചെയ്യാവുന്ന സ്റ്റോറേജ് എൻഡ്പോയിന്റും പൊതു മധ്യവർത്തി ഉപയോഗിക്കാനുള്ള അനുമതിയും ഉണ്ടെങ്കിൽ HTTP പ്രോക്സി പട്ടികയിൽ നിന്ന് ProxyOptions ഹോസ്റ്റും പോർട്ടും തിരഞ്ഞെടുക്കുക; സ്റ്റോറേജ്, ഐഡന്റിറ്റി ക്രമീകരണങ്ങൾ അതേപടി നിലനിർത്തുക.