Tanulja meg a dotenv crate és std:: env modul használatát a Rust környezeti változóival való interakcióhoz és az érzékeny információk kezeléséhez.
A környezeti változók kulcsfontosságú szerepet játszanak a modern szoftverek viselkedésének konfigurálásában és testreszabásában, rugalmas módot biztosítva az információk továbbítására az alkalmazásokhoz, hardcoding értékek nélkül.
A környezeti változók dinamikus kulcs-érték párok, amelyek az operációs rendszer környezetében vagy egy környezeti változófájlban vannak beállítva futás közbeni eléréshez. A keménykódolt értékekkel ellentétben a környezeti változók nagyobb rugalmasságot és alkalmazkodóképességet tesznek lehetővé, mivel könnyen módosíthatók.
Számos csomag és modul létezik a környezeti változókkal való interakcióhoz Rust ökoszisztémájában, beleértve a dotenv, irigység, és config harmadik féltől származó ládákat, és használja a Rust beépített készletét std:: env modult.
A dotenv láda bemutatása
A dotenv A crate értékes eszköz a környezeti változók kezeléséhez a Rust projektben. A
dotenv A crate egyszerű integrációt és könnyen használható funkciókat kínál, amelyek leegyszerűsítik a környezeti változók betöltésének és a környezeti változók fájlokból való elérésének folyamatát.A dotenv láda jellemzői közé tartozik a zökkenőmentes környezeti változó betöltés, hibakezelési megközelítések hiányzó változók esetén az együttműködés a std:: env modul, és így tovább.
Add hozzá a dotenv láda a tiédhez Cargo.toml fájl függőségek szakaszában, hogy elkezdjen interakciót folytatni a környezeti változókkal a csomag használatával.
[függőségek]
dotenv = "0.15.0"
Futtassa ezt a parancsot a projekt könyvtárának termináljában egy környezeti változófájl létrehozásához és egy kulcs-érték pár beszúrásához.
visszhang DATABASE_URL=adatbázis.db > .env
Így töltheti be a környezetfájlt, és kérheti le a fájlból egy pár értékét (ebben az esetben a DATABASE_URL kulcs:
használat std:: env;
használat dotenv:: dotenv;fnfő-() {
dotenv().ok(); // Töltse be az .env fájlt
// Olvassa be az értéket az .env fájlból
hagyja adatbázis_url = env:: var("DATABASE_URL").expect("Nem állította be a DATABASE_URL címet");// Nyomtassa ki az értéket
println!("Adatbázis URL: {}", adatbázis_url);
}
A fő- függvény betölti a .env fájllal a rendben függvény, beolvassa az értéket a fájlból a env:: var funkciót, és kezeli az esetleges hibákat a elvárják funkció.
Az std:: env modul bemutatása
Alternatív megoldásként ahelyett harmadik féltől származó csomagok használatával, használhatja a Rust beépített funkcióját std:: env modul környezeti változók olvasásához a gépről.
Először is importálnia kell a env modult a Rust fájlban a következőképpen:
használat std:: env;
Az importálás után a std:: env modul segítségével környezeti változókat olvashat és írhat.
Így olvashatja el a PWD (Present Working Directory) környezeti változó a std:: env modult.
használat std:: env;
fnfő-() {
// A "PWD" környezeti változó értékének lekérése
hagyja változó = env:: var("PWD").expect("Hiba: A munkakönyvtár környezeti változója nem található");// Nyomtassa ki a "PWD" kulcshoz tartozó értéket
println!("A PWD kulccsal társított érték: {}", változó);
}
A fő- függvény kiírja a hozzá tartozó értéket PWD gombot, miután a változó lekéri az értéket a env:: var funkció.
Ezenkívül használhatja a std:: env modulok set_var függvény a környezeti változók beállításához.
használat std:: env;
fnfő-() -> EredményDoboz<dyn std:: error:: Error>> {
// A "DATABASE_URL" környezeti változó beállítása "database.db"
env:: set_var("DATABASE_URL", "adatbázis.db");// A "DATABASE_URL" környezeti változó értékének lekérése
hagyja env_variable = env:: var("DATABASE_URL");// Ellenőrizze, hogy a környezeti változó lekérése sikeres volt-e
ha env_variable.is_err() {// Ha a környezeti változó nem található, nyomtasson hibaüzenetet
println!("Hiba: DATABASE_URL nem található");} más {
// Ha a környezeti változó megtalálható, nyomtassa ki az értékét
println!("DATABASE_URL beállítva a következőre: {}", env_variable.unwrap());}
Rendben(())
}
A fő- függvény beállítja a környezeti változót a set_var függvény, amely a kulcs-érték párt veszi fel. A környezeti változó beállítása után a függvény kiírja a kulcshoz tartozó értéket.
A környezeti változók sokoldalúak
A környezeti változók értékes eszközt jelentenek a dinamikus adatok kezelésére; megkönnyítik a tesztvezérelt fejlesztést, mivel könnyedén módosíthatja az adatokat és futtathat teszteseteket több forgatókönyvhöz.
A környezeti változók használatával elkerülheti az olyan érzékeny információk kemény kódolását, mint az adatbázis-felhasználónevek, jelszavak és kapcsolati URL-címeket közvetlenül a forráskódba, így növelve az alkalmazás biztonságát, miközben lehetővé teszi a könnyebb konfigurálást menedzsment.