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 पाइपलाइन, खाता अन्त्य बिन्दु र लागू हुने भण्डारण कन्फिगरेसन सन्तानमा लैजान्छ।
उदाहरणले क्रेडेन्सियल builder लाई त्यही http दिन्छ किनभने टोकन प्राप्त गर्नु अर्को अनुरोध मार्ग हो। अलगै बनाइएको फाइलसिस्टम क्लाइन्टले पनि आफ्नो अभिप्रेत ढुवानी पाउनुपर्छ; कुनै पहिलेको builder ले विश्वव्यापी SDK डिफोल्ट बनाउँदैन।
अनुप्रयोगको खाता URL, फाइलसिस्टम नाम र पहिचान मानहरू प्रयोग गर्नुहोस्। ProxyOptions र Netty ढुवानी प्रकारहरू Azure Core बाट, क्रेडेन्सियल builder Azure Identity बाट र सेवा builder Azure Storage Data Lake बाट आउँछन्; InetSocketAddress java.net बाट आउँछ।
accountUrl भण्डारण अन्त्य बिन्दु रहन्छ र फाइलसिस्टम नामले सन्तान छान्छ। यीमध्ये कुनै पनि प्रक्सी ठेगाना होइन। सार्वजनिक रूपमा पहुँचयोग्य भण्डारण अन्त्य बिन्दु र सार्वजनिक मध्यस्थ प्रयोग गर्ने अनुमति भए HTTP प्रक्सी सूचीबाट ProxyOptions होस्ट र पोर्ट छान्नुहोस्; भण्डारण र पहिचान सेटिङहरू यथावत् राख्नुहोस्।