Azure Data Lake Java: kekalkan klien terbitan pada saluran paip proksi
Terbitkan klien sistem fail daripada DataLakeServiceClient yang dikonfigurasikan dengan proksi, dan konfigurasikan pengangkutan token identiti dalam persediaan yang sama.
Baris terakhir penting: terbitkan klien sistem fail daripada perkhidmatan yang dikonfigurasikan, bukannya memulakan builder lalai yang 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 saluran paip HTTP induk, titik akhir akaun dan konfigurasi storan yang berkenaan kepada anak.
Contoh memberikan http yang sama kepada builder kelayakan kerana pemerolehan token ialah laluan permintaan yang lain. Klien sistem fail yang dibina secara berasingan juga mesti menerima pengangkutan yang dimaksudkan; tiada builder terdahulu mencipta lalai SDK global.
Gunakan URL akaun, nama sistem fail dan nilai identiti aplikasi anda. ProxyOptions dan jenis pengangkutan Netty datang daripada Azure Core, builder kelayakan daripada Azure Identity, dan builder perkhidmatan daripada Azure Storage Data Lake; InetSocketAddress datang daripada java.net.
accountUrl kekal sebagai titik akhir storan, dan nama sistem fail memilih anak. Kedua-duanya bukan alamat proksi. Dengan titik akhir storan yang boleh dicapai secara awam dan kebenaran menggunakan perantara awam, pilih hos dan port ProxyOptions daripada senarai proksi HTTP; biarkan tetapan storan dan identiti di tempatnya.