Varijable okruženja su fundamentalni aspekt razvoja u Pythonu, posebno kada je u pitanju osiguranje da vaše aplikacije slijede metodologiju dvanaest faktora za izgradnju softvera kao usluge (softver-kao-usluga). Ključni princip ove metodologije je pohranjivanje konfiguracije u okruženju . Korištenje varijabli okruženja na ovaj način odvaja konfiguraciju od koda, što je uslov za implementaciju aplikacije na različitim platformama poput Heroku, AWS ili Google Cloud. Nadalje, pomaže u održavanju sigurnosti, skalabilnosti i upravljivosti.
U domenu razvoja Python-a, postavljanje, dohvaćanje i korištenje varijabli okruženja može se rukovati jednostavno. U ovom članku ulazimo u detalje, pružajući sveobuhvatno razumijevanje i praktična rješenja za primjenu varijabli okruženja.
Upravljanje varijablama Python okruženja
Varijablama okruženja u Pythonu se može pristupiti putem os modula, posebno korištenjem njegovog objekta os.environ , koji je objekt sličan rječniku i omogućava pristup osnovnim varijablama okruženja postavljenim na sistemu.
import os
db_user = os.environ.get('DB_USER')
db_password = os.environ.get('DB_PASSWORD')
Ovdje preuzimamo varijable okruženja DB_USER i DB_PASSWORD.
Postavljanje varijabli okruženja
Varijable okruženja se obično postavljaju u sistemu, posebno u terminalnom okruženju na Unix-u i sistemima sličnim Unixu. Na primjer, postavljanje varijable DB_USER može se uraditi na sljedeći način:
export DB_USER="myDatabaseUser"
Međutim, u razvoju Pythona, uobičajeno je postaviti ih u datoteku (kao što je .env).
Praktični vodič: Python-dotenv biblioteka
Python-dotenv biblioteka nam omogućava da čitamo iz .env datoteke u koju možemo prikladno pohraniti naše varijable okruženja. Ovo je obično poželjnije od definiranja varijabli u sistemu jer je lakše upravljati konfiguracijama specifičnim za aplikaciju i omogućava sigurno skladištenje osjetljivih informacija kao što su API ključevi.
Koristeći python-dotenv, možemo zapisati naše varijable okruženja u .env datoteku na isti način kao u sistemu.
DB_USER="myDatabaseUser" DB_PASSWORD="superSecurePassword"
Da podesimo Python dotenv za preuzimanje ovih varijabli, moramo instalirati python-dotenv biblioteku i uvesti je u Python datoteku.
pip install python-dotenv
Sada možete učitati svoje varijable okruženja iz vaše .env datoteke
import os
from dotenv import load_dotenv
load_dotenv() # take environment variables from .env
db_user = os.getenv('DB_USER')
db_password = os.getenv('DB_PASSWORD')
Ovaj pristup pruža siguran i zgodan način upravljanja varijablama okruženja, maksimizirajući prenosivost i skalabilnost koda.
Važnost upravljanja varijablama okruženja
Pravilno upravljanje varijablama okruženja dovodi do sigurnijih, skalabilnijih i upravljivih aplikacija. Varijable okruženja odvajaju konfiguraciju od koda, što je najvažnije za aplikacije zasnovane na oblaku. Oni vam omogućavaju da postavite kritične podatke kao što su detalji baze podataka i API ključevi, bez izlaganja osjetljivih detalja vašoj bazi koda.
- Bezbednost: Sakrij osjetljive podatke kao što su vjerodajnice baze podataka, API ključevi i druge tajne.
- Skalabilnost: Upravljajte konfiguracijama u različitim okruženjima: lokalnim, proizvodnim, scenskim itd.
- Upravljivost: Lakša implementacija, posebno na platformama zasnovanim na oblaku, koje se u velikoj meri oslanjaju na konfiguracije okruženja.
Iskorištavanjem moći varijabli okruženja u kombinaciji sa Pythonom, vaše aplikacije mogu postići potpuno novi nivo efikasnosti i sigurnosti.