你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
列出、更新和删除库资源
你可以使用 Azure CLI 或 Azure PowerShell 管理你的 Azure Compute Gallery(先前称为“共享映像库”)资源。
列出与你共享的库
列出与你的订阅共享的库。
region=westus
az sig list-shared --location $region
列出与你的租户共享的库。
region=westus
az sig list-shared --location $region --shared-to tenant
输出将包含与你共享的库的公共 name
和 uniqueID
。 可以使用库的名称来查询可以通过库使用的映像。
下面是示例输出:
[
{
"location": "westus",
"name": "1231b567-8a99-1a2b-1a23-123456789abc-MYDIRECTSHARED",
"uniqueId": "/SharedGalleries/1231b567-8a99-1a2b-1a23-123456789abc-MYDIRECTSHARED"
}
]
更新资源
对于能够更新的内容,存在一些限制。 以下项目可以更新:
Azure Compute Gallery:
- 说明
映像定义:
- 建议的 vCPU 数
- 建议的内存
- 说明
- 生命周期终结日期
映像版本:
- 区域副本计数
- 目标区域数
- 从最新项中排除
- 生命周期终结日期
使用 az sig update 更新对库的说明。
az sig update \
--gallery-name myGallery \
--resource-group myGalleryRG \
--set description="My updated description."
使用 az sig image-definition update 更新对映像定义的说明。
az sig image-definition update \
--gallery-name myGallery\
--resource-group myGalleryRG \
--gallery-image-definition myImageDefinition \
--set description="My updated description."
使用 az sig image-version update 更新要向其添加需复制的区域的映像版本。 此更改需要一定的时间,因为需将映像复制到新区域。
az sig image-version update \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition \
--gallery-image-version 1.0.0 \
--add publishingProfile.targetRegions name=eastus
本示例说明如何使用 az sig image-version update 将此映像版本从作为最新映像使用的版本中排除。
az sig image-version update \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition \
--gallery-image-version 1.0.0 \
--set publishingProfile.excludeFromLatest=true
本示例说明如何使用 az sig image-version update 将此映像版本包括在考虑作为最新映像使用的版本中。
az sig image-version update \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition \
--gallery-image-version 1.0.0 \
--set publishingProfile.excludeFromLatest=false
删除资源
需按相反的顺序删除资源,先删除映像版本。 删除所有映像版本以后,即可删除映像定义。 删除所有映像定义以后,即可删除库。
需要先使用 az sig share reset 来停止公开共享库,才能删除社区共享库。
使用 az sig image-version delete 删除映像版本。
az sig image-version delete \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition \
--gallery-image-version 1.0.0
使用 az sig image-definition delete 删除映像定义。
az sig image-definition delete \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition
使用 az sig delete 删除库。
az sig delete \
--resource-group myGalleryRG \
--gallery-name myGallery
社区库
重要
Azure Compute Gallery - 社区库目前为预览版,并受 Azure Compute Gallery 预览版条款 - 社区库的约束。
若要发布社区库,需要在 Azure 订阅中设置预览功能。 从社区库映像创建 VM 将对所有 Azure 用户开放。
如需列出自己的库,并输出社区库的公共名称:
az sig list --query [*]."{Name:name,PublicName:sharingProfile.communityGalleryInfo.publicNames}"
注意
作为最终用户,若要获取社区库的公共名称,当前需要使用门户。 转到“虚拟机”>“创建”>“Azure 虚拟机”>“映像”>“查看所有映像”>“社区映像”>“公共库名称”。
使用 az sig image-definition list-community 列出社区库中可用的所有映像定义。
在此示例中,我们列出美国西部的 ContosoImage 库中的所有映像,以及创建 VM 所需的唯一 ID(按名称)、OS 和 OS 状态。
az sig image-definition list-community \
--public-gallery-name "ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f" \
--location westus \
--query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table
使用 az sig image-version list-community 列出在社区库中共享的映像版本:
az sig image-version list-community \
--location westus \
--public-gallery-name "ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f" \
--gallery-image-definition myImageDefinition \
--query [*]."{Name:name,UniqueId:uniqueId}" \
-o table
直接共享库
重要
Azure Compute Gallery - 直接共享库目前处于预览阶段,并受 Azure Compute Gallery 预览条款的约束。
要在预览期间将映像发布到直接共享库,需要在 https://aka.ms/directsharedgallery-preview 注册。 从直接共享库创建 VM 的功能将对所有 Azure 用户开放。
在预览期间,需要新建一个库,并将属性 sharingProfile.permissions
设置为 Groups
。 使用 CLI 创建库时,请使用 --permissions groups
参数。 不能使用现有库,当前无法更新该属性。
要查找与你共享的库的 uniqueID
,请使用 az sig list-shared。 在此示例中,我们探讨的是位于美国西部区域的库。
region=westus
az sig list-shared --location $region --query "[].uniqueId" -o tsv
列出直接与你共享的所有映像定义,请使用 az sig image-definition list-shared。
在此示例中,我们列出位于美国西部的库中的所有映像,以及创建 VM 所需的唯一 ID(按名称)、OS 和 OS 状态。
name="1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-myDirectShared"
az sig image-definition list-shared \
--gallery-unique-name $name
--location $region \
--query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table
使用 az sig image-version list-shared 列出直接共享到你的映像版本:
imgDef="myImageDefinition"
az sig image-version list-shared \
--location $region \
--public-gallery-name $name \
--gallery-image-definition $imgDef \
--query [*]."{Name:name,UniqueId:uniqueId}" \
-o table