Baris terakhir itu penting: turunkan klien sistem berkas dari layanan yang telah dikonfigurasi, bukan memulai builder default lain:

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) membawa pipeline HTTP induk, titik akhir akun, dan konfigurasi penyimpanan yang berlaku ke klien anak.

Contoh memberikan http yang sama ke builder kredensial karena perolehan token adalah jalur permintaan lain. Klien sistem berkas yang dibangun terpisah juga harus menerima transportasi yang dimaksud; tidak ada builder sebelumnya yang membuat default SDK global.

Gunakan URL akun, nama sistem berkas, dan nilai identitas aplikasi Anda. ProxyOptions dan tipe transportasi Netty berasal dari Azure Core, builder kredensial dari Azure Identity, dan builder layanan dari Azure Storage Data Lake; InetSocketAddress berasal dari java.net.

accountUrl tetap menjadi titik akhir penyimpanan, dan nama sistem berkas memilih anak. Keduanya bukan alamat proxy. Dengan titik akhir penyimpanan yang dapat diakses publik dan izin memakai perantara publik, pilih host dan port ProxyOptions dari daftar proxy HTTP; biarkan pengaturan penyimpanan dan identitas tetap seperti semula.

Artikel terkait