列出、更新和刪除資源庫資源

您可以使用 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 

輸出將包含與您共用的資源庫的公用 nameuniqueID。 您可以使用資源庫的名稱來查詢可透過資源庫取得的映像。

範例輸出如下:

[
  {
    "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

下一步