Azure Data Lake Java: વ્યુત્પન્ન ક્લાયન્ટ્સને પ્રોક્સી પાઇપલાઇન પર રાખો
પ્રોક્સી-રૂપરેખાંકિત DataLakeServiceClient માંથી ફાઇલસિસ્ટમ ક્લાયન્ટ મેળવો અને તે જ સેટઅપમાં ઓળખ ટોકન પરિવહન રૂપરેખાંકિત કરો.
છેલ્લી લાઇન મહત્વની છે: બીજું ડિફોલ્ટ બિલ્ડર શરૂ કરવાને બદલે રૂપરેખાંકિત સેવામાંથી ફાઇલસિસ્ટમ ક્લાયન્ટ મેળવો:
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 આપે છે કારણ કે ટોકન મેળવવો એ બીજો વિનંતી માર્ગ છે. અલગથી બનાવેલ ફાઇલસિસ્ટમ ક્લાયન્ટને પણ તેનું ઇચ્છિત પરિવહન મળવું જોઈએ; કોઈ પણ અગાઉનું બિલ્ડર વૈશ્વિક SDK ડિફોલ્ટ બનાવતું નથી.
એપ્લિકેશનનું એકાઉન્ટ URL, ફાઇલસિસ્ટમ નામ અને ઓળખ મૂલ્યો વાપરો. ProxyOptions અને Netty પરિવહન પ્રકારો Azure Core માંથી, ક્રેડેન્શિયલ બિલ્ડર Azure Identity માંથી અને સેવા બિલ્ડર Azure Storage Data Lake માંથી આવે છે; InetSocketAddress java.net માંથી આવે છે.
accountUrl સ્ટોરેજ એન્ડપોઇન્ટ જ રહે છે, અને ફાઇલસિસ્ટમ નામ ચાઇલ્ડ પસંદ કરે છે. તેમાંથી કોઈ પ્રોક્સી સરનામું નથી. જાહેરમાં પ્રાપ્ય સ્ટોરેજ એન્ડપોઇન્ટ અને જાહેર મધ્યસ્થનો ઉપયોગ કરવાની પરવાનગી સાથે, HTTP પ્રોક્સી સૂચિમાંથી ProxyOptions હોસ્ટ અને પોર્ટ પસંદ કરો; સ્ટોરેજ અને ઓળખ સેટિંગ્સ યથાવત્ રાખો.