Repository navigation
Veri Kaynaklari
English · Türkçe · Languages / Diller
Kapsam: JSON API Forge 0.5.1 · İnceleme: 17 Eylül 2026 · Dil: Türkçe
data_sources, SQL tablosu olmayan verileri kontrollü bir API üzerinden sunar. Türler static, json_file, yaml_file, csv_file, http olur. Resource CRUD ile aynı gövde ve işlem garantilerini varsaymayın; kaynak türüne ait sözleşmeyi kullanın.
{
"data_sources": [
{
"name": "info", "type": "static", "path": "info", "public": true,
"data": {"service": "WikiDemo", "version": "1.0.0"},
"cache_ttl_seconds": 30
}
]
}Bu fragment mevcut projeye eklendiğinde GET <prefix>/info oluşturur. Private kaynakta uygun permission veya read/write izinlerini tanımlayın. Public okuma public yazma anlamına gelmez; public_write ayrı ve açık bir karardır.
file kontrollü proje dosyasını işaret eder. Filtre/sıralama allowlist'leri, id_field ve max_items sınırları kullanılabilir. writable=true küçük, tek host dosya tabanlı kullanım içindir; distributed veritabanı yerine geçmez. Kilit ve atomik replacement, çok hostlu veri tutarlılığına tek başına yeterli değildir. Dosya konumu ve yazma hakları least-privilege olmalıdır.
Örnek uygulama PublicCatalog, salt okunur JSON katalog kullanımını gösterir. Veri dosyasını değiştirmenin JSON yapılandırma reloader'ıyla aynı yaşam döngüsü olmadığını unutmayın; cache TTL etkisini de değerlendirin.
url, method, headers, timeout_seconds, max_response_bytes, forward_query, forward_body, retries ve cache ayarları upstream sözleşmesini belirler. Destination URL'sini request body'den gelen keyfi bir hosta çevirmeyin.
Forge'un HTTP istemcisi redirect, private/link-local adresler, DNS rebinding ve aşırı yanıt boyutuna karşı sınır uygular. HTTPS varsayılandır; ambient proxy ayarlarına güvenilmez. Yine de ağ seviyesinde egress kuralları uygulanmalıdır.
retry_non_idempotent varsayılanı false'tur. POST/PATCH gibi yan etkili istekleri yeniden göndermeyi açmadan önce upstream'in aynı komutu güvenle tanıyıp tanımadığını doğrulayın. retries yalnız hız ayarı değildir; işin kaç kez çalışabileceğini etkiler.
HTTP header veya URL içine sır yazmak yerine env kullanın. Hata raporlarında URL userinfo'su, auth header ve body içindeki kişisel verileri temizleyin. Tüm 32 alan Veri kaynağı modelleri içindedir.
Bu sayfa aşağıdaki sabit commitlerdeki davranışı açıklar. Yeni bir sürümde aynı davranışın sürdüğünü varsaymayın.
main/framework/datasources.pymain/framework/services/http_client.pymain/framework/config.pyexampleApps/app/PublicCatalog/README.md