簡體   English   中英

Python中的Azure計費API-空響應

[英]Azure Billing API in Python - Empty Response

我正在嘗試使用Python構建一個(我認為會是)簡單腳本,以使用Billing API下載Microsoft的Azure價目表。

token_response = adal.acquire_token_with_client_credentials(
'https://login.microsoftonline.com/' + TENANT_ID,
CLIENT-ID,
CLIENT-KEY)

access_token = token_response.get('accessToken')

endpoint = "https://management.azure.com/subscriptions/[SUBSCRIPTION-ID]/providers/Microsoft.Commerce/RateCard?api-version=2015-06-01-preview&$filter=OfferDurableId eq 'MS-AZR-0003P' and Currency eq 'GBP' and Locale eq 'en-GB' and RegionInfo eq 'GB'"
headers = {"Authorization": 'Bearer ' + access_token}

out = requests.get(endpoint,headers=headers)

json_output = out.json()
print son_output

該查詢似乎在正確執行。 授權似乎還可以,我收到200 OK的消息響應。 但是輸出為空:{u'value':[]}。 我嘗試了不同的OfferID,不同的$ filter字符串,現在讓我發瘋了...

我想知道是否沒有委派適當的權限,但是我已經創建了一個附加到Active Directory的應用程序,生成了一個密鑰,並委派了Windows Azure Service Management的權限? 如果這是問題所在,我不會收到錯誤消息嗎?

很高興聽到做相同事情的替代方法,但是Python是我真正了解的全部...

請確保您用來與Billing and Usage API交互的用戶帳戶可以訪問Azure訂閱。 在您的情況下,您正在使用Service Principal因此請確保為此用戶分配了“訂閱”中的角色。

要將Service Principal分配給角色,您可能會發現此鏈接很有用: https : //azure.microsoft.com/en-in/documentation/articles/resource-group-create-service-principal-portal/

在分配角色時,由於該用戶只需要讀取數據,因此最好與“ Reader角色配合使用,這樣就可以對Azure訂閱進行無意更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM