ADVAN Laptop TBook Celeron N100SPESIFIKASI Advan Soulmate : Processor: Intel® Gemini Lake N4020, Graphics: Intel® Integrated Graphics, Memory: 4GB DDR4 (upgradable), Storage: 128GB (upgradable), Display: 14 inch HD 1366*768, Battery: 5000mAh 38wh, Connection: WiFi 802.11 b/g/n/ac + Bluetooth 4.2, Camera: 2.0 MP Free Klik Disini ! |
Dalam pengembangan aplikasi web, terutama dengan framework seperti FastAPI, seringkali kita perlu mengelola konfigurasi yang berbeda untuk lingkungan yang berbeda (misalnya, development, staging, production).
Salah satu cara terbaik untuk melakukan ini adalah dengan menggunakan environment variable.
Artikel ini akan membahas cara membuat dan menggunakan environment variable dalam aplikasi FastAPI Anda.
Environment variable adalah nilai yang ditetapkan di luar kode aplikasi Anda dan dapat diakses oleh aplikasi saat berjalan.
Ini berguna untuk menyimpan informasi sensitif seperti API key, kata sandi database, atau pengaturan konfigurasi lainnya yang mungkin berbeda antar lingkungan.
Berikut langkah-langkahnya:
python-dotenv
:Pckage python-dotenv
memuat environment variable dari file .env
. Instal dengan pip:
pip install python-dotenv
.env
:Di direktori proyek Anda, buat file bernama .env
. Di sinilah Anda akan menyimpan environment variable Anda. Contoh:
DATABASE_URL=postgresql://user:password@host:port/database
API_KEY=secret_key_here
DEBUG=True
Berikut contoh kode FastAPI yang menggunakan environment variable:
from fastapi import FastAPI
from dotenv import load_dotenv
import osload_dotenv() # Muat environment variable dari .env
app = FastAPI()
DATABASE_URL = os.getenv("DATABASE_URL")
API_KEY = os.getenv("API_KEY")
DEBUG = os.getenv("DEBUG") == "True" # konversi ke boolean@app.get("/")
async def root():
return {
"message": "Hello from FastAPI!",
"database_url": DATABASE_URL,
"api_key": API_KEY,
"debug_mode": DEBUG,
}
Penjelasan:
load_dotenv()
memuat environment variable dari file .env
ke dalam environment.os.getenv("NAMA_VARIABEL")
mengambil nilai environment variable. Jika variabel tidak ditemukan, ia mengembalikan None
.DEBUG
di atas.uvicorn main:app --reload
Untuk mengelola konfigurasi yang berbeda untuk environment yang berbeda (misalnya, development dan production), Anda dapat menggunakan beberapa file .env
. Misalnya:
.env.development
: Untuk pengaturan development.env.production
: Untuk pengaturan productionKemudian, Anda dapat memuat file yang sesuai berdasarkan environment yang sedang berjalan.
Salah satu caranya dengan menggunakan environment variable ENVIRONMENT
dan memuat file yang sesuai.
import os
from dotenv import load_dotenv
from fastapi import FastAPIENVIRONMENT = os.getenv("ENVIRONMENT", "development") # Default ke development
load_dotenv(dotenv_path=f".env.{ENVIRONMENT}")app = FastAPI()
DATABASE_URL = os.getenv("DATABASE_URL")
@app.get("/")
async def root():
return {"message": f"Hello from {ENVIRONMENT}!", "database_url": DATABASE_URL}
Dengan cara ini, Anda dapat menjalankan aplikasi dengan konfigurasi yang berbeda dengan mengatur environment variable ENVIRONMENT
sebelum menjalankan aplikasi.
export ENVIRONMENT=development && uvicorn main:app --reload
export ENVIRONMENT=production && uvicorn main:app
Menggunakan environment variable adalah cara yang efektif dan aman untuk mengelola konfigurasi aplikasi FastAPI Anda.
Ini membantu menjaga informasi sensitif tetap aman dan memudahkan perubahan konfigurasi antar lingkungan.
Dengan mengikuti langkah-langkah dalam artikel ini, Anda dapat dengan mudah mengimplementasikan penggunaan environment variable dalam proyek FastAPI Anda.