Azure Data Lake Java: giữ các ứng dụng khách dẫn xuất trên đường ống proxy
Tạo ứng dụng khách hệ thống tệp từ DataLakeServiceClient đã cấu hình proxy và cấu hình truyền mã thông báo danh tính trong cùng thiết lập.
Dòng cuối cùng rất quan trọng: hãy tạo ứng dụng khách hệ thống tệp từ dịch vụ đã cấu hình thay vì khởi tạo một builder mặc định khác:
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) mang đường ống HTTP của thành phần cha, điểm cuối tài khoản và cấu hình lưu trữ áp dụng sang thành phần con.
Ví dụ cung cấp cùng http cho builder thông tin xác thực vì việc lấy mã thông báo là một đường yêu cầu khác. Ứng dụng khách hệ thống tệp được xây dựng riêng cũng phải nhận phương thức truyền dự định của nó; không builder nào trước đó tạo ra giá trị mặc định toàn cục của SDK.
Dùng URL tài khoản, tên hệ thống tệp và các giá trị danh tính của ứng dụng. ProxyOptions và các kiểu truyền của Netty đến từ Azure Core, builder thông tin xác thực từ Azure Identity và builder dịch vụ từ Azure Storage Data Lake; InetSocketAddress đến từ java.net.
accountUrl vẫn là điểm cuối lưu trữ và tên hệ thống tệp chọn thành phần con. Cả hai đều không phải địa chỉ proxy. Với điểm cuối lưu trữ có thể truy cập công khai và quyền dùng một trung gian công cộng, hãy chọn máy chủ và cổng của ProxyOptions từ danh sách proxy HTTP; giữ nguyên các thiết lập lưu trữ và danh tính.