Cvičení – definování podřízených prostředků
Poznámka:
Při prvním aktivaci sandboxu a přijetí podmínek je váš účet Microsoft přidružený k novému adresáři Azure s názvem Microsoft Learn Sandbox. Také jste přidáni do speciálního předplatného s názvem Concierge Subscription.
Začínáte pracovat na žádostech týmu R&D a rozhodnete se začít vytvořením databáze Azure Cosmos DB pro testovací data dronů toy. V tomto cvičení vytvoříte účet služby Azure Cosmos DB a dva podřízené prostředky, jeden pomocí parent
vlastnosti a druhé jako vnořeného prostředku.
Během tohoto procesu:
- Vytvořte soubor Bicep, který nasadí účet Cosmos DB.
- Přidejte databázi a kontejner, což jsou podřízené prostředky účtu cosmos DB.
- Nasaďte šablonu a ověřte nasazení.
V tomto cvičení se používá rozšíření Bicep pro Visual Studio Code. Nezapomeňte toto rozšíření do Visual Studio Codu nainstalovat.
Vytvoření šablony Bicep, která obsahuje účet služby Azure Cosmos DB
Nejprve vytvoříte novou šablonu Bicep s účtem služby Azure Cosmos DB. Postup:
Otevřete Visual Studio Code.
Vytvořte nový soubor s názvem main.bicep.
Uložte prázdný soubor tak, aby Visual Studio Code načítal nástroje Bicep.
Můžete vybrat >možnost Uložit soubor jako nebo stisknout Kombinaci kláves Ctrl+S ve Windows (⌘+S v macOS). Nezapomeňte si zapamatovat, kam jste soubor uložili. Můžete například chtít vytvořit složku skriptů , do které ji chcete uložit.
Do souboru přidejte následující obsah. Je vhodné ho zadat ručně, nikoli kopírovat a vkládat. Díky tomu můžete vidět, jak vám nástroje pomůžou psát soubory Bicep.
param cosmosDBAccountName string = 'toyrnd-${uniqueString(resourceGroup().id)}' param location string = resourceGroup().location resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2024-11-15' = { name: cosmosDBAccountName location: location properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] } }
Tip
Bicep je striktní na místo, kam založíte konce řádků, takže nezapomeňte přidat konce řádků jenom tam, kde je vidět tady.
Tato šablona Bicep nasadí účet služby Azure Cosmos DB, který je nadřazeným prostředkem, který vytvoříte v další části.
Uložte změny souboru.
Přidání databáze
Dále vytvoříte databázi, což je podřízený prostředek účtu služby Azure Cosmos DB.
Do horní části souboru mezi dva existující parametry přidejte následující parametr:
param cosmosDBDatabaseThroughput int = 400
Do deklarací parametrů přidejte následující proměnnou:
var cosmosDBDatabaseName = 'FlightTests'
Do dolní části souboru přidejte následující definici prostředku pod definici prostředku účtu služby Azure Cosmos DB.
resource cosmosDBDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2024-11-15' = { parent: cosmosDBAccount name: cosmosDBDatabaseName properties: { resource: { id: cosmosDBDatabaseName } options: { throughput: cosmosDBDatabaseThroughput } } }
Všimněte si, že tento kód nasadí databázi, což je podřízený prostředek, pomocí
parent
vlastnosti. Všimněte si také, že kód používá plně kvalifikovaný typ prostředku s explicitně zadanou verzí rozhraní API.Uložte změny souboru.
Přidání kontejneru
Teď přidáte další podřízený prostředek. Tentokrát ho místo použití parent
vlastnosti přidáte jako vnořený prostředek.
V horní části souboru pod
cosmosDBDatabaseName
definici proměnné přidejte následující proměnné:var cosmosDBContainerName = 'FlightTests' var cosmosDBContainerPartitionKey = '/droneId'
V dolní části souboru v definici prostředku databáze a před pravou složenou závorku (
}
) přidejte následující vnořenou definici prostředku:resource container 'containers' = { name: cosmosDBContainerName properties: { resource: { id: cosmosDBContainerName partitionKey: { kind: 'Hash' paths: [ cosmosDBContainerPartitionKey ] } } options: {} } }
Všimněte si, že jste použili krátký typ prostředku, protože Bicep chápe,
containers
že patří pod nadřazený typ prostředku. Bicep ví, že plně kvalifikovaný typ prostředku jeMicrosoft.DocumentDB/databaseAccounts/sqlDatabases/containers
. Nezadali jste verzi rozhraní API, takže Bicep používá verzi nadřazeného prostředku.Uložte změny souboru.
Ověřte svůj soubor Bicep
Po dokončení všech předchozích změn by soubor main.bicep měl vypadat jako v tomto příkladu:
param cosmosDBAccountName string = 'toyrnd-${uniqueString(resourceGroup().id)}'
param cosmosDBDatabaseThroughput int = 400
param location string = resourceGroup().location
var cosmosDBDatabaseName = 'FlightTests'
var cosmosDBContainerName = 'FlightTests'
var cosmosDBContainerPartitionKey = '/droneId'
resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2024-11-15' = {
name: cosmosDBAccountName
location: location
properties: {
databaseAccountOfferType: 'Standard'
locations: [
{
locationName: location
}
]
}
}
resource cosmosDBDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2024-11-15' = {
parent: cosmosDBAccount
name: cosmosDBDatabaseName
properties: {
resource: {
id: cosmosDBDatabaseName
}
options: {
throughput: cosmosDBDatabaseThroughput
}
}
resource container 'containers' = {
name: cosmosDBContainerName
properties: {
resource: {
id: cosmosDBContainerName
partitionKey: {
kind: 'Hash'
paths: [
cosmosDBContainerPartitionKey
]
}
}
options: {}
}
}
}
Pokud tomu tak není, zkopírujte příklad nebo upravte šablonu tak, aby odpovídala příkladu.
Nasazení šablony do Azure
Pokud chcete tuto šablonu nasadit do Azure, musíte se přihlásit ke svému účtu Azure z terminálu editoru Visual Studio Code. Ujistěte se, že jste nainstalovali Azure CLI, a nezapomeňte se přihlásit pomocí stejného účtu, který jste použili k aktivaci sandboxu.
V nabídce Terminal (Terminál) vyberte New Terminal (Nový terminál). Okno terminálu se obvykle otevře v dolní polovině obrazovky.
Pokud se v okně terminálu zobrazí bash na pravé straně, znamená to, že správné prostředí je už otevřené. Pokud se na pravé straně zobrazí ikona prostředí Bash, můžete ho vybrat a spustit prostředí.
Pokud se zobrazí jiné prostředí než Bash, vyberte šipku rozevíracího seznamu prostředí a pak vyberte Git Bash.
V terminálu přejděte do adresáře, do kterého jste šablonu uložili. Pokud jste například šablonu uložili do složky templates , můžete použít tento příkaz:
cd templates
Instalace Bicep
Spuštěním následujícího příkazu se ujistěte, že máte nejnovější verzi Bicep:
az bicep install && az bicep upgrade
Přihlášení k Azure
V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:
az login
V prohlížeči, který se otevře, se přihlaste ke svému účtu Azure. V terminálu editoru Visual Studio Code se zobrazí seznam předplatných přidružených k tomuto účtu. Vyberte předplatné s názvem Concierge Subscription.
Pokud jste nedávno použili více než jeden sandbox, může se v terminálu zobrazit více než jedna instance předplatného Concierge. V tomto případě použijte následující dva kroky k nastavení jednoho jako výchozího předplatného.
Získejte ID předplatného Concierge Subscription.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Nastavte výchozí předplatné pomocí ID předplatného. Nahraďte {ID vašeho předplatného} za ID nejnovějšího předplatného Concierge Subscription.
az account set --subscription {your subscription ID}
Nastavení výchozí skupiny prostředků
Když použijete Azure CLI, můžete v tomto cvičení nastavit výchozí skupinu prostředků a vynechat parametr ze zbývajících příkazů Azure CLI. Nastavte výchozí hodnotu na skupinu prostředků, která je pro vás vytvořená v prostředí sandboxu.
az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"
Nasazení šablony do Azure
Spuštěním následujícího kódu z terminálu v editoru Visual Studio Code nasaďte šablonu Bicep do Azure. Dokončení této operace může trvat minutu nebo dvě, než se zobrazí úspěšné nasazení.
az deployment group create --name main --template-file main.bicep
Pokud chcete tuto šablonu nasadit do Azure, přihlaste se ke svému účtu Azure z terminálu editoru Visual Studio Code. Ujistěte se, že jste nainstalovali Azure PowerShell, a přihlaste se ke stejnému účtu, který aktivoval sandbox.
V nabídce Terminal (Terminál) vyberte New Terminal (Nový terminál). Okno terminálu se obvykle otevře v dolní polovině obrazovky.
Pokud se v okně terminálu na pravé straně zobrazí pwsh nebo PowerShell , znamená to, že správné prostředí je už otevřené. Pokud se na pravé straně zobrazí ikona prostředí PowerShell, můžete ho vybrat a spustit prostředí.
Pokud se zobrazí jiné prostředí než pwsh nebo PowerShell, vyberte šipku rozevíracího seznamu prostředí a pak vyberte PowerShell.
V terminálu přejděte do adresáře, do kterého jste šablonu uložili. Pokud jste například šablonu uložili do složky templates , můžete použít tento příkaz:
Set-Location -Path templates
Instalace rozhraní příkazového řádku Bicep
Pokud chcete použít Bicep z Azure PowerShellu, nainstalujte rozhraní příkazového řádku Bicep.
Přihlášení k Azure přes Azure PowerShell
V terminálu editoru Visual Studio Code spusťte následující příkaz:
Connect-AzAccount
Otevře se prohlížeč, abyste se mohli přihlásit ke svému účtu Azure. Prohlížeč se může otevřít na pozadí.
Po přihlášení k Azure se v terminálu zobrazí seznam předplatných přidružených k tomuto účtu. Pokud jste aktivovali sandbox, zobrazí se předplatné s názvem Concierge Subscription . Vyberte ho pro zbytek cvičení.
Pokud jste nedávno použili více než jeden sandbox, může se v terminálu zobrazit více než jedna instance předplatného Concierge. V tomto případě použijte následující dva kroky k nastavení jednoho jako výchozího předplatného.
Zjistěte ID předplatného. Spuštěním následujícího příkazu zobrazíte seznam vašich předplatných a jejich ID.
Concierge Subscription
Vyhledejte a zkopírujte ID z druhého sloupce. Vypadá to jakoaaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
.Get-AzSubscription
Změňte své aktivní předplatné na Concierge Subscription. Nezapomeňte nahradit {ID vašeho předplatného} za id, které jste zkopírovali.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Nastavení výchozí skupiny prostředků
Výchozí skupinu prostředků můžete nastavit a vynechat parametr ze zbývajících příkazů Azure PowerShellu v tomto cvičení. Nastavte tuto výchozí hodnotu na skupinu prostředků vytvořenou pro vás v sandboxovém prostředí.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Nasazení šablony do Azure
Nasaďte šablonu do Azure pomocí následujícího příkazu Azure PowerShellu v terminálu. Dokončení této operace může trvat minutu nebo dvě, než se zobrazí úspěšné nasazení.
New-AzResourceGroupDeployment -Name main -TemplateFile main.bicep
Ověření nasazení
Přejděte na web Azure Portal a ujistěte se, že jste v předplatném sandboxu:
V pravém horním rohu stránky vyberte svůj avatar.
Vyberte Přepnout adresář. V seznamu vyberte adresář Microsoft Learn Sandbox.
Na domovské stránce vyberte Skupiny prostředků. Zobrazí se podokno Skupiny prostředků.
Vyberte
[název skupiny prostředků sandboxu] .V přehledu vidíte, že jedno nasazení bylo úspěšné.
Pokud chcete zobrazit podrobnosti o nasazení, vyberte možnost označující 1 úspěšné nasazení.
Vyberte nasazení s názvem main , abyste viděli, jaké prostředky byly nasazeny, a pak výběrem podrobností o nasazení rozbalte. V tomto případě je uvedený účet služby Cosmos DB, databáze a kontejner.
Nechte stránku otevřenou v prohlížeči, abyste později mohli znovu zkontrolovat nasazení.