Lær, hvordan du bruger dotenv-kassen og std:: env-modulet til at interagere med miljøvariabler i Rust og håndtere følsomme oplysninger.

Miljøvariabler spiller en afgørende rolle i konfiguration og tilpasning af adfærden af ​​moderne software, hvilket giver en fleksibel måde at formidle information til apps uden hårdkodningsværdier.

Miljøvariabler er dynamiske nøgleværdipar sat i et operativsystems miljø eller en miljøvariabelfil til adgang under kørsel. I modsætning til hårdkodede værdier giver miljøvariabler større fleksibilitet og tilpasningsevne, da du nemt kan ændre dem.

Der er mange pakker og moduler til at interagere med miljøvariabler i Rusts økosystem, inklusive dotenv, misundelse, og config tredjeparts kasser, og brug Rusts indbyggede std:: env modul.

Introduktion til dotenv-kassen

Det dotenv kasse er et værdifuldt værktøj til styring af miljøvariabler i dit Rust-projekt. Det dotenv crate giver enkel integration og brugervenlige funktioner, der forenkler processen med at indlæse og få adgang til miljøvariabler fra miljøvariablefiler.

instagram viewer

Dotenv-kassens funktioner inkluderer sømløs miljøvariabel indlæsning, fejlhåndteringsmetoder for manglende variable, interoperation med std:: env modul og mere.

Tilføj dotenv kasse til din Cargo.toml filens afhængighedssektion for at begynde at interagere med miljøvariabler ved hjælp af pakken.

[afhængigheder]
dotenv = "0.15.0"

Kør denne kommando i terminalen i dit projekts bibliotek for at oprette en fil med miljøvariabler og indsætte et nøgleværdi-par.

ekko DATABASE_URL=database.db > .env

Sådan kan du indlæse miljøfilen og hente værdien af ​​et par fra filen (i dette tilfælde værdien af DATABASE_URL nøgle:

brug std:: env;
brug dotenv:: dotenv;

fnvigtigste() {

dotenv().ok(); // Indlæs .env-filen

// Læs værdien fra .env-filen
lade database_url = env:: var("DATABASE_URL").forventer("Du har ikke indstillet DATABASE_URL");

// Udskriv værdien
println!("Database-URL: {}", database_url);

}

Det vigtigste funktionen indlæser .env fil med Okay funktion, læser værdien fra filen med env:: var funktion, og håndterer mulige fejl med forventer fungere.

Introduktion til std:: env-modulet

Alternativt i stedet for ved hjælp af tredjepartspakker, kan du bruge Rusts indbyggede std:: env modul til at læse miljøvariabler fra din maskine.

Først skal du importere env modul i din Rust-fil som således:

brug std:: env;

Efter import af std:: env modul, kan du læse og skrive miljøvariabler.

Sådan kan du læse PWD (Nuværende Working Directory) miljøvariabel med std:: env modul.

brug std:: env;

fnvigtigste() {

// Hent værdien af ​​"PWD" miljøvariablen
lade variabel = env:: var("PWD").forventer("Fejl: Arbejdskatalogmiljøvariabel blev ikke fundet");

// Udskriv værdien forbundet med "PWD"-tasten
println!("Værdi forbundet med PWD-nøglen: {}", variabel);

}

Det vigtigste funktion udskriver værdien forbundet med PWD nøgle efter variablen henter værdien med env:: var fungere.

Du kan også bruge std:: env moduler sæt_var funktion til at indstille miljøvariabler.

brug std:: env;

fnvigtigste() -> ResultatBoks<dyn std:: fejl:: Fejl >> {

// Indstil miljøvariablen "DATABASE_URL" til "database.db"
env:: sæt_var("DATABASE_URL", "database.db");

// Hent værdien af ​​miljøvariablen "DATABASE_URL".
lade env_variable = env:: var("DATABASE_URL");

// Tjek, om hentning af miljøvariablen lykkedes
hvis env_variable.is_err() {

// Hvis miljøvariablen ikke blev fundet, udskriv en fejlmeddelelse
println!("Fejl: DATABASE_URL blev ikke fundet");

} andet {

// Hvis miljøvariablen blev fundet, udskriv dens værdi
println!("DATABASE_URL indstillet til: {}", env_variable.unwrap());

}

Okay(())
}

Det vigtigste funktionen indstiller miljøvariablen med sæt_var funktion, der tager nøgleværdi-parret ind. Efter indstilling af miljøvariablen udskriver funktionen den værdi, der er knyttet til nøglen.

Miljøvariabler er alsidige

Miljøvariabler er et værdifuldt værktøj til håndtering af dynamiske data; de letter testdrevet udvikling, da du nemt kan ændre dataene og køre testcases for flere scenarier.

Ved at bruge miljøvariabler kan du undgå hårdkodning af følsomme oplysninger som databasebrugernavne, adgangskoder og forbinde URL'er direkte til kildekoden, hvilket forbedrer din applikations sikkerhed og giver samtidig mulighed for lettere konfiguration ledelse.