Como Definir Variáveis de Ambiente
Tempo de leitura: 4 minutos
Existem algumas coisas que nós não devemos compartilhar em nosso código. Estes geralmente são valores de configurações que dependem do ambiente, tal como debugging flags ou tokens de acesso para APIs como a Twilio. Variáveis de ambiente são uma boa solução e são fáceis de consumir na maioria das linguagens.
Variáveis de ambiente????
Variáveis de ambiente, como o nome sugere, são variáveis em seu sistema que descrevem seu ambiente. A variável de ambiente mais conhecida é provavelmente o PATH
, que contém o caminho de todas as pastas que podem conter um executável. Com PATH
, você pode escrever apenas o nome do executável ao invés do caminho completo no seu terminal, já que o shell vai verificar o diretório local assim como todos os diretórios especificados na variável PATH
para esse executável.
Além de variáveis ‘built-in’, nós também temos a oportunidade de definir nossa própria variável de ambiente. Como eles estão ligados ao nosso ambiente eles são ótimos para coisas como token de acesso de API. Você poderia ter uma variável com um valor definido no seu server para testes e outro no seu ambiente de produção sem ter que usar if statements ou arquivos de configurações.
As bibliotecas da Twilio por exemplo, procuram pelas variáveis de ambiente TWILIO_ACCOUNT_SID
e TWILIO_AUTH_TOKEN
se você instanciar um client sem estes dois valores. Dessa forma você não têm que se preocupar em sem querer enviar credenciais para lugares como GitHub.
Variáveis de ambiente do Windows
A definição de variáveis de ambiente no Windows são bem ocultos em várias camadas de configurações, nós vamos definir as variáveis de ambiente usando a interface gráfica. Para abrir a respectiva interface, primeiro você tem que abrir o prompt do Windows Run. Faça isso pressionando as teclas Windows
e R
no seu teclado ao mesmo tempo. Digite sysdm.cpl
no campo de entrada e pressione Ok.
Na nova janela que abrir, clique na aba Avançado e depois no botão Variáveis de Ambiente no canto inferior direito da janela.
A janela tem duas seções diferentes. Uma é uma lista das variáveis de ambiente que são específicos do seu usuário. Isso significa que não estão disponíveis para outros usuários. A outra seção contém as variáveis de todo o sistema, que são compartilhadas entre todos os usuários.
Crie uma variável específica de usuário clicando no botão Novo abaixo da seção específica de usuário. No prompt você pode especificar o nome e valor da sua variável. Crie uma nova variável com o nome TWILIO_ACCOUNT_SID
e copie seu Twilio Account SID do console. Pressione Ok no prompt para criar a variável, seguido por Ok na janela de Variáveis de Ambiente. E está pronto.
Para testar se funcionou abra o Prompt de Comando pressionando Windows
R
e digitando cmd.exe
. Se você já tiver com o prompt de comando aberto, certifique-se de reiniciá-lo para garantir que suas alterações sejam aplicadas.
Dentro do Prompt de Comando execute o seguinte comando:
Isso deve printar o valor que você salvou na variável de ambiente.
Distribuições macOS e Linux
Para definir variáveis de ambiente no macOS ou qualquer sistema operacional baseado em UNIX você primeiro precisa descobrir qual shell você está usando.Você pode fazer isso executando no seu terminal o comando:
O output deve indicar qual shell você está usando. O bash
shell é o mais comum, que nós vamos estar usando nesse exemplo. Mas os passos são similares para outros shells como zsh
ou fish
.
Para definir uma variável de ambiente precisamos usar o comando export no seguinte formato:
Como isso definiria apenas para a sessão atual, precisamos adicionar esse comando em um arquivo que é executado para cada sessão. Para isso, abra o arquivo .bashrc
no seu diretório home com seu editor de código favorito. Adicione a seguinte linha em algum lugar no seu arquivo .bashrc
:
Substitua youraccountsid
com seu Account SID atual do seu console Twilio. Salve o arquivo e abra um novo terminal para testar se funcionou executando:
Você deve ver o valor que você armazenou nele.
.env
.
Em algumas situações, você precisa de uma variável de ambiente para apenas um projeto. Nesse caso, arquivos .env são uma ótima solução. É um arquivo dentro do seu projeto em que você especifica essas variáveis de ambiente e depois usá uma biblioteca para sua respectiva linguagem de programação para carregar o arquivo que definirá dinamicamente essas variáveis.
Existem bibliotecas para a maioria das linguagens de programação que carregam esse arquivo. Aqui estão alguns exemplos:
Crie um arquivo .env na pasta do seu projeto (normalmente no root) e coloque os pare de valores-chave lá. Tipo assim:
Agora tudo o que precisa fazer é consumir a respectiva biblioteca e depois usar a variável de ambiente. Em Node.js o código ficaria assim:
Como você provavelmente não quer fazer um commit das variáveis de ambiente para um repositório, certifique-se de adicionar o arquivo .env ao seu
.gitignore para evitar de dar push acidentalmente.
Provedores de Nuvem
Definir variáveis de ambiente na sua máquina local ou em uma VM é apenas metade do trabalho. E se estamos hospedando nossa aplicação em um ambiente de nuvem como Heroku, Azure, AWS ou até conteinerizado em Docker? Felizmente, todos estes provedores suportam formas de definir variáveis de ambiente. Você pode encontrar instruções de como configurá-las em suas documentações:
Se você não encontrou seu provedor nessa lista, não significa necessariamente que não há como configurar variáveis de ambiente. Certifique-se de verificar sua documentação para mais informações.
Sumário
E é isso! Agora você pode definir variáveis de ambiente, o que significa que você pode retirar todas as suas configurações baseadas em ambiente do seu código e torná-lo mais flexível e seguro!
Lembre-se que estes valores ainda estão armazenados em plain text. Se você planeja armazenar valores mais sensíveis, procure algo como uma solução de secret storage, como o Vault.
Esse post foi traduzido do original por Caick Passarella. Qualquer dúvida entre em contato comigo no e-mail cpassarella@twilio.com
Se você tem alguma dúvida ou gostaria de me mostrar as coisas incríveis que você está desenvolvendo, fique a vontade para me enviar um e mail para: dkundel@twilio.com ou contate-me no Twitter @dkundel. Mal posso esperar para ver o que você construiu!
Publicações relacionadas
Recursos relacionados
Twilio Docs
De APIs a SDKs e aplicativos de amostra
Documentação de referência de API, SDKs, bibliotecas auxiliares, guias de início rápido e tutoriais para sua linguagem e plataforma.
Centro de Recursos
Os mais recentes e-books, relatórios do setor e webinars
Aprenda com especialistas em engajamento do cliente para melhorar sua própria comunicação.
Ahoy
Centro da comunidade de desenvolvedores da Twilio
Melhores práticas, exemplos de código e inspiração para criar comunicações e experiências de engajamento digital.