Importations dans Bicep
Cet article décrit la syntaxe que vous utilisez pour exporter et importer des fonctionnalités partagées, ainsi que des espaces de noms pour les fournisseurs d’extensibilité Bicep.
Exportation de types, de variables et de fonctions
Le décorateur @export()
est utilisé pour indiquer qu’une instruction donnée peut être importée par un autre fichier. Ce décorateur est valide uniquement sur les instructions de type, de variable et de fonction. Les instructions de variable marquées avec @export()
doivent être des constantes au moment de la compilation.
La syntaxe d’exportation des fonctionnalités à utiliser dans d’autres fichiers Bicep est la suivante :
@export()
<statement_to_export>
Importer des types, des variables et des fonctions
La syntaxe d’importation des fonctionnalités à partir d’un autre fichier Bicep est la suivante :
import {<symbol_name>, <symbol_name>, ...} from '<bicep_file_name>'
Avec l’alias facultatif pour renommer des symboles :
import {<symbol_name> as <alias_name>, ...} from '<bicep_file_name>'
Utilisation de la syntaxe d’importation générique :
import * as <alias_name> from '<bicep_file_name>'
Vous pouvez combiner les syntaxes précédentes. Pour accéder aux symboles importés à l’aide de la syntaxe générique, vous devez utiliser l’opérateur .
: <alias_name>.<exported_symbol>
.
Seules les instructions qui ont été exportées dans le fichier référencé sont disponibles à l’importation.
Les fonctionnalités importées à partir d’un autre fichier peuvent être utilisées sans restrictions. Par exemple, les variables importées peuvent être utilisées n’importe où une variable déclarée dans le fichier serait normalement valide.
Exemple
exports.bicep
@export()
type myObjectType = {
foo: string
bar: int
}
@export()
var myConstant = 'This is a constant value'
@export()
func sayHello(name string) string => 'Hello ${name}!'
main.bicep
import * as myImports from 'exports.bicep'
import {myObjectType, sayHello} from 'exports.bicep'
param exampleObject myObjectType = {
foo: myImports.myConstant
bar: 0
}
output greeting string = sayHello('Bicep user')
output exampleObject myImports.myObjectType = exampleObject
Importer des espaces de noms et des fournisseurs d’extensibilité (Préversion)
Remarque
Afin d’être utilisée, la fonctionnalité expérimentale extensibility
doit être activée à partir du fichier de configuration Bicep.
La syntaxe pour importer les espaces de noms est la suivante :
import 'az@1.0.0'
import 'sys@1.0.0'
az
et sys
sont des espaces de noms intégrés Bicep. Ils sont importés par défaut. Pour plus d’informations sur les types de données et les fonctions définis dans az
et sys
, consultez Types de données et Fonctions Bicep.
La syntaxe pour importer des fournisseurs d’extensibilité Bicep est la suivante :
import '<provider-name>@<provider-version>'
La syntaxe pour importer des fournisseurs d’extensibilité Bicep nécessitant d’être configurés est la suivante :
import '<provider-name>@<provider-version>' with {
<provider-properties>
}
Pour voir un exemple, consultez Fournisseur Kubernetes d’extensibilité Bicep.
Étapes suivantes
- Pour en savoir plus sur les types de données Bicep, consultez Types de données.
- Pour en savoir plus sur les fonctions Bicep, consultez Fonctions Bicep.
- Pour en savoir plus sur l’utilisation du fournisseur Kubernetes, consultez Fournisseur Kubernetes d’extensibilité Bicep.
- Suivez le tutoriel sur Démarrage rapide : déployer des applications Azure sur Azure Kubernetes Services à l’aide du fournisseur Kubernetes d’extensibilité Bicep relatif au fournisseur Kubernetes.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour