Power Platform
Utilisez les Environment Variables, pas les valeurs en dur
Arrêtez de coder en dur les URL, ID et chaînes de connexion. Les Environment Variables rendent vos solutions portables entre les environnements.
Le problème
Les valeurs codées en dur dans les Canvas Apps et les cloud flows cassent dès qu'on déplace une solution de Dev vers Test puis vers Production. Chaque environnement a des URL, des clés API et des identifiants de ressources différents. Les coder en dur signifie des modifications manuelles après chaque déploiement.
Mauvaise approche
// In a canvas app formula
Set(varApiUrl, "https://api-dev.contoso.com/v2");
Set(varTenantId, "a1b2c3d4-e5f6-7890-abcd-ef1234567890");
// In a Power Automate flow HTTP action
{
"uri": "https://api-dev.contoso.com/v2/orders",
"headers": {
"x-api-key": "sk-dev-abc123xyz"
}
}
Chaque promotion d'environnement nécessite que quelqu'un trouve et remplace ces valeurs. Quelqu'un en oubliera une. Quelque chose cassera en production.
Bonne approche
Définissez des Environment Variables dans votre solution, puis référencez-les.
Dans Power Automate :
{
"uri": "@{parameters('ApiBaseUrl')}/orders",
"headers": {
"x-api-key": "@{parameters('ApiKey')}"
}
}
Dans les Canvas Apps (via un flux) :
// Call a flow that returns env variable values
Set(
varConfig,
GetConfiguration.Run()
);
// Use the values
Set(varApiUrl, varConfig.ApiBaseUrl);
Définir les valeurs par environnement :
| Variable | Dev | Test | Prod |
|---|---|---|---|
| ApiBaseUrl | api-dev.contoso.com | api-test.contoso.com | api.contoso.com |
| ApiKey | sk-dev-xxx | sk-test-xxx | sk-prod-xxx |
Chaque environnement a sa propre valeur courante tandis que la solution reste identique.
Point clé
Les Environment Variables sont le fondement d'un ALM sain. Une seule solution, zéro modification manuelle entre les environnements.