Azure Data Lake Java: үүсмэл клиентүүдийг прокси шугамд байлгах
Файлын системийн клиентийг проксигоор тохируулсан DataLakeServiceClient-ээс үүсгэж, ижил тохиргоонд таних тэмдгийн токены дамжуулалтыг тохируулна уу.
Сүүлийн мөр чухал: файлын системийн клиентийг тохируулсан үйлчилгээнээс үүсгэж, өөр нэг өгөгдмөл 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 прокси жагсаалтаас сонгоно уу; хадгалалт болон таних тэмдгийн тохиргоог хэвээр үлдээнэ үү.