我需要發送一些數據到eventhub,但它沒有經過,因爲它的大小太大。有沒有辦法壓縮數據或某些命令來分割數據並將其加入事件中心? 我使用下面的Java代碼來發送:發送EventData到Azure Eventhub大於256k
EventData sendEvent = new EventData(payloadBytes);
EventHubClient ehClient = EventHubClient.createFromConnectionStringSync(connStr.toString());
ehClient.sendSync(sendEvent);
什麼是我的選擇,如果payloadBytes太大?
你如何發送數據?你使用SendBatchAsync嗎?或者單個事件已經太大了?使用Event Hub發送大量重要消息是沒有意義的。 –
我正在使用EventData sendEvent = new EventData(payloadBytes); EventHubClient ehClient = EventHubClient.createFromConnectionStringSync(connStr.toString()); ehClient.sendSync(sendEvent);有沒有方法SendBatchAsync,我可以使用批量發送消息? – Aparna
是的,請參閱https://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.eventhubclient.sendbatchasync.aspx,但它可能不會幫助您,因爲單個payloadBytes已經大於256 KB。您將不得不減少有效負載或將其分成多個事件(然後可以使用SendBatchAsync發送以提高性能)。沒有辦法爲你做這件事(壓縮或分裂),你必須自己寫。 –