2016-04-10 29 views
1

我想讀https://msdn.microsoft.com/en-us/library/azure/dn163589.aspxhttps://msdn.microsoft.com/en-us/library/azure/mt652158.aspx 我有Python代碼,實際上可以調用的URL,並得到迴應後拉使用REST API, 事件樞紐指標 我現在嘗試下面的代碼使用rest api獲取Azure事件中心指標?

def get_metrics(subscription, eventhub, cert, specific_partition=None): 
    apiversion = '2014-01' 
    namespace = eventhub['namespace'] 
    eventhubname = eventhub['name'] 
    url = "https://management.core.windows.net/{}/services/ServiceBus/Namespaces/{}/eventhubs/{}/Metrics/requests.total/Rollups/P1D/Values/?$filter=timestamp%20gt%20datetime'2016-04-09T00:00:00.0000000Z'&api-version={}".format(
     subscription, namespace, eventhubname, apiversion) 
    request = requests.Request('GET', url, headers=DEFAULT_HEADERS).prepare() 
    session = requests.Session() 
    if cert is None or not os.path.isfile(cert): 
     raise ValueError('You must give certificate file') 
    session.cert = cert 
    result = session.send(request) 
    return result 

我的問題是與URL,在代碼中使用的URL上面時,我得到

<Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Code>InternalError</Code><Message>The server encountered an internal error. Please retry the request.</Message></Error> 

我試圖讓ACTUA時候能拿到API輸出所有可能的彙總和所有可能的指標,但l值失敗。

url中是否有問題,或者它是天藍色/天藍色文檔中的錯誤?

+0

你的DEFAULT_HEADERS是什麼?只是內容類型和授權? –

+0

內容類型和x-ms版本,我在會話中使用證書 – Srgrn

回答

2

通常,當我們發生這個問題時,這意味着我們爲Rest Apis合併的端點出現了問題,以便服務在解析端點時引發異常。

與我的成功測試相比,我發現有趣的是,由過濾器參數timestamp引發的問題,其第一個字母應該大寫爲Timestamp。以下端點在我身邊正常工作。希望它對你有幫助。

url = "https://management.core.windows.net/{}/services/ServiceBus/Namespaces/{}/eventhubs/{}/Metrics/requests.total/Rollups/P1D/Values/?$filter=Timestamp%20gt%20datetime'2016-04-09T00:00:00.0000000Z'&api-version={}".format(
     subscription, namespace, eventhubname, '2012-03-01') 
+0

謝謝,您是否也可以更新azure網站上的文檔? – Srgrn

相關問題