Azure中用于数据收集的现有API最少。一个用于收集磁盘数据的API调用仅列出托管OsDisk的不同属性,而不列出非托管OsDisk的属性。此外,也没有用于收集数据磁盘详细信息的api调用。我需要编写nodejs代码,分别收集和收集托管OsDisk和非托管OsDisk和DataDisk的各种属性。
尝试使用api调用存储帐户来专门过滤数据磁盘,但是响应不会为未管理的OsDisk和Datadisk提供任何内容。
我也尝试收集blob的数据,但对blob的api调用以xml格式返回响应。我想以json格式收集blob数据,也想知道是否有对blob的任何api调用在json中给出响应。如果没有给出json响应,我想知道一种如何解析xml数据以获取特定数据并将其存储为json的方法。
Promise1 = new Promise((resolve,reject) =>{
unirest.get('https://management.azure.com/subscriptions/' + subscriptionId + '/providers/Microsoft.Compute/disks?api-version=2018-06-01')
.header('Authorization', token)
.end(function (responseDisks){
resolve(responseDisks)
reject(err)
})
})
Promise1.then(function(responseDisks){
var diskName = []
var diskLocation = []
var disk_sku_name = []
var disk_sku_tier = []
var disk_created_time = []
var disk_osType = []
var disk_creationData_option = []
var disk_creationData_imageReference = []
var disk_SizeGB = []
因此,此代码仅收集和收集托管Os磁盘的数据。 https get请求是一个Azure Api调用,该调用应该给出一个响应,其中包含Azure订阅中所有磁盘的所有数据,但不包含非托管OsDisk的数据,而不包含数据磁盘。