2017-05-30 51 views
1

我有一個生成流式數據的Python程序。每條數據都存儲爲一個名爲message的變量。Azure事件中心 - REST API身份驗證

由於事件中心沒有提供Python SDK,因此我選擇使用their REST API。我試圖將數據推到我的活動中心實例作爲我的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

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

我建議使用SDK,但如果您真的想直接調用REST API,請查看SDK源中的事件中心方法實現:https://github.com/Azure/azure-sdk-for-python/blob/master/azure-servicebus/azure/servicebus/servicebusservice.py

+0

我沒有意識到Azure SDK有事件中心支持。因爲你的幫助,我已經起來跑步了。謝謝! – peterkshultz