Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Pliki parametrów Bicep umożliwiają definiowanie wartości w pojedynczym pliku, które następnie są przekazywane do pliku main.bicep. Plik parametrów uwidacznia wartości, które mogą ulec zmianie z danej subskrypcji, środowiska i/lub regionu. Wykorzystanie pliku parametrów zwiększy spójność wdrożeń IaC, jednocześnie zapewniając elastyczność. Niektóre z tych elastyczności mogą umożliwić organizacji korzystanie z korzyści związanych z kosztami dzięki odpowiednim określaniu rozmiaru środowisk nieprodukcyjnych przy zachowaniu tej samej podstawowej infrastruktury.
Te pliki parametrów również pomagają wprowadzaniu zoptymalizowanego procesu wdrażania ciągłej integracji/ciągłego wdrażania. Każdy plik parametrów jest pod kontrolą źródła i przekazywany do odpowiednich zautomatyzowanych kroków wdrażania. Te pliki parametrów zapewniają spójne środowisko wdrażania.
W tym artykule pokazano, jak utworzyć plik parametrów, którego można użyć zamiast przekazywania parametrów jako wartości wbudowanych w skrycie. Możesz użyć pliku parametrów Bicep z .bicepparam rozszerzeniem pliku lub plikiem parametrów JSON zawierającym wartość parametru.
Uwaga
Pliki parametrów Bicep są obsługiwane tylko w Bicep CLI w wersji 0.18.4 lub nowszej, Azure CLI w wersji 2.47.0 lub nowszej oraz Azure PowerShell w wersji 9.7.1 lub nowszej. Ta funkcja jest obsługiwana using none w interfejsie wiersza polecenia Bicep w wersji 0.31.0 lub nowszej .
Pojedynczy plik Bicep może być skojarzony z wieloma plikami parametrów. Jednak każdy plik parametrów jest zwykle połączony z jednym określonym plikiem Bicep, chyba że nie określono using none. To skojarzenie jest ustanawiane przy użyciu instrukcjiusing w pliku parametrów.
Pliki parametrów Bicep można skompilować do plików parametrów JSON, które można wdrożyć przy użyciu pliku Bicep. Aby uzyskać więcej informacji, zobacz build-params. Można również dekompilować plik parametrów JSON do pliku parametrów Bicep. Aby uzyskać więcej informacji, zobacz decompile-params.
Plik parametrów
Plik parametrów używa następującego formatu:
using '<path>/<file-name>.bicep' | using none
type <user-defined-data-type-name> = <type-expression>
var <variable-name> <data-type> = <variable-value>
param <first-parameter-name> = <first-value>
param <second-parameter-name> = <second-value>
param <third-parameter-name> = <variable-name>
Instrukcję using można zastosować przy użyciu pliku Bicep, szablonów usługi Azure Resource Manager JSON, modułów Bicep i specyfikacji szablonu. Na przykład:
using './main.bicep'
...
using './azuredeploy.json'
...
using 'br/public:avm/res/storage/storage-account:0.9.0'
...
using 'br:myacr.azurecr.io/bicep/modules/storage:v1'
...
using 'ts:00000000-0000-0000-0000-000000000000/myResourceGroup/storageSpec:1.0'
...
Aby uzyskać więcej informacji, zobacz Using statement.
Instrukcję using none można zastosować, aby wskazać, że plik parametrów nie jest powiązany z określonym szablonem Bicep podczas tworzenia lub kompilacji. Spowoduje to oddzielenie pliku parametrów z określonego szablonu, co zapewnia większą elastyczność w sposobie definiowania i użycia parametrów we wszystkich wdrożeniach. Aby uzyskać więcej informacji, zobacz Using none statement (Używanie instrukcji none).
Wyrażenia można używać jako wartości parametrów. Na przykład:
using './main.bicep'
param storageName = toLower('MyStorageAccount')
param intValue = 2 + 2
Zmienne środowiskowe można wykorzystać jako wartości parametrów. Na przykład:
using './main.bicep'
param intFromEnvironmentVariables = int(readEnvironmentVariable('intEnvVariableName'))
Zmienne można definiować i używać. Musisz użyć Bicep CLI w wersji 0.21.X lub nowszej, aby używać zmiennych w .bicepparam plikach. Zobacz poniższe przykłady:
using './main.bicep'
var storagePrefix = 'myStorage'
param primaryStorageName = '${storagePrefix}Primary'
param secondaryStorageName = '${storagePrefix}Secondary'
using './main.bicep'
var testSettings = {
instanceSize: 'Small'
instanceCount: 1
}
var prodSettings = {
instanceSize: 'Large'
instanceCount: 4
}
param environmentSettings = {
test: testSettings
prod: prodSettings
}
Można zdefiniować typy danych zdefiniowane przez użytkownika. Na przykład:
using './main.bicep'
// Define a reusable type for tags with optional properties
type TagValues = {
environment: 'dev' | 'test' | 'production'
project: string
}
var tagsExample TagValues = {
environment: 'dev'
project: 'bicep-sample'
}
param tags = tagsExample
Uwaga
Plik parametrów zapisuje wartości parametrów jako zwykły tekst. Ze względów bezpieczeństwa nie zalecamy używania tego podejścia z poufnymi wartościami, takimi jak hasła.
Jeśli musisz przekazać parametr z wartością wrażliwą, powinieneś zachować tę wartość w magazynie kluczy. Zamiast dodawać wartość wrażliwą do pliku parametrów, użyj getSecret funkcji , aby ją pobrać. Aby uzyskać więcej informacji, zobacz Używanie usługi Azure Key Vault do przekazywania tajnego klucza jako parametru podczas wdrażania Bicep.
Formaty typów parametrów
W poniższym przykładzie przedstawiono formaty różnych typów parametrów: ciąg, liczba całkowita, wartość logiczna, tablica i obiekt.
using './main.bicep'
param exampleString = 'test string'
param exampleInt = 2 + 2
param exampleBool = true
param exampleArray = [
'value 1'
'value 2'
]
param exampleObject = {
property1: 'value 1'
property2: 'value 2'
}
Nazwa pliku
Rozszerzenie nazwy pliku dla pliku parametrów Bicep to .bicepparam.
Aby wdrożyć w wielu środowiskach, należy utworzyć więcej niż jeden plik parametrów. Jeśli używasz wielu plików parametrów, oznacz je etykietą zgodnie z ich użyciem. Aby na przykład wdrożyć zasoby, użyj etykiety main.dev.bicepparam na potrzeby programowania i etykiety main.prod.bicepparam dla środowiska produkcyjnego.
Definiowanie wartości parametrów
Aby określić sposób definiowania nazw parametrów i wartości, otwórz plik Bicep. Spójrz na sekcję parametrów pliku Bicep. W poniższych przykładach przedstawiono parametry z pliku Bicep o nazwie main.bicep:
@maxLength(11)
param storagePrefix string
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_ZRS'
'Premium_LRS'
])
param storageAccountType string = 'Standard_LRS'
W pliku parameters wyszukaj nazwę każdego parametru. Nazwy parametrów w pliku parametrów muszą być zgodne z nazwami parametrów w pliku Bicep.
using 'main.bicep'
param storagePrefix
param storageAccountType
Instrukcja using łączy plik parametrów Bicep z plikiem Bicep. Aby uzyskać więcej informacji, zobacz Using statement.
Po wpiseniu słowa kluczowego param w programie Visual Studio Code zostanie wyświetlony monit o podanie dostępnych parametrów i ich opisów z połączonego pliku Bicep.
Po umieszczeniu param wskaźnika myszy na nazwie można zobaczyć typ i opis parametru.
Przejrzyj typ parametru, ponieważ typy parametrów w pliku parametrów muszą używać tych samych typów co plik Bicep. W tym przykładzie oba typy parametrów są ciągami:
using 'main.bicep'
param storagePrefix = ''
param storageAccountType = ''
Sprawdź plik Bicep pod kątem parametrów, które zawierają wartość domyślną. Jeśli parametr ma wartość domyślną, możesz podać wartość w pliku parametrów, ale nie jest to wymagane. Wartość pliku parameters zastępuje wartość domyślną pliku Bicep.
using 'main.bicep'
param storagePrefix = '' // This value must be provided.
param storageAccountType = '' // This value is optional. Bicep uses default value if not provided.
Aby sprawdzić, czy istnieją jakiekolwiek ograniczenia, takie jak maksymalna długość, sprawdź dozwolone wartości pliku Bicep. Dozwolone wartości określają zakres wartości, które można podać dla parametru. W tym przykładzie storagePrefix może mieć maksymalnie 11 znaków i storageAccountType musi określać dozwoloną wartość.
using 'main.bicep'
param storagePrefix = 'storage'
param storageAccountType = 'Standard_ZRS'
Generowanie pliku parametrów
Plik parametrów można utworzyć przy użyciu programu Visual Studio Code lub interfejsu wiersza polecenia Bicep. Oba narzędzia umożliwiają generowanie pliku parametrów przy użyciu pliku Bicep. Zobacz Generowanie pliku parametrów metodą Visual Studio Code i Generowanie pliku parametrów metodą Bicep CLI.
Plik parametrów kompilacji Bicep
Za pomocą interfejsu wiersza polecenia Bicep można utworzyć plik parametrów Bicep w pliku parametrów JSON. Aby uzyskać więcej informacji, zobacz Plik parametrów kompilacji.
Wdróż plik Bicep z plikiem parametrów
Azure CLI
W Azure CLI możesz przekazać plik parametrów przy wdrożeniu pliku Bicep.
Plik Bicep można wdrożyć przy użyciu pliku parametrów Bicep z interfejsem wiersza polecenia platformy Azure w wersji 2.53.0 lub nowszej oraz interfejsu wiersza polecenia Bicep w wersji 0.22.X lub nowszej. W pliku parametrów Bicep, dzięki instrukcji using, nie ma potrzeby używania przełącznika --template-file przy określaniu pliku parametrów Bicep dla przełącznika --parameters.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam
Możesz użyć wbudowanych parametrów i pliku parametrów lokalizacji w tej samej operacji wdrażania. Na przykład:
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam \
--parameters storageAccountType=Standard_LRS
Aby uzyskać więcej informacji, zobacz Wdrażanie plików Bicep przy użyciu interfejsu wiersza polecenia platformy Azure.
Azure PowerShell
W programie Azure PowerShell przekaż plik parametrów lokalnych przy użyciu parametru TemplateParameterFile .
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.bicep `
-TemplateParameterFile C:\MyTemplates\storage.bicepparam
Możesz użyć wbudowanych parametrów i pliku parametrów lokalizacji w tej samej operacji wdrażania. Na przykład:
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.bicep `
-TemplateParameterFile C:\MyTemplates\storage.bicepparam `
-storageAccountType Standard_LRS
Aby uzyskać więcej informacji, zobacz Wdrażanie plików Bicep za pomocą programu Azure PowerShell. Aby wdrożyć .bicep pliki, potrzebujesz programu Azure PowerShell w wersji 5.6.0 lub nowszej.
Pierwszeństwo parametrów
Możesz użyć wbudowanych parametrów i pliku parametrów lokalnych w tej samej operacji wdrażania. Na przykład można określić niektóre wartości w pliku parametrów lokalnych i dodać inne wartości wbudowane podczas wdrażania. Jeśli podasz wartości parametru zarówno w pliku parametrów lokalnych, jak i w tekście, wartość podana w tekście ma pierwszeństwo.
Mimo że zewnętrzne pliki parametrów Bicep nie są obecnie obsługiwane, można użyć zewnętrznego pliku parametrów JSON, podając URI do pliku. Jeśli używasz pliku parametrów zewnętrznych, podaj wszystkie wartości parametrów w pliku zewnętrznym. W przypadku korzystania z pliku zewnętrznego nie można przekazać innych wartości w formie wbudowanej ani z pliku lokalnego, a wszystkie parametry w formie wbudowanej są ignorowane.
Konflikty nazw parametrów
Jeśli plik Bicep zawiera parametr o takiej samej nazwie jak jeden z parametrów w poleceniu programu Azure PowerShell, program Azure PowerShell przedstawia parametr z pliku Bicep z postfiksem FromTemplate . Jeśli na przykład parametr o nazwie ResourceGroupName w pliku Bicep powoduje konflikt z parametrem ResourceGroupName w poleceniu New-AzResourceGroupDeployment cmdlet, zostaniesz poproszony o podanie wartości dla ResourceGroupNameFromTemplate. Aby uniknąć tego zamieszania, użyj nazw parametrów, które nie są używane do poleceń wdrażania.
Powiązana zawartość
- Aby uzyskać więcej informacji na temat definiowania parametrów w pliku Bicep, zobacz Parametry w Bicep.
- Aby uzyskać poufne wartości, zobacz Używanie usługi Azure Key Vault do przekazywania bezpiecznej wartości parametru podczas wdrażania.