Fabric için NotebookUtils değişken kütüphanesi araçları

Değişken kitaplıkları, not defteri kodunda sabit kodlama değerlerinden kaçınmanıza yardımcı olur. Kodu düzenlemek yerine, kitaplıktaki değerleri günceller ve çalışma anında geri yüklersiniz. Bu düzen, yapılandırmayı merkezileştirerek not defterlerini ekipler ve projeler arasında yeniden kullanmanıza yardımcı olur.

Aşağıdaki tabloda kullanılabilir değişken kitaplığı yöntemleri listelemektedir:

Yöntem Signature Açıklama
getLibrary getLibrary(variableLibraryName: String): VariableLibrary Değişken kitaplığı nesnesini alır. Döndürülen nesnede library.variableName değişkenlerine özellik olarak erişin. Dinamik erişim için getVariable('name') veya köşeli ayraç söz dizimini library['name'] kullanabilirsiniz.
get get(variableReference: String): Any biçimindeki $(/**/libraryName/variableName)başvuru yoluna göre tek bir değişken değeri alır. Ön /**/ ek gereklidir. Değer, değişken tanımına göre otomatik olarak yazılır.

Değişkenleri tanımlama

kullanmadan notebookutils.variableLibraryönce değişken kitaplığınızdaki değişkenleri tanımlayın. Fabric kullanıcı arayüzü aracılığıyla değişken kitaplıkları oluşturabilir ve yönetebilirsiniz.

Değişken kitaplığındaki değişkenler listesinin ekran görüntüsü.

Değişken kitaplığına erişim

Tüm kütüphaneyi bir nesne olarak almak ve daha sonra değişkenlere özellik olarak erişmek için getLibrary() kullanın. Dinamik erişime ihtiyacınız olduğunda getVariable('name') veya köşeli ayraç söz dizimini library['name'] kullanın.

samplevl = notebookutils.variableLibrary.getLibrary("sampleVL")

# Property access
samplevl.test_int
samplevl.test_str

# Method access (useful for dynamic variable names)
samplevl.getVariable("test_int")

# Bracket access
samplevl["test_int"]

Aşağıdaki örnekte, değişken kitaplık değerlerini kullanarak bir dosya yolunun dinamik olarak nasıl derlenmiş olduğu gösterilmektedir:

samplevl = notebookutils.variableLibrary.getLibrary("sampleVL")

file_path = f"abfss://{samplevl.Workspace_name}@onelake.dfs.fabric.microsoft.com/{samplevl.Lakehouse_name}.Lakehouse/Files/<FileName>.csv"
df = spark.read.format("csv").option("header","true").load(file_path)

display(df)

Referans ile tek bir değişkene erişim

get() Tek bir değişken değeri almak için başvuru deseniyle $(/**/libraryName/variableName) yöntemini kullanın. Değer, değişken tanımına göre otomatik olarak yazılır.

Önemli

"Referans modelinde /**/ ön ek gereklidir." Tam desen olmalıdır $(/**/libraryName/variableName); burada libraryName tam değişken kitaplığı öğe adıdır ve variableName bu kitaplıkta tanımlanan değişkendir. Adlar büyük/küçük harfe duyarlıdır.

notebookutils.variableLibrary.get("$(/**/samplevl/test_int)")
notebookutils.variableLibrary.get("$(/**/samplevl/test_str)")
notebookutils.variableLibrary.get("$(/**/samplevl/test_bool)")

Desteklenen değişken türleri

Değişken kitaplıkları aşağıdaki veri türlerini destekler. Değerler, bunları aldığınızda otomatik olarak yazılır; çoğu durumda bunları açıkça atamanız gerekmez.

Türü Açıklama Example
String Metin değerleri. "my_connection_string"
tamsayı Tamsayı numaraları. 42
Boolean Mantıksal doğru/yanlış. true
Sayı Ondalık sayılar. 3.14
Tarih Saat ISO 8601 biçiminde tarih ve saat değerleri. "2025-01-15T08:30:00Z"
Guid Küresel olarak benzersiz tanımlayıcılar. "123e4567-e89b-12d3-a456-426614174000"
Öğe referansı Desteklenen Fabric öğelerine başvurular. "workspace/item"

Ortama özgü yapılandırma

Değişken kitaplıkları, aynı değişkenler için geliştirme, test ve üretim gibi alternatif değer kümeleri tanımlamanızı sağlayan değer kümelerini destekler. Her çalışma alanında bir kerede bir etkin değer kümesi vardır ve dağıtım işlem hatları aşama başına uygun değer kümesini otomatik olarak etkinleştirebilir.

Bu düzen, not defterlerini ortamlar arasında yükseltirken kod değişikliği gereksinimini ortadan kaldırır:

# These values change based on the active value set (dev/test/prod)
app_config = notebookutils.variableLibrary.getLibrary("app_config")

api_endpoint = app_config.api_endpoint
batch_size = app_config.batch_size
debug_mode = app_config.debug_enabled

print(f"API Endpoint: {api_endpoint}")
print(f"Batch Size: {batch_size}")
print(f"Debug Mode: {debug_mode}")

if debug_mode:
    print("Running in debug mode")

Değerlendirmeler

Şu noktaları göz önünde bulundurun:

  • notebookutils.variableLibrary API yalnızca aynı çalışma alanı içindeki değişken kitaplıklarına erişimi destekler. Çalışma alanları arası erişim desteklenmez.
  • Başvuru çalıştırması sırasında alt not defterlerindeki çalışma alanları arasında değişken kitaplıkları alamazsınız.
  • Not defteri kodu, değişken kitaplığının etkin değer kümesinde tanımlanan değişkenlere başvurur. Farklı değerler kullanmak için çalışma alanında farklı bir değer kümesini etkinleştirin veya dağıtım işlem hatlarını kullanarak her ortam için değer kümelerini yönetin.
  • Service Principal (SPN) şu anda değişken kitaplık yardımcı programları için desteklenmemektedir.
  • Değişken kitaplıklar not defterlerinden salt okunur durumdadır. Fabric kullanıcı arabirimi veya API'leri aracılığıyla değişiklik yapın.
  • Her kitaplık en fazla 10.000 hücre ve 1 MB boyut sınırı ile en fazla 1.000 değişken ve 1.000 değer kümesi destekler.
  • Değişken ve kitaplık adları büyük/küçük harfe duyarlıdır. Değişkenlere başvururken tam ad eşleştirmeyi kullanın.

Tavsiye

Her aşama (geliştirme, test, üretim) için uygun değer kümesini otomatik olarak etkinleştirmek için dağıtım işlem hatlarını kullanın. Bu, not defterlerini ortamlar arasında tanıtırken değer kümelerini el ile değiştirme veya kodu değiştirme gereksinimini ortadan kaldırır.