Erőforrások üzembe helyezése a Biceppel és az Azure parancssori felületével
Ez a cikk azt ismerteti, hogyan használhatja az Azure CLI-t Bicep-fájlokkal az erőforrások Azure-ban való üzembe helyezéséhez. Ha nem ismeri az Azure-megoldások üzembe helyezésének és kezelésének alapelveit, tekintse meg a Bicep áttekintését.
Előfeltételek
Az üzembe helyezéshez Bicep-fájlra van szükség. A fájlnak helyinek kell lennie.
Szüksége van az Azure CLI-re, és csatlakoznia kell az Azure-hoz:
- Telepítse az Azure CLI-parancsokat a helyi számítógépre. A Bicep-fájlok telepítéséhez az Azure CLI 2.20.0-s vagy újabb verziójára van szükség.
- Csatlakozás az Azure-hoz az login használatával. Ha több Azure-előfizetéssel rendelkezik, előfordulhat, hogy az az fiókkészletet is futtatnia kell.
Az Azure CLI-minták a bash
rendszerhéjhoz vannak megírva. A minta Windows PowerShellben vagy parancssorban való futtatásához előfordulhat, hogy módosítania kell a szkript elemeit.
Ha nincs telepítve az Azure CLI, használhatja az Azure Cloud Shellt. További információ: Bicep-fájlok üzembe helyezése az Azure Cloud Shellből.
Szükséges engedélyek
Bicep-fájl vagy ARM-sablon üzembe helyezéséhez írási joggal kell rendelkeznie az üzembe helyezett erőforrásokhoz, és hozzá kell férnie a Microsoft.Resources/deployments erőforrástípus összes műveletéhez. Egy virtuális gép üzembe helyezéséhez például szükség van rá és Microsoft.Resources/deployments/*
engedélyekreMicrosoft.Compute/virtualMachines/write
. A what-if műveletnek ugyanazok az engedélykövetelményei vannak.
A szerepkörök és engedélyek listáját megtalálja a Beépített Azure-szerepkörök című cikkben.
Üzembe helyezési hatókör
Az üzembe helyezést egy erőforráscsoportra, előfizetésre, felügyeleti csoportra vagy bérlőre célozhatja. Az üzembe helyezés hatókörétől függően különböző parancsokat használ.
Az erőforráscsoportban való üzembe helyezéshez használja az az deployment group create (Üzembe helyezési csoport létrehozása) parancsot:
az deployment group create --resource-group <resource-group-name> --template-file <path-to-bicep>
Előfizetésben való üzembe helyezéshez használja az az deployment sub create parancsot:
az deployment sub create --location <location> --template-file <path-to-bicep>
Az előfizetési szintű üzembe helyezésekkel kapcsolatos további információkért lásd : Erőforráscsoportok és erőforrások létrehozása az előfizetés szintjén.
Felügyeleti csoporton való üzembe helyezéshez használja az az deployment mg create parancsot:
az deployment mg create --location <location> --template-file <path-to-bicep>
A felügyeleti csoportszintű üzembe helyezésekkel kapcsolatos további információkért lásd : Erőforrások létrehozása a felügyeleti csoport szintjén.
A bérlőn való üzembe helyezéshez használja az az deployment tenant create (Üzembe helyezési bérlő létrehozása) parancsot:
az deployment tenant create --location <location> --template-file <path-to-bicep>
A bérlői szintű üzembe helyezésekkel kapcsolatos további információkért lásd : Erőforrások létrehozása bérlői szinten.
A Bicep-fájlt üzembe helyező felhasználónak minden hatókörhöz rendelkeznie kell az erőforrások létrehozásához szükséges engedélyekkel.
Helyi Bicep-fájl üzembe helyezése
A Bicep-fájlokat a helyi gépről vagy külsőleg tárolt fájlból is üzembe helyezheti. Ez a szakasz egy helyi Bicep-fájl üzembe helyezését ismerteti.
Ha nem létező erőforráscsoportban helyezi üzembe az üzembe helyezést, hozza létre az erőforráscsoportot. Az erőforráscsoport neve csak alfanumerikus karaktereket, pontokat, aláhúzásjeleket, kötőjeleket és zárójeleket tartalmazhat. Legfeljebb 90 karakter hosszúságú lehet. A név nem végződhet pontban.
az group create --name ExampleGroup --location "Central US"
Helyi Bicep-fájl üzembe helyezéséhez használja a kapcsolót --template-file
az üzembe helyezési parancsban. Az alábbi példa azt is bemutatja, hogyan állíthat be paraméterértéket.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--template-file <path-to-bicep> \
--parameters storageAccountType=Standard_GRS
Az üzembe helyezés eltarthat néhány percig. Amikor befejeződik, megjelenik egy üzenet, amely tartalmazza az eredményt:
"provisioningState": "Succeeded",
Távoli Bicep-fájl üzembe helyezése
Az Azure CLI jelenleg nem támogatja a távoli Bicep-fájlok üzembe helyezését. A Bicep CLI használatával JSON-sablonba hozhatja létre a Bicep-fájlt, majd betöltheti a JSON-fájlt a távoli helyre. További információ: Távoli ARM JSON-sablonok üzembe helyezése.
Paraméterek
Paraméterértékek átadásához használhat beágyazott paramétereket vagy paraméterfájlokat. A paraméterfájl lehet Bicep-paraméterfájl vagy JSON-paraméterfájl.
Beágyazott paraméterek
Beágyazott paraméterek átadásához adja meg az értékeket a következőben parameters
: . Ha például egy sztringet és tömböt egy Bash-rendszerhéjban lévő Bicep-fájlnak szeretne átadni, használja a következőt:
az deployment group create \
--resource-group testgroup \
--template-file <path-to-bicep> \
--parameters exampleString='inline string' exampleArray='["value1", "value2"]'
Ha az Azure CLI-t windowsos parancssorral (CMD) vagy PowerShell-lel használja, adja át a tömböt a következő formátumban: exampleArray="['value1','value2']"
.
A fájl tartalmát is lekérheti, és beágyazott paraméterként is megadható. A fájlnév előtagja a következővel @: .
az deployment group create \
--resource-group testgroup \
--template-file <path-to-bicep> \
--parameters exampleString=@stringContent.txt exampleArray=@arrayContent.json
A paraméterértékek fájlból való lekérése akkor hasznos, ha konfigurációs értékeket kell megadnia. Megadhat például cloud-init értékeket egy Linux rendszerű virtuális géphez.
A arrayContent.json formátuma a következő:
[
"value1",
"value2"
]
Ha például címkéket szeretne megadni egy objektumnak, használja a JSON-t. A Bicep-fájl például tartalmazhat egy ilyen paramétert:
"resourceTags": {
"type": "object",
"defaultValue": {
"Cost Center": "IT Department"
}
}
Ebben az esetben átadhat egy JSON-sztringet a paraméter beállításához az alábbi Bash-szkriptben látható módon:
tags='{"Owner":"Contoso","Cost Center":"2345-324"}'
az deployment group create --name addstorage --resource-group myResourceGroup \
--template-file $bicepFile \
--parameters resourceName=abcdef4556 resourceTags="$tags"
Használjon dupla idézőjeleket az objektumba átadni kívánt JSON körül.
Ha az Azure CLI-t windowsos parancssorral (CMD) vagy PowerShell-lel használja, adja át az objektumot a következő formátumban:
$tags="{'Owner':'Contoso','Cost Center':'2345-324'}"
az deployment group create --name addstorage --resource-group myResourceGroup \
--template-file $bicepFile \
--parameters resourceName=abcdef4556 resourceTags=$tags
A paraméterértékeket változóval is tartalmazhatja. A Bashben állítsa a változót az összes paraméterértékre, és adja hozzá az üzembe helyezési parancshoz.
params="prefix=start suffix=end"
az deployment group create \
--resource-group testgroup \
--template-file <path-to-bicep> \
--parameters $params
Ha azonban az Azure CLI-t windowsos parancssorral (CMD) vagy PowerShell-lel használja, állítsa a változót egy JSON-sztringre. Az idézőjelek feloldása: $params = '{ \"prefix\": {\"value\":\"start\"}, \"suffix\": {\"value\":\"end\"} }'
.
A paraméterek kiértékelése szekvenciális sorrendet követ, ami azt jelenti, hogy ha egy érték többször van hozzárendelve, akkor csak az utolsó hozzárendelt értéket használja a rendszer. A megfelelő paraméter-hozzárendelés biztosítása érdekében ajánlott először megadni a paraméterfájlt, és szelektíven felülbírálni bizonyos paramétereket a KEY=VALUE szintaxis használatával. Fontos megemlíteni, hogy ha paraméterfájlt bicepparam
ad meg, ezt az argumentumot csak egyszer használhatja.
Bicep-paraméterfájlok
Ahelyett, hogy paramétereket adna át beágyazott értékekként a szkriptben, könnyebben használhat paraméterfájlt, akár Bicep-paraméterfájlt, akár a paraméterértékeket tartalmazó JSON-paraméterfájlt. A paraméterfájlnak helyi fájlnak kell lennie. A külső paraméterfájlok nem támogatottak az Azure CLI-vel. A paraméterfájlról további információt a Resource Manager paraméterfájljának létrehozása című témakörben talál.
Az Azure CLI 2.53.0-s vagy újabb verziójával és a Bicep CLI 0.22.X-es vagy újabb verziójával bicep-fájlokat helyezhet üzembe Egy Bicep-paraméterfájl használatával. using
A Bicep paraméterfájlban lévő utasítással nem kell megadni a --template-file
kapcsolót a kapcsolóHoz tartozó --parameters
Bicep paraméterfájl megadásakor. A kapcsolóval --template-file
együtt "Csak .bicep-sablon engedélyezett .bicepparam fájllal" hibaüzenet jelenik meg.
Az alábbi példa egy storage.bicepparam nevű paraméterfájlt mutat be. A fájl ugyanabban a könyvtárban található, ahol a parancs fut.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam
JSON-paraméterfájlok
Az alábbi példa egy storage.parameters.json nevű paraméterfájlt mutat be. A fájl ugyanabban a könyvtárban található, ahol a parancs fut.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--template-file storage.bicep \
--parameters '@storage.parameters.json'
A paraméterfájlról további információt a Resource Manager paraméterfájljának létrehozása című témakörben talál.
Ugyanabban az üzembehelyezési műveletben beágyazott paramétereket és helyparaméter-fájlokat is használhat. További információ: Paraméter elsőbbsége.
Módosítások előnézete
A Bicep-fájl üzembe helyezése előtt megtekintheti a Bicep-fájl környezetében végzett módosításait. A lehetőségelemzési művelettel ellenőrizze, hogy a Bicep-fájl végrehajtja-e a várt módosításokat. A What-if a Bicep-fájlt is ellenőrzi a hibák esetén.
Sablon specifikációinak üzembe helyezése
Az Azure CLI jelenleg nem támogatja a sablon-specifikációk létrehozását Bicep-fájlok biztosításával. Létrehozhat azonban egy Bicep-fájlt a Microsoft.Resources/templateSpecs erőforrással a sablon specifikációjának üzembe helyezéséhez. A Sablon specifikációjának létrehozása minta bemutatja, hogyan hozhat létre sablonspektratívot egy Bicep-fájlban. A Bicep-fájlt a Bicep CLI használatával JSON-ra is létrehozhatja, majd létrehozhat egy sablon-specifikációt a JSON-sablonnal.
Üzemelő példány neve
Bicep-fájlok telepítésekor nevet adhat az üzembe helyezésnek. Ez a név segíthet az üzembe helyezés lekérésében az üzembe helyezési előzményekből. Ha nem adja meg az üzembe helyezés nevét, a Rendszer a Bicep-fájl nevét használja. Ha például egy Bicep-fájlt main.bicep
helyez üzembe, és nem ad meg üzembe helyezési nevet, akkor az üzembe helyezés neve el lesz nevezve main
.
Minden alkalommal, amikor futtat egy üzemelő példányt, a rendszer hozzáad egy bejegyzést az erőforráscsoport üzembehelyezési előzményeihez az üzembe helyezés nevével. Ha egy másik üzembe helyezést futtat, és ugyanazt a nevet adja neki, a korábbi bejegyzést a rendszer lecseréli az aktuális üzembe helyezésre. Ha egyedi bejegyzéseket szeretne fenntartani az üzembe helyezési előzményekben, adjon egyedi nevet az egyes üzemelő példányoknak.
Egyedi név létrehozásához véletlenszerű számot rendelhet hozzá.
deploymentName='ExampleDeployment'$RANDOM
Vagy adjon hozzá egy dátumértéket.
deploymentName='ExampleDeployment'$(date +"%d-%b-%Y")
Ha ugyanabban az erőforráscsoportban futtat egyidejű központi telepítéseket ugyanazzal az üzembe helyezési névvel, csak az utolsó üzembe helyezés fejeződik be. A még nem befejezett névvel rendelkező központi telepítéseket az utolsó üzembe helyezés váltja fel. Ha például egy olyan üzembe helyezést newStorage
futtat, amely egy névvel ellátott storage1
tárfiókot helyez üzembe, és ugyanakkor futtat egy másik, egy elnevezett storage2
tárfiókot üzembe helyező üzembe newStorage
helyezést, akkor csak egy tárfiókot helyez üzembe. Az eredményként kapott tárfiók neve storage2
.
Ha azonban egy olyan üzembe helyezést newStorage
futtat, amely egy nevű storage1
tárfiókot helyez üzembe, és közvetlenül a befejezése után futtat egy másik üzembe helyezést newStorage
, amely egy nevű storage2
tárfiókot helyez üzembe, akkor két tárfiókja van. Az egyik neve storage1
, a másik neve pedig .storage2
Az üzembe helyezési előzményekben azonban csak egy bejegyzés szerepel.
Ha egyedi nevet ad meg az egyes üzemelő példányoknak, egyidejűleg, ütközés nélkül futtathatja őket. Ha egy olyan üzembe helyezést newStorage1
futtat, amely egy névvel ellátott storage1
tárfiókot helyez üzembe, és ugyanakkor futtat egy másik üzembe helyezést newStorage2
, amely egy elnevezett storage2
tárfiókot helyez üzembe, akkor két tárfiókja és két bejegyzése van az üzembe helyezési előzményekben.
Az egyidejű üzembe helyezésekkel való ütközések elkerülése és az üzembe helyezési előzmények egyedi bejegyzéseinek biztosítása érdekében adjon egyedi nevet minden üzembe helyezésnek.
Következő lépések
- A paraméterek fájlban való definiálásának megismeréséhez olvassa el a Bicep-fájlok szerkezetének és szintaxisának megértését.