场景:以资源组名称列出WebApps。
尝试方法:
$WebAppApiVersion = "2015-08-01"
$MyResourceGroup = 'gurustorageRG'
Function saymyWebApps($ResourceGroupName)
{
Find-AzureRmResource -ResourceGroupName $ResourceGroupName -ResourceType $myResourceType -ApiVersion $WebAppApiVersion
}
` saymyWebApps $MyResourceGroup
输出 查找-AzureRmResource: InvalidApiVersionParameter :api-版本'2015-08-01‘无效。支持的版本是'2017-08-01,2 017-06-01,2017-05-10,2017-05-01,2017-03-01,2016-09-01,2016-07-01,2016-06-01,2016-02-01,2015-11-01,2015-01-01,2014-04-01-preview,2014- 04-01,2014-01-01,2013-03-01,2014-02-26,2014-04'.行:24字符:5+ Find-AzureRmResource -ResourceGroupName $ResourceGroupName -Resou .+~+ CategoryInfo : CloseError:(:) Find-AzureRmResource,ErrorResponseMessageException + FullyQualifiedErrorId : InvalidApiVersionParameter,Microsoft.Azure.Commands.ResourceMan
所以,我从列出的错误输出中选择了2017-08-01作为我的webapiversion参数,并重新尝试了,奇怪的是,它可以列出今天创建的webapp,或者我认为在这一点上只能列出2017-08-01之后的任何应用程序安装。
问题1:这是否意味着,我必须提取可用的-apiversion并迭代它们,以便在资源组下构建整个webapp列表? 尝试查看-apiversion,但输出显示不完整或与上面抛出的错误不匹配,如在输出块中。
用于列出API版本的代码片段:
Function GetAPIVersions()
{
((Get-AzureRmResourceProvider -ProviderNamespace Microsoft.Web).ResourceTypes | Where-Object ResourceTypeName -eq sites).ApiVersions
}
GetAPIVersions
输出 2016-08-01 2016-03-01 2015-08-01-预览 2015-08-01 2015-07-01 2015-06-01 2015-05-01 2015-04-01 2015-02-01 2014-11-01 2014-06-01 2014-04-01-预览 2014-04-01
上面的结果是成功地执行列出片段的像素版本时的结果。
问题2:为什么上面列出的页面不显示api版本列表,如初始尝试方法的错误输出所示?
发布于 2017-12-20 09:18:23
我们可以使用fiddler来捕获Find-AzureRmResource
的执行,它使用列表资源API。我们可以发现参数-ApiVersion
表示列表资源api 版本。--它与我们想要找到的资源类型无关。
问题2:为什么上面列出的页面不显示api版本列表,如初始尝试方法的错误输出所示?
您提到了Microsoft.Web的列表API版本,输出api版本可以用于操作WebApp,例如创建或更新蔚蓝webApp。
因此,-ApiVersion和list API版本是不同的。
概述:
如果我们想使用Find-AzureRmResource命令,我们需要使用错误信息中提到的api版本。
如果我们想要找到操作分隔资源类型的资源api版本,我们可以使用您提到的列表api方式。
https://stackoverflow.com/questions/47900646
复制相似问题