瞭解 Azure 資源

已完成

所有 Azure 資源都會以特定類型進行部署。 此類型會識別其本身的資源種類。 資源識別碼是 Azure 識別特定資源執行個體的方式。 了解資源類型和資源識別碼的結構非常重要,因為它們可在您撰寫 Bicep 範本時為您提供重要的資訊。

資源提供者

Azure Resource Manager 的設計可讓您透過 Resource Manager API 和 ARM 範本來管理許多不同的資源提供者。 資源提供者是資源類型的邏輯分組,通常與一或幾個 Azure 服務相關。 資源提供者的範例包括:

  • Microsoft.Compute,用於虛擬機器。
  • Microsoft.Network,用於網路資源,例如虛擬網路、網路安全性群組和路由表。
  • Microsoft.Cache,用於 Azure Cache for Redis。
  • Microsoft.Sql,用於 Azure SQL。
  • Microsoft.Web,用於 Azure App Service 和 Azure Functions。
  • Microsoft.DocumentDB,用於 Azure Cosmos DB。

注意

資源提供者名稱和資源類型名稱偶而會與其所用 Azure 服務的名稱不相符,或這些名稱可能是舊產品或資源的名稱。 例如,Log Analytics 工作區的資源提供者是 Microsoft.OperationalInsights

每種資源類型的 ARM 範本語法的文件都是根據資源提供者進行組織的。

您必須先為訂用帳戶註冊資源提供者後,才能使用其公開的資源類型。 註冊通常只需進行一次。 當您提交 Bicep 部署時,Resource Manager 會自動註冊用於檔案的資源提供者。 您可也使用 Azure 入口網站、Azure CLI 或 Azure PowerShell 註冊資源提供者

資源類型

資源提供者會公開多個不同的類型。 每個資源類型都有自己的一組屬性和行為,可定義資源及其功能。 例如,Microsoft.Web 資源提供者內有數個資源類型,包括:

  • sites:定義 App Service 應用程式或 Azure Functions 應用程式。 屬性包含您應用程式所使用的環境變數,以及支援的通訊協定 (HTTP 和 HTTPS) 以存取應用程式。
  • serverFarms:定義 App Service 方案,也就是執行應用程式的基礎結構。 屬性包括伺服器的大小和 SKU,以及您所需部署方案的執行個體數目。

當您在 Bicep 中定義資源時,必須指定其資源類型,以及您需要 Bicep 用於資源的資源提供者 API 版本。 此資訊可協助 Bicep 工具和 Resource Manager 瞭解應向資源定義提供哪些屬性。

提示

最好是針對每個資源使用最新的 API 版本。 Azure 服務中的新功能有時只適用於較新的 API 版本。

您可以結合資源提供者和類型名稱,以建立完整的資源類型名稱。 完整類型名稱包含資源提供者名稱、斜線 (/) 和資源類型。 例如,儲存體帳戶的完整類型名稱為 Microsoft.Storage/storageAccounts。 在此範例中,其資源提供者名稱是 Microsoft.Storage,而資源類型為 storageAccounts

資源識別碼

每個 Azure 資源都有唯一的資源識別碼。 此識別碼所包含的資訊可協助您區分資源與相同類型的任何其他資源,或甚至來自可能共用相同名稱的不同資源。 儲存體帳戶的資源識別碼如下所示:

/subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345/resourceGroups/ToyDevelopment/providers/Microsoft.Storage/storageAccounts/secrettoys

讓我們看看相同資訊的視覺標記法:

儲存體帳戶的資源識別碼,以不同行的索引鍵/值組進行分割。

您可以看到資源識別碼交錯資源類型和您所部署特定資源的相關資訊。 讓我們將此範例資源識別碼細分為其元件:

  • subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345 指出這項資源位於具有識別碼的 Azure 訂用帳戶內。 A123b4567c-1234-1a2b-2b1a-1234abc12345.
  • resourceGroups/ToyDevelopment 指出資源位於名為 ToyDevelopment 的資源群組內。
  • providers/Microsoft.Storage 指出資源正在使用來自 Microsoft.Storage 資源提供者的類型。
  • storageAccounts 為資源類型。
  • secrettoys 為儲存體帳戶的名稱。

提示

您可以使用符號名稱和 id 屬性來存取 Bicep 中任何資源的識別碼。 例如,如果您定義符號名稱為 toyDesignDocumentsStorageAccount 的儲存體帳戶,可以使用 toyDesignDocumentsStorageAccount.id 運算式來存取其資源識別碼。

現在您已瞭解資源類型和資源識別碼的基本概念,接下來讓我們看看子資源。