Azure中所有azure资源类型的列表?

问题描述 投票:3回答:2

您是否可以在任何地方获得Azure提供的所有资源类型的完整列表?我正在进行策略/角色管理,似乎没有一个好地方可以查找所有资源类型。目前我一直在使用Get-AzureRmProviderOperation,但这仍然没有显示一切。例如,Microsoft.Botservice没有选项

azure azure-active-directory azure-resource-manager azure-powershell
2个回答
0
投票

请注意,如果您想查看模板参考,那么您可以访问https://docs.microsoft.com/en-us/azure/templates/。请注意,截至此日期,缺少某些资源类型(例如“SendGrid.Email/accounts”)


0
投票

您可以使用Providers - List API$expand=resourceTypes/aliases查询参数来为您提供所需的一切。

您可以通过以下方式获取所有资源类型:在返回的每个提供程序中附加namespaceresourceTypes[*].resourceType 2.每个别名的名称已经是资源类型名称

这是一个简单的nodejs脚本,用于获取排序到文件中的所有资源类型

const fs = require('fs');

var a = <resource-provider-api-response-as-json-object>;

let final = [];

var b = a.value.forEach(p => {
  let ns = p.namespace;

  let rsts = p.resourceTypes.map(rst => ns + '/' + rst.resourceType);
  final = final.concat(rsts);

  p.resourceTypes.forEach(rst => {
    let aliases = rst.aliases.map(a => a.name)

    final = final.concat(aliases);
  });
});

final.sort();

fs.writeFile("random.data", final.join('\n'), function(err) {
  if(err) {
      return console.log(err);
  }

  console.log("The file was saved!");
}); 

此外,如果您使用bashazjq安装,你可以简单地运行这:)

az provider list --expand resourceTypes/aliases | jq '[ .[].namespace + "/" + .[].resourceTypes[].resourceType , .[].resourceTypes[].aliases[]?.name ] | unique | sort' | less

您也可以将输出管道传输到文件中,以便在其他脚本中使用。

© www.soinside.com 2019 - 2024. All rights reserved.