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

instagram viewer
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.