Databricks uygulamasında ortam değişkenlerini tanımlama

Azure Databricks, uygulama çalışma zamanı ortamındaki belirli ortam değişkenlerini otomatik olarak ayarlar. Bu değişkenler uygulama ve çalışma alanı hakkında temel bilgiler sağlar ve varsayılan olarak tüm Databricks uygulamaları tarafından erişilebilir. Varsayılan değişkenlerin listesi için bkz. Databricks Apps ortamı.

Uygulamanız ek ortam değişkenleri gerektiriyorsa, bunları bölümündeki app.yaml yapılandırma dosyasında env tanımlayın. Her değişken için bir ad ve bir değer gerekir. Değişkenler sabit kodlanmış bir değer kullanabilir veya bir dış kaynağa başvurabilir.

Örneğin:

env:
  - name: LOG_LEVEL
    value: 'debug'

Yalnızca statik, hassas olmayan ve ortamlar arasında tutarlı olan sabit kod değerleri. Örnek olarak value: "true" özellik geçişleri, value: "us-west" sabit bölgeler veya value: "UTC" varsayılan saat dilimleri verilebilir.

Önemli

Uygulamanızın güvenli ve taşınabilir kalmasını sağlamak için hiçbir zaman doğrudan uygulama yapılandırmanızda gizli anahtarlara veya diğer hassas değerlere başvurmayın. Örneğin, bir ortam değişkeninin value alanına veya doğrudan kaynak kodunuz içine gizli dizi değerleri eklemekten kaçının. Bunun yerine, valueFrom alanını, kaynak bloğunuzda tanımlanan gizli dizilere ve diğer yönetilen kaynaklara güvenli bir şekilde başvurmak için kullanın. Gizli verilerin çalışma zamanında Azure Databricks'den alınmasını ve yapılandırma dosyalarınızda hiçbir zaman düz metin olarak açığa çıkmamasını sağlar.

Kaynaklara erişmek için ortam değişkenlerini kullanma

Eğer SQL ambarları veya gizli diziler gibi uygulama kaynaklarını tanımlarsanız, bu kaynaklara dosyanızın bölümünde, env alanını kullanarak app.yaml başvurun. Bu, uygulamanızdaki ortam değişkenlerini içinde resourcestanımlanan kaynak anahtarlarına bağlar.

Örnek app.yaml kod parçacığı:

env:
  - name: WAREHOUSE_ID
    valueFrom: sql_warehouse

  - name: SECRET_KEY
    valueFrom: secret

Ardından uygulama kodunuzda bunlara ortam değişkenleri olarak erişin:

Python

import os

warehouse_id = os.getenv("WAREHOUSE_ID")
secret_value = os.getenv("SECRET_KEY")

JavaScript

const warehouseId = process.env.WAREHOUSE_ID;
const secretValue = process.env.SECRET_KEY;

valueFrom referans

Aşağıdaki tabloda, her kaynak türü için çözümlenebilen valueFrom değer gösterilmektedir:

Kaynak türü Çözümlenen değer Example
Databricks uygulaması Uygulama adı my-app
Genie Space Uzay Kimliği 01ef1fa2b3c45678
Lakebase Otomatik Ölçeklendirme veritabanı Uç nokta yolu projects/my-project/branches/main/endpoints/ep123
Lakebase Sağlanan veritabanı Host postgres-host.example.com
Lakeflow işi İş Kimliği 123456789
MLflow denemesi Deneme Kimliği 456789012
Model sunma uç noktası Uç nokta adı my-serving-endpoint
Gizli Şifresi çözülen gizli değer (gizli değer)
SQL ambarı Ambar Kimliği a1b2c3d4e5f67890
Unity Kataloğu bağlantısı Bağlantı adı my_connection
Unity Katalog tablosu Tablonun tam adı catalog.schema.table
Unity Kataloğu hacmi Birim yolu /Volumes/catalog/schema/volume
Kullanıcı tanımlı işlev İşlev tam adı catalog.schema.my_function
Vektör arama dizini Dizin tam adı catalog.schema.my_index

Sonraki Adımlar