[英]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.