繁体   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