Azure Data Lake Java: ຮັກສາ client ທີ່ມາຈາກ pipeline ຂອງ proxy
ດຶງ client ຂອງລະບົບໄຟລ໌ຈາກ DataLakeServiceClient ທີ່ຕັ້ງຄ່າດ້ວຍ proxy ແລະ ຕັ້ງຄ່າການຂົນສົ່ງ token ຂອງຕົວຕົນໃນການຕັ້ງຄ່າດຽວກັນ.
ແຖວສຸດທ້າຍສຳຄັນ: ດຶງ client ຂອງລະບົບໄຟລ໌ຈາກບໍລິການທີ່ຕັ້ງຄ່າແລ້ວ ແທນທີ່ຈະເລີ່ມ 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) ສົ່ງ pipeline HTTP ຂອງພໍ່ແມ່, ຈຸດສຸດທ້າຍຂອງບັນຊີ ແລະ ການຕັ້ງຄ່າພື້ນທີ່ເກັບຂໍ້ມູນທີ່ໃຊ້ໄດ້ໄປຫາລູກ.
ຕົວຢ່າງໃຫ້ http ດຽວກັນກັບ builder ຂອງຂໍ້ມູນຢືນຢັນ ເພາະການໄດ້ມາເຊິ່ງ token ເປັນເສັ້ນທາງຄຳຮ້ອງອີກອັນໜຶ່ງ. client ຂອງລະບົບໄຟລ໌ທີ່ສ້າງແຍກຕ່າງຫາກກໍຕ້ອງໄດ້ຮັບການຂົນສົ່ງທີ່ຕັ້ງໃຈໄວ້ເຊັ່ນກັນ; ບໍ່ມີ builder ກ່ອນໜ້າໃດສ້າງຄ່າເລີ່ມຕົ້ນ SDK ລະດັບໂລກ.
ໃຊ້ URL ບັນຊີ, ຊື່ລະບົບໄຟລ໌ ແລະ ຄ່າຕົວຕົນຂອງແອັບພລິເຄຊັນ. ProxyOptions ແລະ ປະເພດການຂົນສົ່ງ Netty ມາຈາກ Azure Core, builder ຂໍ້ມູນຢືນຢັນມາຈາກ Azure Identity, ແລະ builder ບໍລິການມາຈາກ Azure Storage Data Lake; InetSocketAddress ມາຈາກ java.net.
accountUrl ຍັງເປັນຈຸດສຸດທ້າຍຂອງພື້ນທີ່ເກັບຂໍ້ມູນ ແລະ ຊື່ລະບົບໄຟລ໌ເລືອກລູກ. ທັງສອງບໍ່ແມ່ນທີ່ຢູ່ຂອງ proxy. ດ້ວຍຈຸດສຸດທ້າຍຂອງພື້ນທີ່ເກັບຂໍ້ມູນທີ່ເຂົ້າເຖິງໄດ້ທາງສາທາລະນະ ແລະ ການອະນຸຍາດໃຫ້ໃຊ້ຕົວກາງສາທາລະນະ, ເລືອກ host ແລະ port ຂອງ ProxyOptions ຈາກ ລາຍການ proxy HTTP; ປ່ອຍໃຫ້ການຕັ້ງຄ່າພື້ນທີ່ເກັບຂໍ້ມູນ ແລະ ຕົວຕົນຢູ່ຄືເກົ່າ.