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.
notebookutils.runtime kullanarak geçerli not defteri oturumuyla ilgili bağlam bilgilerini okuyun. Herhangi bir durumu değiştirmeden not defteri ismi, çalışma alanı ayrıntıları, varsayılan lakehouse yapılandırması, işlem hattı yürütme bayrakları ve başvuru yürütme hiyerarşisi gibi meta verileri alabilirsiniz.
Çalışma zamanı bağlamını şu amaçlarla kullanın:
- Dinamik yapılandırma – Yürütme ortamına göre not defteri davranışını uyarlayın.
- Koşullu mantık : Not defterinin bir işlem hattında mı yoksa etkileşimli olarak mı çalıştığına bağlı olarak dal mantığı.
- Hata ayıklama ve izleme – Günlük çıkışına bağlam özellikleri ekleyin ve ilgili yürütmeleri ilişkilendirin.
- Denetim izleri – Uyumluluk ve köken izleme için yürütme meta verilerini yakalayın.
Uyarı
Çalışma zamanı bağlamı Python, PySpark, Scala ve R not defterlerinde kullanılabilir. Bağlam salt okunurdur; notebookutils.runtime.context tarafından döndürülen özellikleri değiştiremezsiniz. Bazı özellikler yalnızca başvuru çalıştırmaları veya işlem hattı yürütmeleri gibi belirli bağlamlarda doldurulur ve aksi takdirde "null" veya boş değerler döndürebilir.
Oturum bağlamı görüntüleme
notebookutils.runtime.context kullanarak geçerli oturumun not defteri adı, varsayılan lakehouse, çalışma alanı bilgileri ve oturumun işlem hattında çalışıp çalışmadığı gibi bağlam bilgilerini görüntüleyin.
Aşağıdaki tabloda kullanılabilir özellikler açıklanmaktadır.
| Mülkiyet | Türü | Açıklama | Availability |
|---|---|---|---|
currentNotebookName |
Dize | Geçerli not defterinin adı. | Tüm bağlamlar |
currentNotebookId |
Dize | Geçerli not defterinin benzersiz kimliği. | Tüm bağlamlar |
currentWorkspaceName |
Dize | Geçerli çalışma alanının adı. | Tüm bağlamlar |
currentWorkspaceId |
Dize | Geçerli çalışma alanının kimliği. | Tüm bağlamlar |
defaultLakehouseName |
Dize | Tanımlıysa, varsayılan lakehouse'un görünen adı. | Varsayılan lakehouse eklendiğinde |
defaultLakehouseId |
Dize | Varsayılan lakehouse'un kimliği, tanımlanmışsa. | Varsayılan lakehouse eklendiğinde |
defaultLakehouseWorkspaceName |
Dize | Tanımlanmışsa, varsayılan lakehouse'un çalışma alanı adı. | Varsayılan lakehouse eklendiğinde |
defaultLakehouseWorkspaceId |
Dize | Varsayılan lakehouse'un çalışma alanı kimliği, tanımlanmışsa. | Varsayılan lakehouse eklendiğinde |
currentRunId |
Dize | Referans çalıştırmasında mevcut çalıştırma kimliği. | Yalnızca referans çalıştırmalar |
parentRunId |
Dize | İç içe geçmiş koşumları olan bir başvuru koşumunda, bu kimlik ana koşum kimliğidir. | Yalnızca iç içe başvuru çalıştırmaları |
rootRunId |
Dize | İç içe çalıştırmalara sahip bir başvuru çalıştırmasında, bu kimlik kök çalıştırma kimliğidir. | Yalnızca iç içe başvuru çalıştırmaları |
isForPipeline |
Boolean | Çalışmanın bir pipeline için yapılıp yapılmadığı. | Tüm bağlamlar |
isForInteractive |
Boolean | Çalıştırmanın etkileşimli bir oturum olup olmadığını belirleyin. | Tüm bağlamlar |
isReferenceRun |
Boolean | Geçerli çalıştırmanın bir referans çalıştırması olup olmadığını. | Tüm bağlamlar |
referenceTreePath |
Dize | İç içe başvurunun ağaç yapısı, yalnızca izleme L2 sayfasındaki anlık görüntü hiyerarşisi için kullanılır. | Yalnızca iç içe başvuru çalıştırmaları |
rootNotebookId |
Dize | Referans çalıştırmasında kök not defterinin kimliği. | Yalnızca referans çalıştırmalar |
rootNotebookName |
Dize | Başvuru çalıştırmasında kök not defterinin adı. | Yalnızca referans çalıştırmalar |
rootWorkspaceId |
Dize | Referans çalıştırmasındaki kök not defterinin çalışma alanı kimliği. | Yalnızca referans çalıştırmalar |
rootWorkspaceName |
Dize | Referans çalıştırmasındaki kök defterin çalışma alanı adı. | Yalnızca referans çalıştırmalar |
activityId |
Dize | Geçerli etkinliğin Livy iş kimliği. | Tüm bağlamlar |
hcReplId |
Dize | Yüksek Eşzamanlılık Modunda REPL Kimliği. | Yalnızca yüksek eşzamanlılık modu |
clusterId |
Dize | Synapse Spark kümesinin kimliği. | Tüm bağlamlar |
poolName |
Dize | Kullanılan Spark havuzunun adı. | Tüm bağlamlar |
environmentId |
Dize | İşin çalıştığı ortam kimliği. | Tüm bağlamlar |
environmentWorkspaceId |
Dize | Ortamın çalışma alanı kimliği. | Tüm bağlamlar |
userId |
Dize | Geçerli kullanıcının kullanıcı kimliği. | Tüm bağlamlar |
userName |
Dize | Geçerli kullanıcının kullanıcı adı. | Tüm bağlamlar |
currentKernel |
Dize | Geçerli not defteri çekirdeğinin adı. | Yalnızca Python Notebook |
productType |
Dize | Ürün türü tanımlayıcısı (örneğin, Fabric). |
Tüm bağlamlar |
Kullanım örnekleri
Temel bağlam bilgilerine erişme
Birden çok özelliği okumanız gerektiğinde bağlam nesnesini önbelleğe alın.
context = notebookutils.runtime.context
print(f"Notebook: {context['currentNotebookName']}")
print(f"Workspace: {context['currentWorkspaceName']}")
print(f"Lakehouse: {context['defaultLakehouseName'] or 'None'}")
İşlem hattını ve etkileşimli yürütmeyi denetleme
Yürütme moduna bağlı olarak mantığı dallara ayırmak için isForPipeline bayrağını kullanın. Örneğin, işlem hattı çalıştırmalarında daha katı hata işleme uygulayabilirsiniz.
context = notebookutils.runtime.context
if context['isForPipeline']:
print("Pipeline mode: Strict error handling")
error_handling = "strict"
max_retries = 3
elif context['isReferenceRun']:
print("Running as a referenced notebook")
error_handling = "strict"
max_retries = 2
else:
print("Interactive mode: Lenient error handling")
error_handling = "lenient"
max_retries = 1
Tavsiye
Farklı yürütme bağlamları için üç yönlü dallama uygulamak amacıyla isForPipeline ve isReferenceRun öğelerini birlikte kullanın. Bu örüntü, yeniden deneme sayılarını, günlüğe kaydetme ayrıntı düzeyini ve hata işleme stratejilerini ayarlamanıza olanak tanır. Üretim iş yükleri için, boru hattı ve referans çalıştırmaları genellikle etkileşimli oturumlara kıyasla daha katı hata işleme gerektirir.
Başvuru çalıştırma hiyerarşisini inceleyin
Bir notebook iç içe referans çalıştırmasının parçası olarak çalıştırıldığında, geçerli çalıştırmadan köke kadar hiyerarşiyi baştan sona izleyebilirsiniz.
context = notebookutils.runtime.context
if context['isReferenceRun']:
print("Reference Run Context:")
print(f" Current Run ID: {context['currentRunId']}")
print(f" Parent Run ID: {context['parentRunId']}")
print(f" Root Run ID: {context['rootRunId']}")
print(f" Root Notebook: {context['rootNotebookName']}")
else:
print("Not a reference run")
Günlük kayıtlarına bağlam ekle
Daha kolay hata ayıklama ve izleme için günlük iletilerini yürütme bağlamıyla zenginleştirin: