Gyakorlat – Gyermekerőforrások definiálása
Feljegyzés
Amikor első alkalommal aktivál egy tesztkörnyezetet, és elfogadja a feltételeket, a Microsoft-fiókja egy új, Microsoft Learn Sandbox nevű Azure-címtárhoz lesz társítva. Emellett hozzá lesz adva egy Concierge-előfizetés nevű speciális előfizetéshez is.
Megkezdi a munkát az R&D-csapat kéréseinél, és úgy dönt, hogy egy Azure Cosmos DB-adatbázist hoz létre a drón tesztadataihoz. Ebben a gyakorlatban létre kell hoznia az Azure Cosmos DB-fiókot és két gyermekerőforrást, az egyiket a parent
tulajdonság, a másikat pedig beágyazott erőforrásként.
A folyamat során a következőt kell elvégeznie:
- Hozzon létre egy Bicep-fájlt, amely cosmos DB-fiókot helyez üzembe.
- Adjon hozzá egy adatbázist és tárolót, amely a Cosmos DB-fiók gyermekerőforrása.
- Telepítse a sablont, és ellenőrizze az üzembe helyezést.
Ez a gyakorlat a Visual Studio Code Bicep-bővítményét használja. Telepítse ezt a bővítményt a Visual Studio Code-ban.
Azure Cosmos DB-fiókot tartalmazó Bicep-sablon létrehozása
Először hozzon létre egy új Bicep-sablont egy Azure Cosmos DB-fiókkal. Ehhez tegye a következőket:
Nyissa meg a Visual Studio Code-ot.
Hozzon létre egy main.bicep nevű új fájlt.
Mentse az üres fájlt, hogy a Visual Studio Code betöltse a Bicep-eszközt.
Választhatja a Fájlmentés>másként lehetőséget, vagy nyomja le a Ctrl+S billentyűkombinációt a Windowsban (⌘+S macOS rendszeren). Ne feledje, hogy hová mentette a fájlt. Előfordulhat például, hogy létre szeretne hozni egy szkriptmappát , amelybe mentené.
Adja hozzá a következő tartalmat a fájlhoz. Célszerű manuálisan megadni a másolás és beillesztés helyett. Így láthatja, hogyan segíti az eszközhasználat a Bicep-fájlok írását.
param cosmosDBAccountName string = 'toyrnd-${uniqueString(resourceGroup().id)}' param location string = resourceGroup().location resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = { name: cosmosDBAccountName location: location properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] } }
Tipp.
A Bicep szigorúan ügyel arra, hogy hová helyezze a sortöréseket, ezért ügyeljen arra, hogy csak ott adja hozzá a sortöréseket, ahol az itt látható.
Ez a Bicep-sablon üzembe helyez egy Azure Cosmos DB-fiókot, amely a következő szakaszban létrehozott szülőerőforrás.
Mentse a fájl módosításait.
Adatbázis hozzáadása
Ezután létre kell hoznia az adatbázist, amely az Azure Cosmos DB-fiók gyermekerőforrása.
A fájl tetején, a két meglévő paraméter között adja hozzá a következő paramétert:
param cosmosDBDatabaseThroughput int = 400
A paraméterdeklarációk alatt adja hozzá a következő változót:
var cosmosDBDatabaseName = 'FlightTests'
Adja hozzá a következő erőforrásdefiníciót a fájl alján, az Azure Cosmos DB-fiók erőforrásdefiníciója alatt.
resource cosmosDBDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2024-05-15' = { parent: cosmosDBAccount name: cosmosDBDatabaseName properties: { resource: { id: cosmosDBDatabaseName } options: { throughput: cosmosDBDatabaseThroughput } } }
Figyelje meg, hogy ez a kód a tulajdonság használatával
parent
telepíti az adatbázist, amely egy gyermekerőforrás. Azt is figyelje meg, hogy a kód a teljes erőforrástípust használja, explicit módon megadva az API-verziót.Mentse a fájl módosításait.
Tároló hozzáadása
Most hozzáad egy másik gyermekerőforrást. Ezúttal beágyazott erőforrásként adja hozzá a parent
tulajdonság használata helyett.
A fájl tetején, a
cosmosDBDatabaseName
változódefiníció alatt adja hozzá a következő változókat:var cosmosDBContainerName = 'FlightTests' var cosmosDBContainerPartitionKey = '/droneId'
A fájl alján, az adatbázis erőforrásdefiníciójában és a záró zárójel előtt adja
}
hozzá a következő beágyazott erőforrásdefiníciót:resource container 'containers' = { name: cosmosDBContainerName properties: { resource: { id: cosmosDBContainerName partitionKey: { kind: 'Hash' paths: [ cosmosDBContainerPartitionKey ] } } options: {} } }
Figyelje meg, hogy egy rövid erőforrástípust használt, mert a Bicep tisztában van azzal,
containers
hogy a szülő erőforrástípus alá tartozik. A Bicep tudja, hogy a teljes erőforrástípus .Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers
Nem adott meg API-verziót, ezért a Bicep a szülőerőforrásból2020-04-01
származó verziót használja.Ha végzett, a teljes Bicep-sablonnak az alábbi példához hasonlóan kell kinéznie:
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-05-15' = { name: cosmosDBAccountName location: location properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] } } resource cosmosDBDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2024-05-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: {} } } }
Mentse a fájl módosításait.
A sablon üzembe helyezése az Azure-ban
Ha a sablont az Azure-ban szeretné üzembe helyezni, be kell jelentkeznie az Azure-fiókjába a Visual Studio Code termináljában. Győződjön meg arról, hogy telepítette az Azure CLI-t, és ne felejtsen el ugyanazzal a fiókkal bejelentkezni, mint a tesztkörnyezet aktiválásához.
Válassza a Terminál menü Új terminál pontját. A terminálablak általában a képernyő alsó felében nyílik meg.
Ha a terminálablak jobb oldalán látható rendszerhéj bash, a megfelelő rendszerhéj nyitva van, és a következő szakaszra ugorhat.
Ha nem bash rendszerhéj jelenik meg, válassza a rendszerhéj legördülő nyilat, majd válassza az Azure Cloud Shell (Bash) lehetőséget.
A terminálhéjak listájában válassza a bash lehetőséget.
A terminálban lépjen arra a könyvtárra, ahová a sablont mentette. Ha például a sablont a sablonok mappájába mentette, használhatja ezt a parancsot:
cd templates
A Bicep telepítése
Futtassa a következő parancsot a Bicep legújabb verziójának biztosításához:
az bicep install && az bicep upgrade
Bejelentkezés az Azure-ba
A Visual Studio Code terminálon jelentkezzen be az Azure-ba a következő parancs futtatásával:
az login
A megnyíló böngészőben jelentkezzen be az Azure-fiókjába.
A Visual Studio Code terminál megjeleníti a fiókhoz társított előfizetések listáját.
Állítsa be az alapértelmezett előfizetést az ebben a munkamenetben futtatott összes Azure CLI-parancshoz.
az account set --subscription "Concierge Subscription"
Feljegyzés
Ha a közelmúltban több tesztkörnyezetet is használt, előfordulhat, hogy a terminál több Concierge-előfizetés-példányt is megjelenít. Ebben az esetben a következő két lépéssel állítsa be az egyiket alapértelmezett előfizetésként. Ha az előző parancs sikeres volt, és csak egy Concierge-előfizetés szerepel a listában, hagyja ki a következő két lépést.
Kérje le a Concierge-előfizetések azonosítóit.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Az előfizetés azonosítójának segítségével állítsa be az alapértelmezett előfizetést. Cserélje a {your subscription ID} értékét a legutóbbi Concierge-előfizetés azonosítójára.
az account set --subscription {your subscription ID}
Az alapértelmezett erőforráscsoport beállítása
Az Azure CLI használatakor beállíthatja az alapértelmezett erőforráscsoportot, és kihagyhatja a paramétert a gyakorlat többi Azure CLI-parancsából. Állítsa be az alapértelmezett értéket a tesztkörnyezetben létrehozott erőforráscsoportra.
az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"
A sablon üzembe helyezése az Azure-ban
Futtassa a következő kódot a Visual Studio Code termináljáról a Bicep-sablon Azure-ban való üzembe helyezéséhez. A művelet végrehajtása egy-két percet is igénybe vehet, mielőtt sikeres üzembe helyezést lát.
az deployment group create --template-file main.bicep
A sablon Azure-ban való üzembe helyezéséhez jelentkezzen be az Azure-fiókjába a Visual Studio Code terminálból. Győződjön meg arról, hogy telepítette az Azure PowerShellt, és jelentkezzen be ugyanarra a fiókra, amely aktiválta a tesztkörnyezetet.
Válassza a Terminál menü Új terminál pontját. A terminálablak általában a képernyő alsó felében nyílik meg.
Ha a terminálablak jobb oldalán látható rendszerhéj PowerShell vagy pwsh, a megfelelő rendszerhéj nyitva van, és a következő szakaszra ugorhat.
Ha nem PowerShell vagy pwsh rendszerhéj jelenik meg, válassza a rendszerhéj legördülő nyilat, majd válassza a PowerShellt.
A terminálhéjak listájában válassza a PowerShellt vagy a pwsh-t.
A terminálban lépjen arra a könyvtárra, ahová a sablont mentette. Ha például a sablont a sablonok mappájába mentette, használhatja ezt a parancsot:
Set-Location -Path templates
A Bicep parancssori felület telepítése
A Bicep Azure PowerShellből való használatához telepítse a Bicep CLI-t.
Bejelentkezés az Azure-ba az Azure PowerShell használatával
A Visual Studio Code terminálon futtassa a következő parancsot:
Connect-AzAccount
Megnyílik egy böngésző, amellyel bejelentkezhet az Azure-fiókjába.
Miután bejelentkezett az Azure-ba, a terminál megjeleníti a fiókhoz társított előfizetések listáját.
Ha aktiválta a tesztkörnyezetet, megjelenik egy Concierge-előfizetés nevű előfizetés. Használja a gyakorlat hátralévő részében.
Állítsa be az alapértelmezett előfizetést az ebben a munkamenetben futtatott összes Azure PowerShell-parancshoz.
$context = Get-AzSubscription -SubscriptionName 'Concierge Subscription' Set-AzContext $context
Feljegyzés
Ha a közelmúltban több tesztkörnyezetet is használt, előfordulhat, hogy a terminál több Concierge-előfizetés-példányt is megjelenít. Ebben az esetben a következő két lépéssel állítsa be az egyiket alapértelmezett előfizetésként. Ha az előző parancs sikeres volt, és csak egy Concierge-előfizetés szerepel a listában, hagyja ki a következő két lépést.
Kérje le az előfizetés azonosítóját. Az alábbi parancs futtatásával listázhatja az előfizetéseit és azonosítóit. Keresse meg
Concierge Subscription
, majd másolja ki az azonosítót a második oszlopból. Úgy néz ki, mintcf49fbbc-217c-4eb6-9eb5-a6a6c68295a0
.Get-AzSubscription
Módosítsa az aktív előfizetését Concierge-előfizetésre. Mindenképpen cserélje le {Az előfizetés azonosítója} elemet a másoltra.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Az alapértelmezett erőforráscsoport beállítása
Beállíthatja az alapértelmezett erőforráscsoportot, és kihagyhatja a paramétert a gyakorlat többi Azure PowerShell-parancsából. Állítsa be ezt az alapértelmezett beállítást a tesztkörnyezetben önnek létrehozott erőforráscsoportra.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
A sablon üzembe helyezése az Azure-ban
Telepítse a sablont az Azure-ban az alábbi Azure PowerShell-paranccsal a terminálon. A művelet végrehajtása egy-két percet is igénybe vehet, mielőtt sikeres üzembe helyezést lát.
New-AzResourceGroupDeployment -TemplateFile main.bicep
Az üzemelő példány ellenőrzése
Nyissa meg az Azure Portalt , és győződjön meg arról, hogy a tesztkörnyezet-előfizetésben van:
Válassza ki az avatart az oldal jobb felső sarkában.
Válassza a Címtár váltása lehetőséget. A listában válassza a Microsoft Learn-tesztkörnyezet címtárat.
A kezdőlapon válassza az Erőforráscsoportok lehetőséget. Megjelenik az Erőforráscsoportok panel.
Válassza a
[tesztkörnyezeti erőforráscsoport neve] nevű erőforráscsoportot.Az Áttekintésben láthatja, hogy egy üzembe helyezés sikeres volt.
Kattintson az 1 sikeres elemre az üzemelő példány részleteinek megtekintéséhez.
Válassza ki a főként hívott üzembe helyezést az üzembe helyezett erőforrások megtekintéséhez, majd az üzembe helyezés részleteinek kiválasztásával bontsa ki. Ebben az esetben egy Cosmos DB-fiók, adatbázis és tároló szerepel a listában.
Hagyja nyitva a lapot a böngészőben, így később újra ellenőrizheti az üzemelő példányokat.