Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Veri API oluşturucu (DAB), yükleme sırasında değerleri değiştirerek gizli verileri (örneğin, veritabanı bağlantı dizeleri) dab-config.json dışında tutmanızı sağlar. Desteklenen ilk mekanizma, konak işlem ortamından @env() veya yerel .env bir dosyadan ortam değişkenlerini çözümleyen işlevdir.
Ayrıca bkz: the @akv() function.
@env() ne yapar?
Dize değerinin beklendiği herhangi bir yere bir ortam değişkenine referans yerleştirin.
{
"data-source": {
"connection-string": "@env('SQL_CONN_STRING')"
}
}
Yapılandırma yükleme zamanında DAB, desen için @env('VAR_NAME') dize değerlerini tarar ve belirteci ortam değişkeninin VAR_NAMEdeğeriyle değiştirir.
Değerler için kaynaklar
| Kaynak | Description |
|---|---|
| İşletim sistemi /işlem ortamı | DAB işlemi başladığında standart ortam değişkenleri bulunur. |
.env dosyası |
Yapılandırma dizininde, yerel geliştirme kolaylığı için NAME=VALUE satır içeren bir düz metin dosyası. |
Uyarı
Dosya, .env her ikisi de aynı adı tanımladığında mevcut işlem/sistem ortamı değişkenlerini geçersiz kılar.
Geliştirme için yerel .env bir dosya sağlarsanız, girdileri yerel ortama çağrı yapmadan 'var-name') aramalarını karşılamak @env(için kullanılır.
Örnek .env dosya:
SQL_CONN_STRING=Server=localhost;Database=AppDb;User Id=app;Password=local-dev;
DB_TYPE=mssql
JOB_API_KEY=dev-job-key
Yönerge -leri:
-
.env'yi,dab-config.json'in bitişiğinde (veya başlangıç işleminizin beklediği her yerde) tutun. -
.env'yi.gitignore'ye ekle. - Boş satırlar ve
#ile başlayan satırlar genellikle yoksayılır; açıklama desteğini belgelemeye başlamadan önce doğrulayın. - Linux/macOS'ta adlar büyük/küçük harfe duyarlıdır. Windows'ta, büyük/küçük harfe duyarlı değildir.
Yapılandırmada @env() kullanımı
Temel değiştirme
{
"data-source": {
"database-type": "@env('DB_TYPE')",
"connection-string": "@env('SQL_CONN_STRING')"
}
}
@akv() ile birleştirildi
{
"data-source": {
"database-type": "@env('DB_TYPE')",
"connection-string": "@akv('prod-sql-connection')"
}
}
Saklı yordam parametreleri
{
"entities": {
"RunJob": {
"source": {
"object": "dbo.RunJob",
"type": "stored-procedure",
"parameters": {
"intParam": "@env('SP_PARAM1_INT')",
"boolParam": "@env('SP_PARAM2_BOOL')"
}
},
"permissions": [
{ "role": "anonymous", "actions": [ "execute" ] }
]
}
}
}
Ortam değerleri dize olarak değiştirilir. Sonraki ayrıştırma (örneğin, int veya bool) kullanan yapılandırma veya çalışma zamanı mantığı tarafından işlenir.
Sorun giderme
| Scenario | Outcome |
|---|---|
| Değişken bulundu | Değiştirme başarılı olur. |
| Değişken yok | Büyük olasılıkla yapılandırma yükü başarısız olur. |
| Değişken bulunamadı | Boş dize olarak değiştirilir. |
Birden çok @env() farklı özelliklerde |
Tümü bağımsız olarak çözüldü. |
| Sayısal veya bool'un beklendiği yerde kullanılır | Dize olarak yerine konulan değer; ayrıştırma başarılı olabilir. |
Geçersiz desen (örneğin @env(DB_VAR) eksik tırnak işaretleri) |
Harfi dizge olarak değerlendirilir. |
Tam örnek
dab-config.json:
{
"data-source": {
"database-type": "@env('DB_TYPE')",
"connection-string": "@env('SQL_CONN_STRING')"
},
"runtime": {
"rest": { "enabled": true }
},
"entities": {
"Books": {
"source": "dbo.Books",
"permissions": [
{ "role": "anonymous", "actions": [ "read" ] }
]
}
}
}
.env:
DB_TYPE=mssql
SQL_CONN_STRING=Server=localhost;Database=BooksDb;User Id=app;Password=StrongPassword!;
Önemli
Gizli bilgileri içeren dosyaları .env göndermeyin. |
Hızlı referans
| Ürün | Özet |
|---|---|
| Sözdizimi | @env('variable-name') |
| Benzetimi dosyası |
.env ile name=value çizgili |
| Supported. |
İnceleme
Gizli dizileri ve ortama özgü değerleri yapılandırma dosyalarının dışında tutmak için kullanın @env() . Güvenli ve esnek bir dağıtım için ci/CD değişken depoları veya kapsayıcı tanımları gibi disiplinli gizli dizi yönetimiyle eşleştirin. Kurumsal kasa kullanımı için, gizli dizileri merkezileştirmek için işleviyle birleştirin@akv().