Aller au contenu
AstucesPower Platform

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

Code
// 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 :

Code
{
  "uri": "@{parameters('ApiBaseUrl')}/orders",
  "headers": {
    "x-api-key": "@{parameters('ApiKey')}"
  }
}

Dans les Canvas Apps (via un flux) :

Code
// 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 :

VariableDevTestProd
ApiBaseUrlapi-dev.contoso.comapi-test.contoso.comapi.contoso.com
ApiKeysk-dev-xxxsk-test-xxxsk-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.