السطر الأخير مهم: اشتق عميل نظام الملفات من الخدمة المهيّأة بدل بدء 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 نقطة نهاية التخزين، ويختار اسم نظام الملفات العنصر التابع. وليس أي منهما عنوان الوكيل. مع نقطة نهاية تخزين يمكن الوصول إليها علناً وإذن باستخدام وسيط عام، اختر مضيف ومنفذ ProxyOptions من قائمة وكلاء HTTP؛ وأبقِ إعدادات التخزين والهوية في مكانها.

مقالات ذات صلة