Python: Slaptų duomenų (aplinkos kintamųjų) tvarkymas
Ši dokumentacija yra Išplėstiniai naudojimo būdai vadovo dalis. Visą vadovą rasite čia: Toliau su jūsų Python diegimais.
👋 Sveiki atvykę į Stackhero dokumentaciją!
Stackhero siūlo paruoštą naudoti Python cloud sprendimą, sukurtą tam, kad jūsų diegimo procesas būtų kuo paprastesnis:
- Diekite savo aplikaciją į gamybinę aplinką per kelias sekundes su paprastu
git push.- Naudokite savo pasirinktą domeno vardą, su automatiniu HTTPS sertifikato konfigūravimu – saugūs ryšiai bus užtikrinti automatiškai.
- Pasikliaukite automatinėmis atsarginėmis kopijomis, atnaujinimais vienu paspaudimu ir prognozuojama kainodara, kad galėtumėte susitelkti į savo kodą, o ne infrastruktūros valdymą.
- Naudokitės aukštu našumu ir saugumu privačioje, dedikuotoje infrastruktūroje. Jūsų aplinka yra izoliuota ir apsaugota.
Taupykite laiką ir supaprastinkite savo darbo eigą: jūsų kodas gali veikti Stackhero Python cloud hosting platformoje vos per 5 minutes.
Tam tikru momentu jums reikės saugoti slaptus duomenis, tokius kaip tokenai ir slaptažodžiai duomenų bazėms ar trečiųjų šalių paslaugoms. Svarbu juos saugoti saugiai. Venkite jų tiesioginio įterpimo į savo saugyklą ar kodą, nes tai sukelia didelę saugumo riziką.
Aplinkos kintamųjų naudojimas suteikia du pagrindinius privalumus:
- Jūsų slapti duomenys niekada nėra saugomi jūsų Git saugykloje, sumažinant neteisėtos prieigos riziką.
- Galite naudoti skirtingus prisijungimus įvairioms aplinkoms, pavyzdžiui, naudoti gamybos duomenų bazę gamyboje ir kūrimo duomenų bazę kūrimo metu.
Aplinkos kintamųjų nustatymas kūrimui
Kūrimo aplinkoje sukurkite .env failą savo projekto šaknyje. Šis failas turi būti neįtrauktas į Git, kad būtų užtikrinta, jog jis niekada nebus įsipareigotas.
Norėdami automatiškai skaityti .env failą, galite naudoti python-dotenv modulį:
pip install python-dotenv
pip freeze > requirements.txt
Tada sukurkite .env failą savo projekto šaknyje ir pridėkite savo kintamuosius:
ENV="development"
DATABASE_PASSWORD="secretPassword"
THIRD_API_PRIVATE_KEY="secretKey"
# ...
Galiausiai, užtikrinkite, kad .env failas būtų neįtrauktas į Git, pridėdami jį prie .gitignore:
echo ".env" >> .gitignore
Aplinkos kintamųjų nustatymas staging ir gamybai
.env failas nėra pakankamai saugus staging ir gamybos aplinkoms. Vietoj to, Stackhero leidžia saugiai saugoti jūsų aplinkos kintamuosius tiesiogiai jūsų Python paslaugos konfigūracijoje.
Galite nustatyti šiuos kintamuosius Stackhero prietaisų skydelyje, pasirinkdami savo Python paslaugą ir tada spustelėdami mygtuką "Configure".
Python aplinkos kintamieji Stackhero
Aplinkos kintamųjų pasiekimas Python
Aplinkos kintamųjų pasiekimas Python yra paprastas. Tiesiog naudokite os.environ.get(), kaip parodyta žemiau:
import os
print(os.environ.get('ENV'))
Pavyzdžiui, prisijungimas prie Redis serverio naudojant aplinkos kintamąjį gali būti atliekamas taip:
import os
import redis
r = redis.from_url(os.environ.get("REDIS_URL"))
Kūrimo aplinkoje nustatykite REDIS_URL savo .env faile taip:
REDIS_URL="redis://localhost:6379"
Gamybai ir staging, nustatykite REDIS_URL Stackhero prietaisų skydelyje pagal Python paslaugos konfigūraciją:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:6380"