我正在尝试编写python代码,以便能够从python脚本在Azure event Hub上创建/删除事件中心。我已经在the documentation on this page之后创建了一个EventHubManagementClient。我相信我现在需要使用EventHubsOperations类as documented here
我有两个挑战:
理想情况下,我希望调用create_或_delete方法来创建新的事件中心或从python脚本中删除现有的事件中心。如果有人能分享如何扩展这段代码来实现这一点,我将不胜感激。文档似乎越来越轻:“配置,必需,服务客户端的配置”
我的代码如下:
import setenv
import os
from azure.mgmt.eventhub import EventHubManagementClient
from azure.identity import DefaultAzureCredential
setenv.import_env_vars('')
vault_url = os.environ["KEY_VAULT_URL"]
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"]
credential = DefaultAzureCredential()
print('Creating EH_client...')
EH_client = EventHubManagementClient(vault_url, credential, subscription_id, base_url=None)
print('Created.')
EventHubsOperations(EH_client)
结果输出如下:
Project root:
filename: env_values
Creating EH_client...
Created.
Traceback (most recent call last):
File "/home/db533/gitRepos/GunaBot2/azure-mgmt/azure_test.py", line 25, in <module>
EventHubsOperations(EH_client)
NameError: name 'EventHubsOperations' is not defined
Process finished with exit code 1
下面是我从python中创建和删除EventHub的代码
我使用单独的脚本(setenv.py)加载存储在文本文件中的环境变量
加载环境变量的setenv.py脚本如下所示。(我是从另一个答案中得到这个答案的。不能因此而获得荣誉…)
环境变量在文件中定义如下:
希望这能帮助别人
使用以下语句导入EventHubsOperation类:
from azure.mgmt.eventhub.v2021_01_01_preview.operations import EventHubsOperations
config
是服务客户端的配置详细信息serializer
和deserializer
对象是有助于将对象转储并加载到字节流中的对象,例如pickle模块Link想知道更多准备好这些参数后,需要为EventHubsOperations类创建对象,并为所有参数传递值
object_name = EventHubsOperations(client=(value), config=(value), serializer=(value), deserializer=(value))
使用此对象,可以使用此类的
create_or_update
和delete
方法以及所需的参数object_name.create_or_update(resource_group_name, namespace_name, event_hub_name, parameters, **kwargs)
object_name.delete(resource_group_name, namespace_name, event_hub_name, **kwargs)
您还可以发现Source code for azure.mgmt.eventhub.v2018_01_01_preview.operations.event)
相关问题 更多 >
编程相关推荐