Azure事件中心 - REST API身份验证

时间:2017-05-30 23:28:04

标签: azure azure-eventhub

我有一个生成流数据的Python程序。每条数据都存储为名为message的变量。

由于Event Hubs不提供Python SDK,我选择使用their REST API。我试图将数据推送到我的Event Hub实例,作为我的Python程序的一部分,生成如下数据:

r = requests.post("https://{Instance name}.servicebus.windows.net/{Path}/messages", message)

print(r.status_code, r.reason)

执行此代码后,我收到401 Unauthorized响应。

遇到此问题后,我使用this教程尝试创建共享访问签名。在使用curl确认我生成的令牌有效后,我收到了HTTP/1.1 401 40103: Invalid authorization token signature响应。

有没有更好的方法来发送数据,同时仍然在Python中生成数据?创建共享访问签名的更好方法是什么?

1 个答案:

答案 0 :(得分:2)

Azure SDK for Python支持向事件中心发送消息:https://github.com/Azure/azure-sdk-for-python/tree/master/azure-servicebus#event-hub

我建议使用SDK,但如果您真的想直接调用REST API,请查看SDK源代码中的Event Hubs方法实现:https://github.com/Azure/azure-sdk-for-python/blob/master/azure-servicebus/azure/servicebus/servicebusservice.py