Pelajari cara menggunakan modul dotenv crate dan std:: env untuk berinteraksi dengan variabel lingkungan di Rust dan menangani informasi sensitif.

Variabel lingkungan memainkan peran penting dalam mengonfigurasi dan menyesuaikan perilaku perangkat lunak modern, memberikan cara yang fleksibel untuk menyampaikan informasi ke aplikasi tanpa nilai hardcoding.

Variabel lingkungan adalah pasangan nilai kunci dinamis yang diatur dalam lingkungan sistem operasi atau file variabel lingkungan untuk akses selama runtime. Tidak seperti nilai hardcoded, variabel lingkungan memungkinkan fleksibilitas dan kemampuan beradaptasi yang lebih besar karena Anda dapat dengan mudah memodifikasinya.

Ada banyak paket dan modul untuk berinteraksi dengan variabel lingkungan di ekosistem Rust, termasuk dotenv, iri, Dan config peti pihak ketiga, dan gunakan bawaan Rust std:: env modul.

Pengantar Peti dotenv

Itu dotenv peti adalah alat yang berharga untuk mengelola variabel lingkungan dalam proyek Rust Anda. Itu dotenv

instagram viewer
crate menyediakan integrasi sederhana dan fungsi yang mudah digunakan yang menyederhanakan proses memuat dan mengakses variabel lingkungan dari file variabel lingkungan.

Fitur peti dotenv termasuk pemuatan variabel lingkungan yang mulus, pendekatan penanganan kesalahan untuk variabel yang hilang, interoperasi dengan std:: env modul, dan lainnya.

Tambahkan dotenv peti ke Anda Kargo.toml bagian dependensi file untuk mulai berinteraksi dengan variabel lingkungan menggunakan paket.

[ketergantungan]
dotenv = "0.15.0"

Jalankan perintah ini di terminal direktori proyek Anda untuk membuat file variabel lingkungan dan menyisipkan key-value pair.

gema DATABASE_URL=database.db > .env

Inilah cara Anda memuat file lingkungan dan mengambil nilai pasangan dari file (dalam hal ini, nilai DATABASE_URL kunci:

menggunakan std:: env;
menggunakan dotenv:: dotenv;

fnutama() {

dotenv().ok(); // Muat file .env

// Baca nilai dari file .env
membiarkan database_url = env:: var("DATABASE_URL").mengharapkan("Anda belum menyetel DATABASE_URL");

// Cetak nilainya
cetak!("URL basis data: {}", database_url);

}

Itu utama fungsi memuat .env mengajukan dengan Oke fungsi, membaca nilai dari file dengan env:: var fungsi, dan menangani kemungkinan kesalahan dengan mengharapkan fungsi.

Pengantar modul std:: env

Alternatifnya, sebagai gantinya menggunakan paket pihak ketiga, Anda dapat menggunakan bawaan Rust std:: env modul untuk membaca variabel lingkungan dari mesin Anda.

Pertama, Anda harus mengimpor file lingkungan modul dalam file Rust Anda sebagai berikut:

menggunakan std:: env;

Setelah mengimpor std:: env modul, Anda dapat membaca dan menulis variabel lingkungan.

Inilah cara Anda dapat membaca PD (Present Working Directory) variabel lingkungan dengan std:: env modul.

menggunakan std:: env;

fnutama() {

// Ambil nilai variabel lingkungan "PWD".
membiarkan variabel = env:: var("PWD").mengharapkan("Kesalahan: Variabel lingkungan direktori kerja tidak ditemukan");

// Cetak nilai yang terkait dengan kunci "PWD".
cetak!("Nilai yang dikaitkan dengan kunci PWD: {}", variabel);

}

Itu utama fungsi mencetak nilai yang terkait dengan PD kunci setelah variabel mengambil nilai dengan env:: var fungsi.

Juga, Anda dapat menggunakan std:: env modul set_var berfungsi untuk mengatur variabel lingkungan.

menggunakan std:: env;

fnutama() -> HasilKotak<din std:: kesalahan:: Kesalahan>> {

// Tetapkan variabel lingkungan "DATABASE_URL" ke "database.db"
env:: set_var("DATABASE_URL", "database.db");

// Ambil nilai variabel lingkungan "DATABASE_URL".
membiarkan env_variabel = env:: var("DATABASE_URL");

// Periksa apakah pengambilan variabel lingkungan berhasil
jika env_variable.is_err() {

// Jika variabel lingkungan tidak ditemukan, cetak pesan kesalahan
cetak!("Kesalahan: DATABASE_URL tidak ditemukan");

} kalau tidak {

// Jika variabel lingkungan ditemukan, cetak nilainya
cetak!("DATABASE_URL disetel ke: {}", env_variable.unwrap());

}

Oke(())
}

Itu utama fungsi mengatur variabel lingkungan dengan set_var fungsi yang mengambil pasangan kunci-nilai. Setelah mengatur variabel lingkungan, fungsi mencetak nilai yang terkait dengan kunci.

Variabel Lingkungan Serbaguna

Variabel lingkungan adalah alat yang berharga untuk menangani data dinamis; mereka memfasilitasi pengembangan berbasis pengujian karena Anda dapat dengan mudah mengubah data dan menjalankan kasus pengujian untuk beberapa skenario.

Dengan menggunakan variabel lingkungan, Anda dapat menghindari informasi sensitif hard-coding seperti nama pengguna database, kata sandi, dan URL koneksi langsung ke kode sumber, sehingga meningkatkan keamanan aplikasi Anda sambil memungkinkan konfigurasi yang lebih mudah pengelolaan.