介绍
Azure SDK for Python [1]是连接到Azure REST API并提取信息的众多方法之一。这是一个有关如何从Azure订阅中检索所有资源的示例,将数据放入Pandas DataFrame [2]并使用matplotlib [3]。
绘制简单的饼图。导入库
我们需要导入以下库。
# Import libraries
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ResourceManagementClient
import pandas as pd
import matplotlib
获得凭据并获得管理对象
使用AzureCliCredential()
时,Python将使用当前登录的用户的Azure CLI上下文来执行查询。
# Acquire credential
credential = AzureCliCredential()
# Define Scope
subscription_id = "subscription_id"
# Obtain the management object for resources.
resource_client = ResourceManagementClient(credential, subscription_id)
创建和填充字典
通过资源客户端使用resource_client.resources.list()
将在给定订阅中使用所有Azure资源检索一个可相互的对象。现在,我们可以用资源填充Python词典,并将它们添加到Pandas DataFrame中。
resources = resource_client.resources.list()
dict = []
for resource in resources:
dict.append(resource.as_dict())
从字典创建数据框
df = pd.DataFrame.from_dict(dict)
仅根据资源类型计数选择前10行
type_df = df['type'].value_counts()
type_df_top = type_df.head(10)
最后绘制饼图
plot = type_df_top.plot.pie(figsize=(10, 10), autopct= lambda x: '{:.0f}'.format(x*type_df_top.sum()/100))
概括
这篇简短的文章已经在使用Azure SDK为Python时划过了表面,因为它允许将Python的功率与Azure Rest API的功能相结合。
我们根据给定上下文提取了Azure资源的列表,将它们添加到Pandas DataFrame中,并根据前10个资源计数绘制了一个简单的饼图。
参考
# | 标题 | url |
---|---|---|
1 | 使用python的Azure库(SDK) | https://learn.microsoft.com/en-us/azure/developer/python/sdk/azure-sdk-overview |
2 | pandas.dataframe | https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html |
3 | matplotlib:用python可视化 | https://matplotlib.org/ |