Aprenda a usar o módulo dotenv crate e std:: env para interagir com variáveis de ambiente no Rust e lidar com informações confidenciais.
As variáveis de ambiente desempenham papéis cruciais na configuração e personalização do comportamento do software moderno, fornecendo uma maneira flexível de transmitir informações aos aplicativos sem codificar valores.
As variáveis de ambiente são pares dinâmicos de chave-valor definidos no ambiente de um sistema operacional ou em um arquivo de variável de ambiente para acesso durante o tempo de execução. Ao contrário dos valores codificados, as variáveis de ambiente permitem maior flexibilidade e adaptabilidade, pois você pode modificá-las facilmente.
Existem muitos pacotes e módulos para interagir com variáveis de ambiente no ecossistema Rust, incluindo o dotenv, inveja, e configuração caixas de terceiros e use o built-in do Rust padrão:: ambiente módulo.
Introdução ao dotenv Crate
O dotenv A caixa é uma ferramenta valiosa para gerenciar variáveis de ambiente em seu projeto Rust. O
dotenv O crate fornece integração simples e funções fáceis de usar que simplificam o processo de carregamento e acesso a variáveis de ambiente a partir de arquivos de variáveis de ambiente.Os recursos do dotenv crate incluem carregamento contínuo de variáveis de ambiente, abordagens de tratamento de erros para variáveis ausentes, interoperação com o padrão:: ambiente módulo e muito mais.
Adicione o dotenv caixote para o seu Cargo.toml seção de dependências do arquivo para começar a interagir com as variáveis de ambiente usando o pacote.
[dependências]
dotenv = "0.15.0"
Execute este comando no terminal do diretório do seu projeto para criar um arquivo de variáveis de ambiente e inserir um par chave-valor.
eco DATABASE_URL=database.db > .env
Veja como você pode carregar o arquivo de ambiente e recuperar o valor de um par do arquivo (neste caso, o valor do DATABASE_URL chave:
usar padrão:: env;
usar dotenv:: dotenv;fnprincipal() {
dotenv().ok(); // Carrega o arquivo .env
// Lê o valor do arquivo .env
deixar database_url = env:: var("DATABASE_URL").esperar("Você não definiu o DATABASE_URL");// imprime o valor
println!("URL do banco de dados: {}", database_url);
}
O principal função carrega o .env arquivo com o OK função, lê o valor do arquivo com o ambiente:: var função, e lida com possíveis erros com o esperar função.
Introdução ao módulo std:: env
Alternativamente, em vez de usando pacotes de terceiros, você pode usar o built-in do Rust padrão:: ambiente módulo para ler variáveis de ambiente de sua máquina.
Primeiro, você precisará importar o ambiente módulo em seu arquivo Rust da seguinte forma:
usar padrão:: env;
Depois de importar o padrão:: ambiente módulo, você pode ler e gravar variáveis de ambiente.
Veja como você pode ler o PWD (Present Working Directory) com a variável de ambiente padrão:: ambiente módulo.
usar padrão:: env;
fnprincipal() {
// Recupera o valor da variável de ambiente "PWD"
deixar variável = env:: var("PDD").esperar("Erro: variável de ambiente do diretório de trabalho não encontrada");// Imprime o valor associado à chave "PWD"
println!("Valor associado à chave PWD: {}", variável);
}
O principal função imprime o valor associado ao PWD chave depois que a variável recupera o valor com o ambiente:: var função.
Além disso, você pode usar o padrão:: ambiente do módulo set_var função para definir variáveis de ambiente.
usar padrão:: env;
fnprincipal() -> ResultadoCaixa<din padrão:: erro:: Erro >> {
// Defina a variável de ambiente "DATABASE_URL" para "database.db"
env:: set_var("DATABASE_URL", "banco de dados.db");// Recupera o valor da variável de ambiente "DATABASE_URL"
deixar env_variável = env:: var("DATABASE_URL");// Verifica se a recuperação da variável de ambiente foi bem-sucedida
se env_variable.is_err() {// Se a variável de ambiente não foi encontrada, imprime uma mensagem de erro
println!("Erro: DATABASE_URL não encontrado");} outro {
// Se a variável de ambiente foi encontrada, imprima seu valor
println!("DATABASE_URL definido como: {}", env_variable.unwrap());}
OK(())
}
O principal A função define a variável de ambiente com o set_var função que recebe o par chave-valor. Após definir a variável de ambiente, a função imprime o valor associado à chave.
As variáveis de ambiente são versáteis
As variáveis de ambiente são uma ferramenta valiosa para lidar com dados dinâmicos; eles facilitam o desenvolvimento orientado a testes, pois você pode facilmente alterar os dados e executar casos de teste para vários cenários.
Ao usar variáveis de ambiente, você pode evitar a codificação de informações confidenciais, como nomes de usuários de banco de dados, senhas e URLs de conexão diretamente no código-fonte, aprimorando assim a segurança do seu aplicativo e permitindo uma configuração mais fácil gerenciamento.