Ortam Değişkenleri (Environment Variables)
Ortam Değişkenleri (Environment Variables), Apinizer API Management Platform'unda farklı ortamlarda (Development, Test, Production) farklı değerler kullanılması gereken yapılandırma bilgilerini merkezi olarak yönetmenizi sağlayan bir özelliktir. Bu özellik sayesinde aynı API Proxy yapılandırması farklı ortamlarda farklı backend adresleri, veritabanı bağlantı bilgileri, API anahtarları gibi değerleri dinamik olarak kullanabilir.
Çalışma Mantığı
1. Tanımlama Aşaması
Ortam değişkenleri proje seviyesinde tanımlanır ve iki tipte olabilir:
- Global (Tüm Ortamlar): Tüm ortamlarda aynı değeri kullanır
- Environment-Specific (Ortam Özelinde): Her ortam için farklı değerler tanımlanabilir
2. Kullanım Aşaması
Ortam değişkenleri, yapılandırma alanlarında ${variableName} formatında kullanılır:
- Örnek 1: Backend adresi için
${BACKEND_URL} - Örnek 2: Veritabanı bağlantı string'i için
jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME} - Örnek 3: API anahtarı için
${API_KEY}
3. Runtime Çözümleme
API Proxy çalışırken (runtime):
- Yapılandırmadaki
${variableName}formatındaki ifadeler tespit edilir - İlgili ortamın (Environment) değişken değeri alınır
- Secret değerler otomatik olarak decrypt edilir
- Değişken adı gerçek değerle değiştirilir
- İşlem gerçek değerle devam eder
Örnek Senaryo:
- Development Ortamı:
BACKEND_URL = dev-api.example.com - Production Ortamı:
BACKEND_URL = api.example.com - Yapılandırmada:
${BACKEND_URL} - Runtime'da Development'ta:
dev-api.example.com - Runtime'da Production'da:
api.example.com
Ortam Değişkeni Oluşturma (Create)
Ortam değişkeni oluşturma adımlarını içeren görsel aşağıda verilmiştir:

Ortam değişkeni oluşturma konfigürasyonları adım adım aşağıdaki tabloda anlatılmıştır:
| Adım | İşlev |
|---|---|
Adım 1: Yeni Ortam Değişkeni Ekleme |
|
Adım 2: Temel Bilgileri Girme | Key Name (Değişken Adı):
Açıklama (Description):
|
Adım 3: Tip Seçimi | Environment-Specific (Ortam Özelinde):
Global (Tüm Ortamlar):
Tip seçimi sadece yeni kayıt oluştururken yapılabilir. Mevcut kayıtların tipi değiştirilemez. |
Adım 4: Değer Tanımlama | Environment-Specific Değişkenler İçin:
Global Değişkenler İçin:
|
Adım 5: Kaydetme ve Deployment |
|
Secret olarak işaretlenen değerler kaydedildikten sonra bir daha görüntülenemez.
Ortam Değişkeni Düzenleme (Edit)
Düzenleme Modal'ının Açılması
Düzenleme modal'ı aşağıdaki yollarla açılabilir:
| Yöntem | Açıklama |
|---|---|
| Liste'den Tıklama | Ortam değişkeni adına tıklanır |
| Menü'den Seçim | Satır sonundaki menüden "Edit" seçilir |
Düzenleme Modal'ındaki Farklılıklar
| Özellik | Yeni Kayıt | Düzenleme |
|---|---|---|
| Modal Başlığı | "Add Environment Variable" | "Edit Environment Variable" |
| Type Seçimi | Aktif (değiştirilebilir) | Pasif (değiştirilemez) |
| Secret Değerler | Normal görünür | Maskelenmiş görünür (************) |
| Secret Checkbox | Aktif | Kaydedilmiş secret'lar için pasif |
Ortam Değişkenleri Kullanımı
Ortam değişkenleri, Apinizer API Manager platformunda çeşitli yapılandırma alanlarında kullanılabilir. Bu bölümde ortam değişkenlerinin nasıl kullanılacağı, hangi yapılandırmalarda kullanılabileceği ve pratik örnekler detaylı olarak açıklanmaktadır.
Kullanım Formatı
Ortam değişkenleri, yapılandırma alanlarında özel bir format kullanılarak referans edilir.
Format Yapısı
| Format | Açıklama | Örnek |
|---|---|---|
${variableName} | Temel kullanım formatı | ${BACKEND_URL} |
text${variableName} | Metin ile birleştirme | https://${API_HOST} |
${variableName}text | Metin ile birleştirme | ${API_PORT}/api |
text${variable1}text${variable2} | Birden fazla değişken | jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME} |
Format Kuralları
| Kural | Açıklama |
|---|---|
| Başlangıç Karakteri | ${ ile başlamalıdır |
| Bitiş Karakteri | } ile bitmelidir |
| Değişken Adı | Ortada değişken adı yer alır (boşluk olmadan) |
| Büyük/Küçük Harf | Değişken adı büyük/küçük harf duyarlıdır |
| Özel Karakterler | Değişken adında nokta (.), alt çizgi (_) kullanılabilir |
Kullanım Yerleri
Ortam değişkenleri Apinizer platformunda çeşitli yapılandırma alanlarında kullanılabilir. Ancak Environment Variable Seçim Dialog'u sadece belirli alanlarda mevcuttur.
1. API Proxy - Routing (Yönlendirme)
Kullanım Alanı: Upstream Routing adresleri
| Özellik | Açıklama |
|---|---|
| Konum | API Proxy > Upstream/Routing Tab > Define Address(es) |
| Alan | Backend API adresi input alanı |
| Kullanım | Backend API adreslerinde ortam bazlı yönlendirme |
| Erişim | Adres input alanının sağındaki liste ikonu butonuna tıklanarak |
Kullanım Senaryosu: Farklı ortamlarda farklı backend adresleri kullanmak için
2. Database Connection (Veritabanı Bağlantısı)
Kullanım Alanı: Veritabanı bağlantı yapılandırması
| Özellik | Açıklama |
|---|---|
| Konum | Administration > Connection Management > Connection Pool Def DB |
| Alanlar | JDBC URL, Username, Password |
| Kullanım | Veritabanı bağlantı bilgilerinde ortam bazlı yönetim |
| Dialog Erişimi | Her alanın sağındaki liste ikonu butonuna tıklanarak |
| Secret Kullanımı | Password alanı mutlaka secret olarak işaretlenmelidir |
Kullanım Senaryosu: Farklı ortamlarda farklı veritabanı bağlantı bilgileri kullanmak için
3. LDAP Connection (LDAP Bağlantısı)
Kullanım Alanı: LDAP bağlantı yapılandırması
| Özellik | Açıklama |
|---|---|
| Konum | Administration > Connection Management > Connection Pool Def LDAP |
| Alanlar | LDAP URL, Bind DN, Bind Password |
| Kullanım | LDAP bağlantı bilgilerinde ortam bazlı yönetim |
| Dialog Erişimi | Her alanın sağındaki liste ikonu butonuna tıklanarak |
| Secret Kullanımı | Bind Password mutlaka secret olarak işaretlenmelidir |
Kullanım Senaryoları ve Örnekler
Senaryo | Problem | Çözüm |
|---|---|---|
Backend API Adresi Yönetimi | Farklı ortamlarda farklı backend API adresleri kullanılıyor. |
|
Veritabanı Bağlantı Yönetimi | Her ortamda farklı veritabanı kullanılıyor. |
|
API Anahtarı Yönetimi | Dış servisler için farklı API anahtarları kullanılıyor. |
|