Membuat dan Menggunakan Environment Variable di FastAPI

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan !
Membuat dan Menggunakan Environment Variable di FastAPI
ADVAN Laptop TBook Celeron N100

ADVAN Laptop TBook Celeron N100

SPESIFIKASI 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.

Apa itu Environment Variable?


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.


Mengapa Menggunakan Environment Variable?



  • Keamanan: Menyimpan informasi sensitif langsung dalam kode sangat tidak disarankan, terutama jika kode tersebut disimpan di repositori publik. Environment variable membantu menjaga informasi ini tetap aman.

  • Konfigurasi yang Fleksibel: Memudahkan perubahan konfigurasi tanpa perlu mengubah kode aplikasi. Cukup ubah nilai environment variable di lingkungan yang bersangkutan.

  • Praktik Terbaik: Menggunakan environment variable dianggap sebagai praktik terbaik dalam pengembangan aplikasi modern.


Cara Membuat dan Menggunakan Environment Variable di FastAPI


Berikut langkah-langkahnya:

1) Install python-dotenv:

Pckage python-dotenv memuat environment variable dari file .env. Instal dengan pip:

pip install python-dotenv

2) Buat File .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

3) Muat Environment Variable dalam Kode FastAPI Anda:

Berikut contoh kode FastAPI yang menggunakan environment variable:


from fastapi import FastAPI
from dotenv import load_dotenv
import os

load_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.

  • Penting untuk dicatat bahwa semua nilai yang dibaca dari environment variable bertipe string. Jika Anda membutuhkan tipe data lain (misalnya, boolean atau integer), Anda perlu mengkonversinya secara eksplisit, seperti contoh DEBUG di atas.


4) Jalankan Aplikasi:

Jalankan aplikasi FastAPI Anda seperti biasa:
uvicorn main:app --reload

Sekarang, aplikasi Anda akan menggunakan environment variable yang telah Anda definisikan.

Contoh Penggunaan yang Lebih Kompleks (Pemisahan Environment)


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 production


Kemudian, 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 FastAPI

ENVIRONMENT = 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.

Contoh:


  • Untuk menjalankan dengan konfigurasi development: export ENVIRONMENT=development && uvicorn main:app --reload

  • Untuk menjalankan dengan konfigurasi production: export ENVIRONMENT=production && uvicorn main:app


Kesimpulan


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.

Baca artikel lainya :