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.