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

instagram viewer
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.