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 ہوسٹ اور پورٹ منتخب کریں؛ اسٹوریج اور شناخت کی ترتیبات برقرار رکھیں۔