python - 使用 azure-eventhubs python 示例时出错
问题描述
我正在尝试使用示例代码从 Azure 事件中心接收数据。
这是代码
import os
import sys
import logging
import time
from azure.eventhub import EventHubClient, Receiver, Offset
logger = logging.getLogger("azure")
ADDRESS = "amqps://mine.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=sadfsafdljksad=<eventhub>"
但是执行时出现以下错误..
Traceback (most recent call last):
File "./recv.py", line 5, in <module>
from azure.eventhub import EventHubClient, Receiver, Offset
ImportError: cannot import name 'EventHubClient'
任何帮助将不胜感激。
解决方案
我认为您实际上安装了azure-eventhub 包,版本 5.0.0。但EventHubClient
在 5.0.0 版本中不存在,它存在于azure-eventhub 包中,版本 1.3.3或以下。
默认情况下,当您使用此命令安装适用于 python 的 azure eventthub 包时pip install azure-eventhub
,它将自动安装最新版本 5.0.0。所以这句话from azure.eventhub import EventHubClient, Receiver, Offset
会抛出错误ImportError: cannot import name 'EventHubClient'
您可以通过 open cmd -> input command 查看包的版本pip show azure-eventhub
。截图如下:
有2个解决方案:
解决方案 1:继续使用 5.0.0 版本,然后您应该重新编写代码并按照此文档中的示例进行操作。
解决方案2:如果要使用当前包含的代码,from azure.eventhub import EventHubClient, Receiver, Offset
请先卸载5.0.0 version
azure-eventhub的,然后1.3.3 version
使用此命令重新安装pip install azure-eventhub==1.3.3
推荐阅读
- java - Objectify 单元测试将数据持久化到 Google Cloud Datastore
- r - XML 到具有重复同级的数据框
- haskell - GHCi ":browse" 如何导入模块?
- docker - could_not_write_file cluster_nodes.config etxtbsy
- ionic-framework - 声明为能够处理“json”类型的请求但使用“http”类型的请求调用的函数
- linux - 在 Ubuntu 18.04.4 上安装 Jenkins。詹金斯没有开始
- c# - c#程序如何获取VS 2019的安装位置?
- java - jcifs - 如何将文件夹从共享文件夹复制到本地文件夹
- javascript - 在嵌套数组对象中查找对象键
- c#-3.0 - 如果 DB 中为 Null,如何在视图的文本框中显示空白