У меня есть три массива данных с плавающей точкой (A, B, C), которые я хочу отправить в концентратор событий.
Проблема здесь в том, что классы являются вложенными, и я не могу понять, как сформировать данные, чтобы иметь возможность успешно отправлять.
Вот код, который я пытаюсь
logger = logging.getLogger("azure")
ADDRESS = ""
USER = ""
KEY = ""
try:
if not ADDRESS:
raise ValueError("No EventHubs URL supplied.")
# Create Event Hubs client
client = EventHubClient(ADDRESS, debug=False, username=USER, password=KEY)
sender = client.add_sender(partition="0")
client.run()
x_value = np.arange(100)
try:
start_time = time.time()
for i in range(100000):
A = np.asarray([1,2,3,4])
B = np.asarray([2,3,4,5])
C = np.asarray([3,4,5,6])
message = [A, B, C]
sender.send(EventData(body = message))
time.sleep(1)
except:
raise
finally:
end_time = time.time()
client.stop()
run_time = end_time - start_time
logger.info("Runtime: {} seconds".format(run_time))
except KeyboardInterrupt:
pass
. Таким образом, я вижу, что у объекта 'ValueBody' ошибки нет атрибута 'append', я думаю, что по типам класс кодируетсообщение по-другому. Вместо того, чтобы отправлять одно сообщение с последовательной строкой, я хочу отправить сообщение параллельным способом и получить их примерно так:
- Получить одно событие с данными в виде списка [A,B, C]
- Получите три события A, B, C по отдельности, как при вызове трех разных объектов.
Во-вторых, я не уверен, будет ли это работать, так какЯ использую только один раздел, и при получении я могу смешать три события A, B, C, и я не хочу этого.