Azure Data Lake Java: türetilen istemcileri proxy hattında tutun
Dosya sistemi istemcisini proxy ile yapılandırılmış DataLakeServiceClient'tan türetin ve kimlik belirteci aktarımını aynı kurulumda yapılandırın.
Son satır önemlidir: dosya sistemi istemcisini yapılandırılmış hizmetten türetin, başka bir varsayılan builder başlatmak yerine:
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) üst öğenin HTTP hattını, hesap uç noktasını ve geçerli depolama yapılandırmasını alt öğeye taşır.
Örnek, belirteç alımı başka bir istek yolu olduğu için aynı http öğesini kimlik bilgisi builder'ına verir. Ayrı olarak oluşturulan dosya sistemi istemcisi de amaçlanan aktarımını almalıdır; hiçbir önceki builder genel bir SDK varsayılanı oluşturmaz.
Uygulamanızın hesap URL'sini, dosya sistemi adını ve kimlik değerlerini kullanın. ProxyOptions ve Netty aktarım türleri Azure Core'dan, kimlik bilgisi builder'ı Azure Identity'den ve hizmet builder'ı Azure Storage Data Lake'ten gelir; InetSocketAddress ise java.net öğesinden gelir.
accountUrl depolama uç noktası olarak kalır ve dosya sistemi adı alt öğeyi seçer. Hiçbiri proxy adresi değildir. Genel olarak erişilebilir bir depolama uç noktası ve genel bir aracı kullanma izni varsa, ProxyOptions ana bilgisayarını ve bağlantı noktasını HTTP proxy listesinden seçin; depolama ve kimlik ayarlarını olduğu gibi bırakın.