列出、更新和刪除資源庫資源
您可以使用 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 訂用帳戶中設定預覽功能。 所有 Azure 使用者都可以從社群資源庫映像建立 VM。
若要列出您自己的資源庫,並輸出社群資源庫的公用名稱:
az sig list --query [*]."{Name:name,PublicName:sharingProfile.communityGalleryInfo.publicNames}"
注意
身為終端使用者,若要取得社群資源庫的公用名稱,您目前需要使用入口網站。 移至 [虛擬機器]>[建立]>[Azure 虛擬機器]>[映像]>[查看所有映像]>[社群映像]>[公開資源庫名稱]。
使用 az sig image-definition list-community 列出社群資源庫中可用的所有映像定義。
在此範例中,我們會列出美國西部 ContosoImage 資源庫中的所有映像,並依名稱列出建立 VM、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 註冊。 所有 Azure 使用者都可以從直接共用資源庫建立 VM。
在預覽期間,您必須建立新的資源庫,並將屬性 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、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