Узнайте, как использовать контейнер dotenv и модуль std:: env для взаимодействия с переменными среды в Rust и обработки конфиденциальной информации.
Переменные среды играют решающую роль в настройке и настройке поведения современного программного обеспечения, предоставляя гибкий способ передачи информации в приложения без жестко заданных значений.
Переменные среды — это динамические пары «ключ-значение», установленные в среде операционной системы или в файле переменных среды для доступа во время выполнения. В отличие от жестко заданных значений, переменные среды обеспечивают большую гибкость и адаптируемость, поскольку их можно легко изменить.
В экосистеме Rust есть много пакетов и модулей для взаимодействия с переменными окружения, в том числе дотенв, завидовать, и конфигурация сторонние ящики и использовать встроенный в Rust станд:: env модуль.
Введение в ящик dotenv
дотенв crate — ценный инструмент для управления переменными среды в вашем проекте Rust. дотенв crate обеспечивает простую интеграцию и простые в использовании функции, которые упрощают процесс загрузки и доступа к переменным среды из файлов переменных среды.
Функции пакета dotenv включают плавную загрузку переменных среды, подходы к обработке ошибок для отсутствующих переменных взаимодействие с станд:: env модуль и многое другое.
Добавить дотенв ящик для вашего Груз.томл раздел зависимостей файла, чтобы начать взаимодействие с переменными среды с помощью файла package.
[зависимости]
дотенв = "0.15.0"
Запустите эту команду в терминале каталога вашего проекта, чтобы создать файл переменных среды и вставить пару ключ-значение.
эхо DATABASE_URL=database.db > .env
Вот как вы можете загрузить файл среды и получить значение пары из файла (в данном случае значение DATABASE_URL ключ:
использовать станд:: env;
использовать дотенв:: дотенв;фносновной() {
dotenv().ok(); // Загружаем файл .env
// Читаем значение из файла .env
позволять database_url = env:: var("URL_БАЗА_ДАННЫХ").ожидать("Вы не указали DATABASE_URL");// Распечатать значение
распечатать!("URL-адрес базы данных: {}", база_данных);
}
основной функция загружает .env файл с хорошо функция, считывает значение из файла с среда:: вар функции и обрабатывает возможные ошибки с помощью ожидать функция.
Введение в модуль std:: env
Как вариант, вместо использование сторонних пакетов, вы можете использовать встроенный в Rust станд:: env модуль для чтения переменных среды с вашего компьютера.
Во-первых, вам нужно импортировать окружение модуль в вашем файле Rust следующим образом:
использовать станд:: env;
После импорта станд:: env модуль, вы можете читать и записывать переменные среды.
Вот как можно прочитать PWD (Настоящий рабочий каталог) с переменной среды станд:: env модуль.
использовать станд:: env;
фносновной() {
// Получаем значение переменной окружения "PWD"
позволять переменная = env:: var("Инвалид").ожидать(«Ошибка: переменная среды рабочего каталога не найдена»);// Распечатать значение, связанное с ключом "PWD"
распечатать!("Значение, связанное с ключом PWD: {}", переменная);
}
основной функция печатает значение, связанное с PWD key после того, как переменная получит значение с среда:: вар функция.
Кроме того, вы можете использовать станд:: env модуль set_var функция для установки переменных окружения.
использовать станд:: env;
фносновной() -> РезультатКоробка<дин std:: error:: Error>> {
// Установить для переменной среды "DATABASE_URL" значение "database.db"
env:: set_var("URL_БАЗА_ДАННЫХ", "база данных.db");// Получить значение переменной окружения "DATABASE_URL"
позволять env_variable = env:: var("URL_БАЗА_ДАННЫХ");// Проверяем, удалось ли получить переменную окружения
если env_variable.is_err() {// Если переменная окружения не найдена, выводим сообщение об ошибке
распечатать!("Ошибка: DATABASE_URL не найден");} еще {
// Если переменная окружения найдена, выводим ее значение
распечатать!("DATABASE_URL установлен на: {}", env_variable.unwrap());}
Хорошо(())
}
основной функция устанавливает переменную окружения с set_var функция, которая принимает пару ключ-значение. После установки переменной среды функция печатает значение, связанное с ключом.
Переменные среды универсальны
Переменные среды — ценный инструмент для обработки динамических данных; они облегчают разработку на основе тестирования, поскольку вы можете легко изменять данные и запускать тестовые случаи для нескольких сценариев.
Используя переменные среды, вы можете избежать жесткого кодирования конфиденциальной информации, такой как имена пользователей базы данных, пароли и URL-адреса подключения непосредственно в исходный код, что повышает безопасность вашего приложения и упрощает настройку управление.