Naučte sa, ako používať dotenv crate a std:: env modul na interakciu s premennými prostredia v Ruste a na spracovanie citlivých informácií.

Premenné prostredia zohrávajú kľúčovú úlohu pri konfigurácii a prispôsobovaní správania moderného softvéru, čím poskytujú flexibilný spôsob prenosu informácií do aplikácií bez pevného kódovania hodnôt.

Premenné prostredia sú dynamické páry kľúč – hodnota nastavené v prostredí operačného systému alebo v súbore premenných prostredia na prístup počas behu. Na rozdiel od pevne zakódovaných hodnôt umožňujú premenné prostredia väčšiu flexibilitu a prispôsobivosť, pretože ich môžete ľahko upravovať.

Existuje veľa balíkov a modulov na interakciu s premennými prostredia v ekosystéme Rust, vrátane dotenv, závisť, a config prepravky tretích strán a použite vstavané zariadenia Rust std:: env modul.

Úvod do dotenv Crate

The dotenv crate je cenný nástroj na správu premenných prostredia vo vašom projekte Rust. The dotenv crate poskytuje jednoduchú integráciu a ľahko použiteľné funkcie, ktoré zjednodušujú proces načítania a prístupu k premenným prostredia zo súborov premenných prostredia.

instagram viewer

Medzi funkcie prepravky dotenv patrí plynulé nakladanie s premenlivým prostredím, prístupy k odstraňovaniu chýb pre chýbajúce premenné, súčinnosť s std:: env modul a ďalšie.

Pridajte dotenv prepravka do vašej Cargo.toml sekciu závislostí súboru, aby ste mohli začať interakciu s premennými prostredia pomocou balíka.

[závislosti]
dotenv = "0.15.0"

Spustite tento príkaz v termináli adresára vášho projektu a vytvorte súbor premenných prostredia a vložte pár kľúč – hodnota.

ozvena DATABASE_URL=databaza.db > .env

Tu je návod, ako môžete načítať súbor prostredia a získať hodnotu páru zo súboru (v tomto prípade hodnotu DATABASE_URL kľúč:

použitie std:: env;
použitie dotenv:: dotenv;

fnHlavná() {

dotenv().ok(); // Načítajte súbor .env

// Čítanie hodnoty zo súboru .env
nech database_url = env:: var("DATABASE_URL").očakávať("Nenastavili ste adresu DATABASE_URL");

// Vytlačí hodnotu
println!("Webová adresa databázy: {}", webová adresa_databázy);

}

The Hlavná funkcia načítava .env súbor s ok funkcia, načíta hodnotu zo súboru s env:: var a rieši prípadné chyby pomocou očakávať funkciu.

Úvod do modulu std:: env

Prípadne namiesto toho pomocou balíkov tretích strán, môžete použiť vstavaný Rust std:: env modul na čítanie premenných prostredia z vášho počítača.

Najprv musíte importovať súbor env modul vo vašom súbore Rust takto:

použitie std:: env;

Po importe std:: env modul, môžete čítať a zapisovať premenné prostredia.

Tu je návod, ako si môžete prečítať OZP (Present Working Directory) premenná prostredia s std:: env modul.

použitie std:: env;

fnHlavná() {

// Získanie hodnoty premennej prostredia "PWD".
nech premenná = env:: var("PWD").očakávať("Chyba: Premenná prostredia pracovného adresára sa nenašla");

// Vytlačí hodnotu spojenú s kľúčom "PWD".
println!("Hodnota spojená s kľúčom PWD: {}", premenné);

}

The Hlavná funkcia vypíše hodnotu spojenú s OZP kľúč potom, čo premenná získa hodnotu s env:: var funkciu.

Môžete tiež použiť std:: env modulov set_var funkcia na nastavenie premenných prostredia.

použitie std:: env;

fnHlavná() -> VýsledokBox<dyn std:: error:: Error>> {

// Nastavte premennú prostredia "DATABASE_URL" na "database.db"
env:: set_var("DATABASE_URL", "database.db");

// Získanie hodnoty premennej prostredia "DATABASE_URL".
nech env_variable = env:: var("DATABASE_URL");

// Skontrolujte, či bolo načítanie premennej prostredia úspešné
ak env_variable.is_err() {

// Ak sa premenná prostredia nenašla, vytlačte chybové hlásenie
println!("Chyba: DATABASE_URL sa nenašla");

} inak {

// Ak bola nájdená premenná prostredia, vypíšte jej hodnotu
println!("DATABASE_URL nastavená na: {}", env_variable.unwrap());

}

Dobre(())
}

The Hlavná funkcia nastaví premennú prostredia s set_var funkcia, ktorá preberá pár kľúč – hodnota. Po nastavení premennej prostredia funkcia vytlačí hodnotu priradenú ku kľúču.

Premenné prostredia sú všestranné

Premenné prostredia sú cenným nástrojom na spracovanie dynamických údajov; uľahčujú vývoj riadený testami, pretože môžete jednoducho meniť údaje a spúšťať testovacie prípady pre viacero scenárov.

Použitím premenných prostredia sa môžete vyhnúť zakódovaniu citlivých informácií, ako sú používateľské mená databázy, heslá atď pripájajte adresy URL priamo do zdrojového kódu, čím sa zvyšuje bezpečnosť vašej aplikácie a zároveň umožňuje jednoduchšia konfigurácia zvládanie.