Azure Event Hubs ກັບ Python: AMQP ເທິງ WebSockets ຜ່ານ HTTP proxy
ສົ່ງວັດຈະນານຸກົມ http_proxy ຂອງ Event Hubs ພ້ອມຊື່ໂຮສ ແລະ ພອດເປັນຈຳນວນເຕັມ ພ້ອມກັນນັ້ນເລືອກການຂົນສົ່ງ WebSocket AMQP.
ສຳລັບຜູ້ບໍລິໂພກ Event Hubs ໃນ Python ທີ່ໃຊ້ HTTP proxy, ໃຫ້ຕັ້ງຄ່າວັດຈະນານຸກົມ proxy ຂອງ SDK ແລະ ການຂົນສົ່ງ WebSocket ຕອນສ້າງ client:
from azure.eventhub import EventHubConsumerClient, TransportType
client = EventHubConsumerClient(
fully_qualified_namespace=namespace,
eventhub_name=eventhub_name,
consumer_group='$Default',
credential=credential,
transport_type=TransportType.AmqpOverWebsocket,
http_proxy={
'proxy_hostname': 'proxy.example',
'proxy_port': 8080,
},
)
Namespace, ຊື່ Event Hub ແລະ credential ແມ່ນການຕັ້ງຄ່າບໍລິການທີ່ແອັບມີຢູ່ແລ້ວ. ສືບຕໍ່ກັບ callback ການຮັບ ແລະ ວົງຈອນຊີວິດປົກກະຕິຂອງການປິດ client.
ວັດຈະນານຸກົມນີ້ອະທິບາຍຕົວກາງໂດຍກົງ. ມັນບໍ່ແມ່ນແຜນທີ່ແມ່ແບບປາຍທາງ http/https ທີ່ Requests ຍອມຮັບ. ສຳລັບ namespace Event Hubs ສາທາລະນະ ທີ່ອະນຸຍາດຕົວກາງສາທາລະນະ, ລາຍຊື່ HTTP proxy ໃຫ້ຜູ້ສະໝັກສຳລັບຊ່ອງຊື່ໂຮສ ແລະ ພອດທີ່ບໍ່ມີບັນຊີ. ເພີ່ມກະແຈ username ແລະ password ຖ້າຕ້ອງການບັນຊີ proxy ທີ່ຕັ້ງໄວ້.
AMQP ເທິງ WebSockets ໃຊ້ພອດ 443 ຂອງບໍລິການ ໃນຂະນະທີ່ການຂົນສົ່ງ AMQP ປົກກະຕິໃຊ້ 5671. proxy ຍັງຕ້ອງອະນຸຍາດການເຊື່ອມຕໍ່ທີ່ເກີດຂຶ້ນໄປຫາ namespace Event Hubs.
credential ແບບ token ສາມາດສົ່ງຄຳຮ້ອງ HTTP ແຍກຕ່າງຫາກໄດ້ໃນຂະນະທີ່ໄດ້ຮັບ token. ຕັ້ງຄ່າການຂົນສົ່ງທີ່ມັນຮອງຮັບຕາມຄວາມຈຳເປັນ ເມື່ອເສັ້ນທາງການພິສູດຕົວຕົນນັ້ນກໍ່ຕ້ອງການ proxy ນຳ.