Naučte se používat modul dotenv crate a std:: env k interakci s proměnnými prostředí v Rustu a ke zpracování citlivých informací.
Proměnné prostředí hrají klíčovou roli při konfiguraci a přizpůsobení chování moderního softwaru a poskytují flexibilní způsob přenosu informací do aplikací bez pevně zakódovaných hodnot.
Proměnné prostředí jsou dynamické páry klíč–hodnota nastavené v prostředí operačního systému nebo v souboru proměnných prostředí pro přístup za běhu. Na rozdíl od pevně zakódovaných hodnot umožňují proměnné prostředí větší flexibilitu a přizpůsobivost, protože je můžete snadno upravovat.
Existuje mnoho balíčků a modulů pro interakci s proměnnými prostředí v ekosystému Rust, včetně dotenv, závist, a config bedny třetích stran a použijte vestavěný Rust std:: env modul.
Úvod do dotenv Crate
The dotenv Crate je cenný nástroj pro správu proměnných prostředí ve vašem projektu Rust. The dotenv Crate poskytuje jednoduchou integraci a snadno použitelné funkce, které zjednodušují proces načítání a přístupu k proměnným prostředí ze souborů proměnných prostředí.
Mezi vlastnosti přepravky dotenv patří plynulé načítání proměnného prostředí, přístupy k řešení chyb pro chybějící proměnné, součinnost s std:: env modul a další.
Přidat dotenv přepravka do vašeho Cargo.toml sekce závislostí souboru, abyste mohli začít pracovat s proměnnými prostředí pomocí balíčku.
[závislosti]
dotenv = "0.15.0"
Spusťte tento příkaz v terminálu adresáře vašeho projektu a vytvořte soubor proměnných prostředí a vložte pár klíč–hodnota.
echo DATABASE_URL=database.db > .env
Zde je návod, jak můžete načíst soubor prostředí a načíst hodnotu páru ze souboru (v tomto případě hodnotu DATABASE_URL klíč:
použití std:: env;
použití dotenv:: dotenv;fnhlavní() {
dotenv().ok(); // Načtení souboru .env
// Načtení hodnoty ze souboru .env
nechat database_url = env:: var("DATABASE_URL").očekávat("Nenastavili jste DATABASE_URL");// Vytiskne hodnotu
println!("Adresa URL databáze: {}", databáze_url);
}
The hlavní funkce načte .env soubor s OK funkce, přečte hodnotu ze souboru s env:: var funkce a řeší případné chyby pomocí očekávat funkce.
Úvod do modulu std:: env
Případně místo toho pomocí balíčků třetích stran, můžete použít vestavěný Rust std:: env modul pro čtení proměnných prostředí z vašeho počítače.
Nejprve budete muset importovat env modulu ve vašem souboru Rust takto:
použití std:: env;
Po importu std:: env modulu můžete číst a zapisovat proměnné prostředí.
Zde je návod, jak si můžete přečíst OZP (Present Working Directory) proměnná prostředí s std:: env modul.
použití std:: env;
fnhlavní() {
// Načte hodnotu proměnné prostředí "PWD".
nechat proměnná = env:: var("PWD").očekávat("Chyba: Proměnná prostředí pracovního adresáře nebyla nalezena");// Vytiskne hodnotu spojenou s klíčem "PWD".
println!("Hodnota spojená s klíčem PWD: {}", proměnná);
}
The hlavní funkce vypíše hodnotu spojenou s OZP klíč poté, co proměnná načte hodnotu s env:: var funkce.
Také můžete použít std:: env modulů set_var funkce pro nastavení proměnných prostředí.
použití std:: env;
fnhlavní() -> VýsledekBox<dyn std:: error:: Error>> {
// Nastavte proměnnou prostředí "DATABASE_URL" na "database.db"
env:: set_var("DATABASE_URL", "database.db");// Načte hodnotu proměnné prostředí "DATABASE_URL".
nechat env_variable = env:: var("DATABASE_URL");// Zkontrolujte, zda bylo načtení proměnné prostředí úspěšné
-li env_variable.is_err() {// Pokud proměnná prostředí nebyla nalezena, vytiskne chybovou zprávu
println!("Chyba: DATABASE_URL nenalezena");} jiný {
// Pokud byla proměnná prostředí nalezena, vypíše její hodnotu
println!("DATABASE_URL nastavena na: {}", env_variable.unwrap());}
OK(())
}
The hlavní funkce nastaví proměnnou prostředí s set_var funkce, která přebírá pár klíč–hodnota. Po nastavení proměnné prostředí funkce vytiskne hodnotu přidruženou ke klíči.
Proměnné prostředí jsou všestranné
Proměnné prostředí jsou cenným nástrojem pro práci s dynamickými daty; usnadňují vývoj řízený testováním, protože můžete snadno měnit data a spouštět testovací případy pro více scénářů.
Pomocí proměnných prostředí se můžete vyhnout pevnému zakódování citlivých informací, jako jsou uživatelská jména databáze, hesla a další připojení URL přímo do zdrojového kódu, čímž se zvýší bezpečnost vaší aplikace a zároveň umožní snadnější konfigurace řízení.