Узнайте, как использовать контейнер dotenv и модуль std:: env для взаимодействия с переменными среды в Rust и обработки конфиденциальной информации.

Переменные среды играют решающую роль в настройке и настройке поведения современного программного обеспечения, предоставляя гибкий способ передачи информации в приложения без жестко заданных значений.

Переменные среды — это динамические пары «ключ-значение», установленные в среде операционной системы или в файле переменных среды для доступа во время выполнения. В отличие от жестко заданных значений, переменные среды обеспечивают большую гибкость и адаптируемость, поскольку их можно легко изменить.

В экосистеме Rust есть много пакетов и модулей для взаимодействия с переменными окружения, в том числе дотенв, завидовать, и конфигурация сторонние ящики и использовать встроенный в Rust станд:: env модуль.

Введение в ящик dotenv

дотенв crate — ценный инструмент для управления переменными среды в вашем проекте Rust. дотенв crate обеспечивает простую интеграцию и простые в использовании функции, которые упрощают процесс загрузки и доступа к переменным среды из файлов переменных среды.

instagram viewer

Функции пакета 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-адреса подключения непосредственно в исходный код, что повышает безопасность вашего приложения и упрощает настройку управление.