Comprendre les paramètres d’application Azure Functions

Effectué

En tant qu’ingénieur chez Tailwind Traders, vous travaillez sur une API qui se connecte à une base de données. Votre API se connecte à cette base de données par une chaîne de connexion de base de données. Dans ce module, vous allez découvrir les bonnes pratiques en matière de stockage d’informations sensibles comme des chaînes de connexion dans une API Azure Functions.

Stocker des chaînes de connexion en tant que paramètre de l’application

Il est recommandé d’éviter les chaînes de connexion codées de manière irréversible. En effet, vous allez probablement utiliser la chaîne de connexion dans différents fichiers et elle peut être amenée à changer à l’avenir.

Vous allez souhaiter stocker la chaîne de connexion en tant que paramètre de l’application :

  • Les paramètres d’application sont spécifiés à un même endroit et sont référencés dans toute l’application.
  • Vous pouvez facilement les modifier à tout moment, sans avoir à changer le code.
  • Les paramètres d’application ne sont jamais archivés dans le contrôle de code source.

Un projet Azure Functions a un fichier local.settings.json. Ce fichier contient un ensemble de paires clé/valeur utilisé par l’application comme valeurs de configuration lors du développement local. Vous pouvez ajouter vos propres éléments à l’objet Values. Vous pouvez accéder à ces valeurs à partir de votre code.

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "AzureWebJobsFeatureFlags": "EnableWorkerIndexing"
  }
}

Si vous souhaitez ajouter une chaîne de connexion, vous pouvez ajouter une autre propriété appelée « CONNECTION_STRING » (ou un nom de votre choix), puis passer la chaîne de connexion à votre base de données.

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "AzureWebJobsFeatureFlags": "EnableWorkerIndexing",
     "CONNECTION_STRING": "AccountEndpoint=https://tailwind-traders-7071.documents.azure.com:443/;AccountKey=123456;"
  }
}

Accéder aux paramètres d’application dans le code Azure Functions

Pour accéder à ces valeurs de configuration dans votre Azure Functions à partir de JavaScript, utilisez l’objet process.env. Elle contient toutes les paires clé/valeur spécifiées dans le fichier local.settings.json.

Le code suivant, trouvé à l’adresse ./api/src/services/product.services.ts, lit la chaîne de connexion à partir de l’objet process.env pour créer l’objet CosmosClient afin d’accéder au service Azure Cosmos DB.

let client = new CosmosClient(process.env.CONNECTION_STRING);

Vous savez maintenant comment stocker une chaîne de connexion en toute sécurité lors du développement local et comment la référencer dans votre application.