Apprenez à utiliser le module dotenv crate et std:: env pour interagir avec les variables d'environnement dans Rust et gérer les informations sensibles.

Les variables d'environnement jouent un rôle crucial dans la configuration et la personnalisation du comportement des logiciels modernes, offrant un moyen flexible de transmettre des informations aux applications sans valeurs de codage en dur.

Les variables d'environnement sont des paires clé-valeur dynamiques définies dans l'environnement d'un système d'exploitation ou dans un fichier de variables d'environnement pour un accès pendant l'exécution. Contrairement aux valeurs codées en dur, les variables d'environnement permettent une plus grande flexibilité et adaptabilité puisque vous pouvez facilement les modifier.

Il existe de nombreux packages et modules pour interagir avec les variables d'environnement dans l'écosystème de Rust, y compris le dotenv, envie, et configuration des caisses tierces et utiliser les fonctionnalités intégrées de Rust std:: env module.

instagram viewer

Introduction à la caisse dotenv

Le dotenv crate est un outil précieux pour gérer les variables d'environnement dans votre projet Rust. Le dotenv crate fournit une intégration simple et des fonctions faciles à utiliser qui simplifient le processus de chargement et d'accès aux variables d'environnement à partir des fichiers de variables d'environnement.

Les fonctionnalités de la caisse dotenv incluent le chargement transparent des variables d'environnement, approches de gestion des erreurs pour les variables manquantes, interopérabilité avec les std:: env module, et plus encore.

Ajouter le dotenv caisse à votre Cargaison.toml section dépendances du fichier pour commencer à interagir avec les variables d'environnement à l'aide du package.

[dépendances]
dotenv = "0.15.0"

Exécutez cette commande dans le terminal du répertoire de votre projet pour créer un fichier de variables d'environnement et insérer une paire clé-valeur.

écho DATABASE_URL=database.db > .env

Voici comment vous pouvez charger le fichier d'environnement et récupérer la valeur d'une paire à partir du fichier (dans ce cas, la valeur du DATABASE_URL clé:

utiliser std:: env;
utiliser dotenv:: dotenv;

fnprincipal() {

dotenv().ok(); // Charger le fichier .env

// Lit la valeur du fichier .env
laisser url_base de données = env:: var("DATABASE_URL").attendre("Vous n'avez pas défini l'URL de la DATABASE");

// Imprime la valeur
imprimez !("URL de la base de données: {}", url_base de données);

}

Le principal la fonction charge le .env déposer auprès de la d'accord fonction, lit la valeur du fichier avec la env:: var fonction, et gère les erreurs possibles avec la attendre fonction.

Présentation du module std:: env

Alternativement, au lieu de en utilisant des packages tiers, vous pouvez utiliser la fonction intégrée de Rust std:: env module pour lire les variables d'environnement de votre machine.

Tout d'abord, vous devrez importer le env module dans votre fichier Rust comme suit :

utiliser std:: env;

Après avoir importé le std:: env module, vous pouvez lire et écrire des variables d'environnement.

Voici comment vous pouvez lire le personne handicapée (Present Working Directory) variable d'environnement avec la std:: env module.

utiliser std:: env;

fnprincipal() {

// Récupération de la valeur de la variable d'environnement "PWD"
laisser variable = env:: var("PWD").attendre("Erreur: variable d'environnement du répertoire de travail introuvable");

// Affiche la valeur associée à la clé "PWD"
imprimez !("Valeur associée à la clé PWD: {}", variables);

}

Le principal fonction imprime la valeur associée à la personne handicapée clé après que la variable récupère la valeur avec le env:: var fonction.

Aussi, vous pouvez utiliser le std:: env modules set_var fonction pour définir les variables d'environnement.

utiliser std:: env;

fnprincipal() -> RésultatBoîte<dynamique std:: erreur:: erreur>> {

// Définissez la variable d'environnement "DATABASE_URL" sur "database.db"
env:: set_var("DATABASE_URL", "database.db");

// Récupération de la valeur de la variable d'environnement "DATABASE_URL"
laisser variable_env = env:: var("DATABASE_URL");

// Vérifie si la récupération de la variable d'environnement a réussi
si env_variable.is_err() {

// Si la variable d'environnement n'a pas été trouvée, affiche un message d'erreur
imprimez !("Erreur: DATABASE_URL introuvable");

} autre {

// Si la variable d'environnement a été trouvée, affiche sa valeur
imprimez !("DATABASE_URL défini sur: {}", variable_env.unwrap());

}

D'accord(())
}

Le principal La fonction définit la variable d'environnement avec la set_var fonction qui accepte la paire clé-valeur. Après avoir défini la variable d'environnement, la fonction imprime la valeur associée à la clé.

Les variables d'environnement sont polyvalentes

Les variables d'environnement sont un outil précieux pour gérer les données dynamiques; ils facilitent le développement piloté par les tests puisque vous pouvez facilement modifier les données et exécuter des cas de test pour plusieurs scénarios.

En utilisant des variables d'environnement, vous pouvez éviter de coder en dur des informations sensibles telles que les noms d'utilisateur, les mots de passe et les URL de connexion directement dans le code source, améliorant ainsi la sécurité de votre application tout en permettant une configuration plus facile gestion.