您是否可以在任何地方获得Azure提供的所有资源类型的完整列表?我正在进行策略/角色管理,似乎没有一个好地方可以查找所有资源类型。目前我一直在使用Get-AzureRmProviderOperation
,但这仍然没有显示所有内容。例如,Microsoft.Botservice
答案 0 :(得分:0)
请注意,如果要查看模板引用,则可以转到https://docs.microsoft.com/en-us/azure/templates/。请注意,截至该日期,某些资源类型仍然缺失(例如'SendGrid.Email/accounts')
答案 1 :(得分:0)
您可以将Providers - List API与$expand=resourceTypes/aliases
查询参数一起使用,以提供所需的一切。
您可以通过以下方式获取所有资源类型
1.在返回的每个提供者中追加namespace
和resourceTypes[*].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!");
});
此外,如果您在安装bash
和az
的情况下使用jq
,则可以运行此:)
az provider list --expand resourceTypes/aliases | jq '[ .[].namespace + "/" + .[].resourceTypes[].resourceType , .[].resourceTypes[].aliases[]?.name ] | unique | sort' | less
您也可以将输出也通过管道传输到文件中,以便在其他脚本等中使用。
答案 2 :(得分:0)