Dowiedz się, jak używać modułu dotenv crate i std:: env do interakcji ze zmiennymi środowiskowymi w Rust i obsługi poufnych informacji.

Zmienne środowiskowe odgrywają kluczową rolę w konfigurowaniu i dostosowywaniu zachowania współczesnego oprogramowania, zapewniając elastyczny sposób przekazywania informacji do aplikacji bez zakodowania wartości.

Zmienne środowiskowe to dynamiczne pary klucz-wartość ustawione w środowisku systemu operacyjnego lub w pliku zmiennych środowiskowych, do których można uzyskać dostęp w czasie wykonywania. W przeciwieństwie do wartości zakodowanych na stałe, zmienne środowiskowe zapewniają większą elastyczność i możliwości adaptacji, ponieważ można je łatwo modyfikować.

Istnieje wiele pakietów i modułów do interakcji ze zmiennymi środowiskowymi w ekosystemie Rust, w tym dotenv, zazdrość, I konfiguracja skrzynek stron trzecich i korzystaj z wbudowanego Rusta std:: śr moduł.

Wprowadzenie do skrzynki dotenv

The dotenv crate jest cennym narzędziem do zarządzania zmiennymi środowiskowymi w projekcie Rust. The

dotenv crate zapewnia prostą integrację i łatwe w użyciu funkcje, które upraszczają proces ładowania i uzyskiwania dostępu do zmiennych środowiskowych z plików zmiennych środowiskowych.

Funkcje skrzynki dotenv obejmują płynne ładowanie zmiennych środowiskowych, podejścia do obsługi błędów dla brakujących zmiennych, współpraca z std:: śr moduł i nie tylko.

Dodaj dotenv skrzynia do twojego Cargo.toml w sekcji zależności pliku, aby rozpocząć interakcję ze zmiennymi środowiskowymi za pomocą pakietu.

[zależności]
dotenv = "0.15.0"

Uruchom to polecenie w terminalu katalogu swojego projektu, aby utworzyć plik zmiennych środowiskowych i wstawić parę klucz-wartość.

Echo DATABASE_URL=baza danych.db > .env

Oto jak możesz załadować plik środowiska i pobrać z pliku wartość pary (w tym przypadku wartość BAZA DANYCH_URL klucz:

używać std:: env;
używać dotenv:: dotenv;

przypgłówny() {

dotenv().ok(); // Załaduj plik .env

// Odczytaj wartość z pliku .env
pozwalać URL_bazy danych = env:: var(„URL_BAZY DANYCH”).oczekiwać(„Nie ustawiłeś DATABASE_URL”);

// Wydrukuj wartość
drukuj!(„Adres URL bazy danych: {}”, adres_bazy_danych);

}

The główny funkcja ładuje .env plik z OK funkcja, odczytuje wartość z pliku z rozszerzeniem śr.:: var funkcji i obsługuje możliwe błędy z oczekiwać funkcjonować.

Wprowadzenie do modułu std:: env

Ewentualnie zamiast przy użyciu pakietów stron trzecich, możesz użyć wbudowanego Rusta std:: śr moduł do odczytu zmiennych środowiskowych z twojego komputera.

Najpierw musisz zaimportować plik śr module w pliku Rust w następujący sposób:

używać std:: env;

Po zaimportowaniu std:: śr moduł, możesz odczytywać i zapisywać zmienne środowiskowe.

Oto jak możesz przeczytać PWD (Obecny katalog roboczy) zmienna środowiskowa z rozszerzeniem std:: śr moduł.

używać std:: env;

przypgłówny() {

// Pobierz wartość zmiennej środowiskowej „PWD”.
pozwalać zmienna = env:: var(„PWD”).oczekiwać(„Błąd: nie znaleziono zmiennej środowiskowej katalogu roboczego”);

// Wydrukuj wartość skojarzoną z kluczem „PWD”.
drukuj!(„Wartość powiązana z kluczem PWD: {}”, zmienny);

}

The główny funkcja drukuje wartość powiązaną z PWD key po tym, jak zmienna pobierze wartość z śr.:: var funkcjonować.

Możesz także użyć tzw std:: śr modułu set_var funkcja do ustawiania zmiennych środowiskowych.

używać std:: env;

przypgłówny() -> WynikSkrzynka<dyn std:: błąd:: Błąd>> {

// Ustaw zmienną środowiskową „DATABASE_URL” na „database.db”
env:: set_var(„URL_BAZY DANYCH”, "baza danych.db");

// Pobierz wartość zmiennej środowiskowej „DATABASE_URL”.
pozwalać env_variable = env:: var(„URL_BAZY DANYCH”);

// Sprawdź, czy pobranie zmiennej środowiskowej powiodło się
Jeśli env_variable.is_err() {

// Jeśli zmienna środowiskowa nie została znaleziona, wypisz komunikat o błędzie
drukuj!(„Błąd: nie znaleziono DATABASE_URL”);

} w przeciwnym razie {

// Jeśli zmienna środowiskowa została znaleziona, wypisz jej wartość
drukuj!(„URL DATABASE_URL ustawiony na: {}”, env_variable.unwrap());

}

OK(())
}

The główny funkcja ustawia zmienną środowiskową z set_var funkcja, która przyjmuje parę klucz-wartość. Po ustawieniu zmiennej środowiskowej funkcja drukuje wartość powiązaną z kluczem.

Zmienne środowiskowe są wszechstronne

Zmienne środowiskowe są cennym narzędziem do obsługi danych dynamicznych; ułatwiają programowanie oparte na testach, ponieważ można łatwo zmieniać dane i uruchamiać przypadki testowe dla wielu scenariuszy.

Używając zmiennych środowiskowych, możesz uniknąć zakodowania poufnych informacji, takich jak nazwy użytkowników bazy danych, hasła i adresy URL połączeń bezpośrednio do kodu źródłowego, zwiększając w ten sposób bezpieczeństwo aplikacji, jednocześnie umożliwiając łatwiejszą konfigurację kierownictwo.