Definování prostředků rozšíření
Prostředky rozšíření jsou vždy připojené k dalším prostředkům Azure. Rozšiřují chování těchto prostředků o další funkce.
Mezi příklady běžných prostředků rozšíření patří:
Název | Typ prostředku |
---|---|
Přiřazení rolí | Microsoft.Authorization/roleAssignments |
Přiřazení zásad | Microsoft.Authorization/policyAssignments |
Zámky | Microsoft.Authorization/locks |
Nastavení diagnostiky | Microsoft.Insights/diagnosticSettings |
Představte si například zámek, který se dá použít k zabránění odstranění nebo úpravám prostředku Azure. Nemá smysl nasadit zámek sám o sobě. Vždy se musí nasadit do jiného prostředku.
Poznámka:
Příkazy v této lekci jsou znázorněny pro ilustraci konceptů. Zatím nespouštět příkazy. Brzy si procvičíte, co se tady naučíte.
Jak jsou definované prostředky rozšíření?
V Bicep definujete prostředek rozšíření většinou stejným způsobem jako běžný prostředek. Tuto vlastnost však přidáte scope
, aby bicep řekl, že prostředek by měl být připojen k jinému prostředku definovanému jinde v souboru Bicep. Symbolický název zdroje použijete k odkaz na něj. Tady je například definice účtu služby Azure Cosmos DB, který jsme vytvořili dříve:
resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = {
name: cosmosDBAccountName
location: location
properties: {
// ...
}
}
Pojďme přidat zámek prostředku, který zabrání všem v odstranění účtu služby Azure Cosmos DB:
resource lockResource 'Microsoft.Authorization/locks@2020-05-01' = {
scope: cosmosDBAccount
name: 'DontDelete'
properties: {
level: 'CanNotDelete'
notes: 'Prevents deletion of the toy data Cosmos DB account.'
}
}
Všimněte si, že příklad používá scope
vlastnost se symbolickým názvem účtu služby Azure Cosmos DB. Toto nastavení vlastnosti říká Bicep, aby nasadil zámek prostředku do účtu služby Azure Cosmos DB, což znamená, že už ho nejde odstranit.
ID prostředků rozšíření
Prostředek rozšíření má trochu jiné ID než jiné prostředky. Skládá se z jeho nadřazeného ID prostředku, oddělovače /providers/
a ID prostředku rozšíření.
Řekněme, že jste nasadili dříve uvedený účet služby Azure Cosmos DB a tento účet byl pojmenován toyrnd
. Id prostředku zámku by vypadalo takto:
/subscriptions/A123b4567c-1234-1a2b-2b1a-1234abc12345/resourceGroups/ToyDevelopment/providers/Microsoft.DocumentDB/databaseAccounts/toyrnd/providers/Microsoft.Authorization/locks/DontDelete
Tady je vizuální reprezentace:
Pokud se zobrazí ID prostředku, které začíná normálním ID prostředku, a pak přidáte /providers/
a další typ a název prostředku, znamená to, že se díváte na ID prostředku rozšíření.