Hesap politikası referansı

Not

Bu sayfada, ilke tanımlarının JSON örnekleri kullanılır. JSON kullanarak bir ilke tanımlayabilir veya açılan menüleri ve diğer kullanıcı arabirimi öğelerini kullanarak ilke tanımlarını yapılandırmak için işlem ilkesi kullanıcı arabirimini kullanabilirsiniz.

Bu sayfa, kullanılabilir ilke özniteliklerinin ve sınırlama türlerinin listesi de dahil olmak üzere işlem ilkesi tanımları için bir başvurudur. Yaygın kullanım örnekleri için başvurabileceğiniz örnek ilkeler de vardır.

İlke tanımları nelerdir?

İlke tanımları, JSON ile ifade edilen tek tek ilke kurallarıdır.

Tanım, Kümeler API'ile denetlenen özniteliklerden herhangi birine bir kural ekleyebilir. Örneğin, bu tanımlar varsayılan bir otomatik belirleme süresi ayarlar, kullanıcıların havuz kullanmasını yasaklar ve Photon kullanımını zorlar:

{
  "autotermination_minutes": {
    "type": "unlimited",
    "defaultValue": 4320,
    "isOptional": true
  },
  "instance_pool_id": {
    "type": "forbidden",
    "hidden": true
  },
  "runtime_engine": {
    "type": "fixed",
    "value": "PHOTON",
    "hidden": true
  }
}

Öznitelik başına yalnızca bir sınırlama olabilir. Özniteliğin yolu API öznitelik adını yansıtır. İç içe öznitelikler için yol, iç içe öznitelik adlarını noktalar kullanarak birleştirir. İlke tanımında tanımlanmayan öznitelikler sınırlı değildir.

Kullanıcı arabirimi öğelerini kullanarak ilke tanımlarını yapılandırma

İlke formu, açılan menüleri ve diğer kullanıcı arabirimi öğelerini kullanarak ilke tanımlarını yapılandırmanıza olanak tanır. Bu, yöneticilerin ilke söz dizimini öğrenmek veya başvurmak zorunda kalmadan ilke yazabileceği anlamına gelir.

Form, tam ilke tanımının doğrudan JSON olarak düzenlenmesini de destekler. JSON'ı düzenlemek için:

  • JSON düzenleyicisini açmak için Tanım bölümünün Gelişmiş seçenekler bölümündeki Tanımı JSON olarak düzenle düğmesine tıklayın.
  • JSON tanımını görüntülemek için JSON sekmesine tıklayın. Bu sekmeden, düzenleyiciyi açmak için Tanımı JSON olarak düzenle'ye de tıklayabilirsiniz.

Ayrıca, Gelişmiş seçenekler'in altındaki Özel JSON alanına tek tek JSON kuralları eklenebilir.

Yeni hesaplama ilkesi formu

Yeni politika formunun kullanılmasıyla bilinen sınırlamalar

İlke yeni işlem ilkesi formu tarafından desteklenmiyorsa, uyumsuz tanımlar Gelişmiş seçenekler bölümündeki özel JSON alanında görünür. Aşağıdaki alanlar için geçerli ilkelerin yalnızca bir alt kümesi desteklenir:

  • workload_type: İlke hem workload_type.clients.notebooks ile workload_type.clients.jobs tanımlamalıdır. Bu kuralların her biri ya true ya da false ile düzeltilmelidir.
  • dbus_per_hour: Yalnızca maxValue belirten ve minValue belirtmeyen aralık ilkeleri desteklenir.
  • ssh_public_keys: Yalnızca sabit ilkeler desteklenir. Politikalar ssh_public_keys hiçbir dizini atlamamalıdır. Örneğin, ssh_public_keys.0, ssh_public_keys.1, ssh_public_keys.2 geçerli, ancak ssh_public_keys.0, ssh_public_keys.2ssh_public_keys.3geçerli değil.
  • cluster_log_conf: İzin cluster_log_conf.path listesi veya bir engellenenler listesi olamaz.
  • init_scripts: Dizine alınan ilkeler (yani, init_scripts.0.volumes.destination) düzeltilmelidir. Yıldız karakter politikası (diğer bir ifadeyle init_scripts.*.volumes.destination) yasaklanmalıdır. Dizine alınmış politikalar hiçbir dizini atlamamalıdır.

Desteklenen Öznitelikler

Politikalar, Kümeleri APIile denetlenen tüm öznitelikleri destekler. Özniteliklere yerleştirebileceğiniz kısıtlamaların türü, kullanıcı arabirimi öğelerine ve türlerine göre ayara göre farklılık gösterebilir. İşlem izinlerini tanımlamak için ilkeleri kullanamazsınız.

İlkeleri, saat başına maksimum DBU'ları ve küme türünü ayarlamak için de kullanabilirsiniz. bkz. Sanal öznitelik yolları.

Aşağıdaki tabloda desteklenen ilke öznitelik yolları listelenmektedir:

Öznitelik yolu Türk Açıklama
autoscale.max_workers isteğe bağlı numara Gizlendiğinde, kullanıcı arabiriminden en fazla çalışan numarası alanını kaldırır.
autoscale.min_workers isteğe bağlı numara Gizlendiğinde, kullanıcı arabiriminden en düşük çalışan numarası alanını kaldırır.
autotermination_minutes sayı 0 değeri, otomatik sonlandırma olmadığını temsil eder. Gizlendiğinde, kullanıcı arabiriminden otomatik sonlandırma onay kutusunu ve değer girişini kaldırır.
azure_attributes.availability String İşlem kullanımının isteğe bağlı veya spot örnekleri (SPOT_AZURE, ON_DEMAND_AZUREveya SPOT_WITH_FALLBACK_AZURE) kullanıp kullanmadığını denetler.
azure_attributes.first_on_demand sayı Sürücü düğümünden başlayarak, kaç küme düğümünün isteğe bağlı örnekleri kullandığını denetler. Örneğin, değeri 1 sürücü düğümünü isteğe bağlı olarak ayarlar. değeri 2 , sürücü düğümünü ve bir çalışan düğümünü isteğe bağlı olarak ayarlar.
azure_attributes.spot_bid_max_price sayı Azure spot örnekleri için en yüksek fiyatı denetler.
cluster_log_conf.path String Günlük dosyalarının hedef URL'si.
cluster_log_conf.type String Kayıt hedef türü. DBFS ve VOLUMES yalnızca kabul edilebilir değerlerdir.
cluster_name String Küme adı.
custom_tags.* String Etiket adını ekleyerek belirli etiket değerlerini denetleyin, örneğin: custom_tags.<mytag>.
data_security_mode String Kümenin erişim modunu ayarlar. Unity Kataloğu için SINGLE_USER veya USER_ISOLATION (kullanıcı arabiriminde Standarterişim modu) gerekir. NONE değeri, hiçbir güvenlik özelliğinin etkinleştirilmemiş olduğu anlamına gelir.
docker_image.basic_auth.password String Databricks Container Services görüntü dosyası temel kimlik doğrulaması için parola.
docker_image.basic_auth.username String Databricks Container Services imajı için temel kimlik doğrulamada kullanılan kullanıcı adı.
docker_image.url String Databricks Container Services görüntü URL'sini denetler. Gizlendiğinde, kullanıcı arabiriminden Databricks Container Services bölümünü kaldırır.
driver_node_type_id isteğe bağlı metin Gizlendiğinde, kullanıcı arabiriminden sürücü düğümü türü seçimini kaldırır.
driver_node_type_flexibility.alternate_node_type_ids String Sürücü düğümü için alternatif düğüm türlerini belirtir. Yalnızca sabit ilkeler desteklenir. Bkz . Esnek düğüm türleri.
enable_local_disk_encryption Boolean Kümeye yerel olarak bağlı disklerin şifrelenmesini etkinleştirmek için true, devre dışı bırakmak için ise false olarak ayarlayın (API aracılığıyla belirtildiği gibi).
init_scripts.*.workspace.destination init_scripts.*.volumes.destination init_scripts.*.abfss.destination init_scripts.*.file.destination String *, öznitelik dizisindeki init betiğinin dizinini belirtir. Bkz. dizi öznitelikleri için yazma ilkeleri .
instance_pool_id String driver_instance_pool_id tanımlanmışsa çalışan düğümlerde kullanılan havuzu, aksi takdirde tüm küme düğümlerinde kullanılan havuzu denetler. Çalışan düğümleri için havuzlar kullanıyorsanız, sürücü düğümü için havuzları da kullanmanız gerekir. Gizlendiğinde, kullanıcı arabiriminden havuz seçimini kaldırır.
driver_instance_pool_id String Belirtilirse, sürücü düğümü için çalışan düğümlerinden farklı bir havuz yapılandırılır. Belirtilmezse, instance_pool_iddevralır. Çalışan düğümleri için havuzlar kullanıyorsanız, sürücü düğümü için havuzları da kullanmanız gerekir. Gizlendiğinde, kullanıcı arabiriminden sürücü havuzu seçimini kaldırır.
is_single_node Boolean true olarak ayarlandığında, işlem kümesinin tek düğüm olması gerekir. Bu öznitelik yalnızca kullanıcı basit formu kullandığında desteklenir.
node_type_id String Gizlendiğinde, kullanıcı arayüzünden çalışan düğüm tipi seçimi kaldırılır.
worker_node_type_flexibility.alternate_node_type_ids String Çalışan düğümleri için alternatif düğüm türlerini belirtir. Yalnızca sabit ilkeler desteklenir. Bkz . Esnek düğüm türleri.
num_workers isteğe bağlı numara Gizlendiğinde, kullanıcı arabiriminden çalışan numarası belirtimini kaldırır.
runtime_engine String Kümenin Photon kullanıp kullanmadığını belirler. Olası değerler PHOTON veya STANDARD.
single_user_name String İşlem kaynağına hangi kullanıcıların veya grupların atanabileceğini denetler.
spark_conf.* isteğe bağlı metin Yapılandırma anahtarı adını ekleyerek belirli yapılandırma değerlerini denetler, örneğin: spark_conf.spark.executor.memory.
spark_env_vars.* isteğe bağlı metin Ortam değişkenini ekleyerek belirli Spark ortam değişkeni değerlerini denetler, örneğin: spark_env_vars.<environment variable name>.
spark_version String API (Databricks Runtime) aracılığıyla belirtilen Spark görüntü sürümü adı. Databricks Runtime'ı dinamik olarak seçen özel ilke değerlerini de kullanabilirsiniz. Bkz. Databricks Runtime seçimi için özel politika değerleri.
use_ml_runtime Boolean Databricks Runtime'ın ML sürümünün kullanılması gerekip gerekmediğini denetler. Bu öznitelik yalnızca kullanıcı basit formu kullandığında desteklenir.
workload_type.clients.jobs Boolean İşlem kaynağının işler için kullanılıp kullanılamayacağını tanımlar. Bakınız Hesaplamanın görevlerle kullanılmasını önleme.
workload_type.clients.notebooks Boolean İşlem kaynağının not defterleriyle birlikte kullanılıp kullanılamayacağını tanımlar. Bakınız Hesaplamanın görevlerle kullanılmasını önleme.

Sanal öznitelik yolları

Bu tablo, ilkeler tarafından desteklenen iki ek yapay öznitelik içerir. Yeni ilke formunu kullanırsanız, bu öznitelikler Gelişmiş seçenekler bölümünde ayarlanabilir.

Öznitelik yolu Türk Açıklama
dbus_per_hour sayı Bir kaynağın sürücü düğümü de dahil olmak üzere saatlik olarak kullanabileceği maksimum DBU sayısını temsil eden hesaplanan öznitelik. Bu ölçüm, maliyeti tek tek işlem düzeyinde denetlemenin doğrudan bir yoludur. Aralık sınırlamasıyla kullanın.
cluster_type String Oluşturulabilecek küme türünü temsil eder:
  • Azure Databricks için all-purpose çok amaçlı hesaplama kapasitesi
  • job iş zamanlayıcı tarafından oluşturulan iş hesaplaması için
  • dlt Lakeflow Spark Bildirimli İşlem Hatları için oluşturulan işlem için

İlkeden belirtilen işlem türlerinin oluşturulmasına izin verin veya engelleyin. all-purpose değerine izin verilmiyorsa, ilke tüm amaçlar için hesaplama oluşturma kullanıcı arabiriminde gösterilmez. job değerine izin verilmiyorsa, politika iş oluşturma hesaplama kullanıcı arabiriminde gösterilmez.

Esnek düğüm türleri

Esnek düğüm türleri öznitelikleri, birincil düğüm türü kullanılamıyorsa işlem kaynağının kullanabileceği alternatif düğüm türlerini belirtmenize olanak sağlar. Bu özniteliklerin özel ilke gereksinimleri vardır:

  • Yalnızca sabit ilkeler desteklenir. Diğer tüm ilke türlerine izin verilmez ve ilke oluşturma zamanında reddedilir.
  • İlkede boş bir dize, alternatif düğüm türlerinin boş bir listesine eşlenir ve bu durum esnek düğüm türlerini etkin bir şekilde devre dışı bırakır.

Belirli bir düğüm türleri listesine düzeltme getirilmesi

Dize dizisi kullanan karşılık gelen Kümeler API'sinin alanlarından farklı olarak, işlem ilkesi öznitelikleri düğüm türleri dizisini virgülle ayrılmış liste olarak kodlayan tek bir dize değeri kullanır. Örneğin:

{
  "worker_node_type_flexibility.alternate_node_type_ids": {
    "type": "fixed",
    "value": "nodeA,nodeB"
  }
}

Atanmış ilkeye sahip bir işlem kaynağı oluşturmak için Kümeler API'sini kullanırsanız, Databricks, worker_node_type_flexibility ve driver_node_type_flexibility alanlarını ayarlamamanızı önerir. Bu alanları ayarlarsanız, dizinin düğüm türleri ve sırası ilkenin virgülle ayrılmış listesiyle tam olarak eşleşmelidir, aksi takdirde işlem oluşturulamaz. Örneğin, yukarıdaki ilke tanımı şu şekilde ayarlanır:

"worker_node_type_flexibility": {
  "alternate_node_type_ids": ["nodeA", "nodeB"]
}

Esnek düğüm türlerini devre dışı bırakma

Esnek düğüm türlerini devre dışı bırakmak için değeri boş bir dize olarak ayarlayın. Örneğin:

{
  "worker_node_type_flexibility.alternate_node_type_ids": {
    "type": "fixed",
    "value": ""
  }
}

Databricks Runtime seçimi için özel ilke değerleri

spark_version özniteliği, mevcut desteklenen Databricks Runtime sürümleri kümesine göre, dinamik olarak bir Databricks Runtime sürümüne eşleşen özel değerleri destekler.

spark_version özniteliğinde aşağıdaki değerler kullanılabilir:

  • auto:latest: En son GA Databricks Runtime sürümüne karşılık gelir.
  • auto:latest-ml: Databricks Runtime ML'nin son sürümüne karşılık gelir.
  • auto:latest-lts: En son uzun vadeli destek (LTS) Databricks Runtime sürümüne haritalar.
  • auto:latest-lts-ml: En son LTS Databricks Runtime ML sürümüyle eşleşir.
  • auto:prev-major: İkinci en son GA Databricks Runtime sürümüne karşılık gelir. Örneğin, auto:latest 14.2 ise auto:prev-major 13.3 olur.
  • auto:prev-major-ml: Bir önceki GA Databricks Runtime ML sürümüne karşılık gelir. Örneğin, auto:latest 14.2 ise auto:prev-major 13.3 olur.
  • auto:prev-lts: İkinci en güncel LTS Databricks Runtime sürümüne karşılık gelir. Örneğin, auto:latest-lts 13.3 ise auto:prev-lts 12.2 olur.
  • auto:prev-lts-ml: İkinci en son LTS Databricks Runtime ML sürümüne karşılık gelir. Örneğin, auto:latest-lts 13.3 ise auto:prev-lts 12.2 olur.

Not

Bu değerlerin kullanılması, yeni bir çalışma zamanı sürümü yayımlandığında işlem otomatik güncelleştirmesini yapmaz. Bir kullanıcının, Databricks Runtime sürümünü değiştirmek için hesaplama ortamını açıkça düzenlemesi gerekir.

Desteklenen ilke türleri

Bu bölüm, kullanılabilir ilke türlerinin her biri için bir başvuru içerir. İki ilke türü kategorisi vardır: sabit ilkeler ve sınırlama ilkeleri.

Bir öznitelikte kullanıcı yapılandırmasını engelleyen ilkeler düzeltildi. İki tür sabit ilke şunlardır:

İlkeleri sınırlamak, kullanıcının öznitelik yapılandırma seçeneklerini sınırlar. İlkeleri sınırlamak, varsayılan değerleri ayarlamanıza ve öznitelikleri isteğe bağlı hale getirmenize de olanak sağlar. Bkz. ek sınırlayıcı ilke alanları.

İlkeleri sınırlama seçenekleriniz şunlardır:

Sabit ilke

Sabit ilkeler özniteliği belirtilen değerle sınırlar. Sayısal ve boole dışındaki öznitelik değerleri için değerin bir dizeyle temsil edilmesi veya dönüştürülebilir olması gerekir.

Sabit ilkelerle, hidden alanını trueolarak ayarlayarak özniteliği kullanıcı arabiriminden gizleyebilirsiniz.

interface FixedPolicy {
    type: "fixed";
    value: string | number | boolean;
    hidden?: boolean;
}

Bu örnek ilke Databricks Runtime sürümünü düzeltir ve alanı kullanıcının kullanıcı arabiriminden gizler:

{
  "spark_version": { "type": "fixed", "value": "auto:latest-lts", "hidden": true }
}

Yasak ilkesi

Yasak ilke, kullanıcıların bir özniteliği yapılandırmasını engeller. Yasak ilkeler yalnızca isteğe bağlı özniteliklerle uyumludur.

interface ForbiddenPolicy {
    type: "forbidden";
}

Bu ilke, işçi düğümleri için hesaplama kaynaklarına havuz eklemeyi yasaklar. İlkeyi driver_instance_pool_id devraldığından, sürücü düğümü için havuzlar da yasaktır.

{
  "instance_pool_id": { "type": "forbidden" }
}

İzin Verilenler Listesi ilkesi

İzin verilenler listesi ilkesi, bir özniteliği yapılandırırken kullanıcının aralarından seçim yapabileceğiniz değerlerin listesini belirtir.

interface AllowlistPolicy {
  type: "allowlist";
  values: (string | number | boolean)[];
  defaultValue?: string | number | boolean;
  isOptional?: boolean;
}

Bu izin verilenler listesi örneği, kullanıcının iki Databricks Runtime sürümü arasında seçim yapmasını sağlar:

{
  "spark_version": { "type": "allowlist", "values": ["13.3.x-scala2.12", "12.2.x-scala2.12"] }
}

Kullanıcıları izin verilenler listesinden bir değer seçmeye zorlama

İzin verilenler listesi ilkesi için varsayılan bir değer ayarlamazsanız, kullanıcı arabirimi varsayılan olarak izin verilenler listesindeki ilk değere ayarlanır. Kullanıcıyı bir değeri el ile seçmeye zorlamak için varsayılan değeri geçerli olmayan bir değer olarak ayarlayın. Örneğin: defaultValue?: "SELECT A VALUE";.

Yasaklı Liste ilkesi

Engelleyici listesi ilkesi, izin verilmeyen değerleri listeler. Değerlerin tam eşleşmeler olması gerektiğinden, öznitelik değerin temsili konusunda daha yumuşak olduğunda (örneğin, baştaki ve sondaki boşluklara izin verme) bu ilke beklendiği gibi çalışmayabilir.

interface BlocklistPolicy {
  type: "blocklist";
  values: (string | number | boolean)[];
  defaultValue?: string | number | boolean;
  isOptional?: boolean;
}

Bu örnek kullanıcının Databricks Runtime olarak 7.3.x-scala2.12 seçmesini engeller.

{
  "spark_version": { "type": "blocklist", "values": ["7.3.x-scala2.12"] }
}

Regex politikası

Bir regex ilkesi, kullanılabilir değerleri regex ile eşleşen değerlerle sınırlar. Güvenlik için, regex'inizin metin dizisinin başına ve sonuna bağlı olduğundan emin olun.

interface RegexPolicy {
  type: "regex";
  pattern: string;
  defaultValue?: string | number | boolean;
  isOptional?: boolean;
}

Bu örnek, bir kullanıcının seçebileceği Databricks Runtime sürümlerini sınırlar:

{
  "spark_version": { "type": "regex", "pattern": "13\\.[3456].*" }
}

Aralık politikası

Aralık ilkesi, minValue ve maxValue alanlarını kullanarak değeri belirtilen aralıkla sınırlar. Değer ondalık bir sayı olmalıdır. Sayısal sınırlar çift kayan nokta değeri olarak gösterilebilir olmalıdır. Belirli bir sınırın eksik olduğunu belirtmek için minValue veya maxValueatlayabilirsiniz.

interface RangePolicy {
  type: "range";
  minValue?: number;
  maxValue?: number;
  defaultValue?: string | number | boolean;
  isOptional?: boolean;
}

Bu örnek, en fazla çalışan miktarını 10 ile sınırlar:

{
  "num_workers": { "type": "range", "maxValue": 10 }
}

sınırsız ilke

Sınırsız ilke, öznitelikleri gerekli hale getirmek veya kullanıcı arabiriminde varsayılan değeri ayarlamak için kullanılır.

interface UnlimitedPolicy {
  type: "unlimited";
  defaultValue?: string | number | boolean;
  isOptional?: boolean;
}

Bu örnek, COST_BUCKET etiketini hesaplamaya ekler:

{
  "custom_tags.COST_BUCKET": { "type": "unlimited" }
}

Spark yapılandırma değişkeni için varsayılan bir değer ayarlamak ve aynı zamanda bu değişkenin atlanmasına (kaldırılmasına) izin vermek için:

{
  "spark_conf.spark.my.conf": { "type": "unlimited", "isOptional": true, "defaultValue": "my_value" }
}

Ek sınırlama ilkesi alanları

İlke türlerini sınırlamak için iki ek alan belirtebilirsiniz:

  • defaultValue - hesaplama işlemi oluşturma kullanıcı arabiriminde otomatik olarak doldurulan değer.
  • isOptional - Öznitelik üzerindeki sınırlama ilkesi bunu otomatik olarak gerekli kılar. Özniteliği isteğe bağlı hale getirmek için isOptional alanını trueolarak ayarlayın.

Not

Varsayılan değerler , Kümeler API'siyle oluşturulan işlem için otomatik olarak uygulanmaz. API kullanarak varsayılan değerleri uygulamak için işlem tanımına apply_policy_default_values parametresini ekleyin ve trueolarak ayarlayın.

Bu örnek ilke, çalışan düğümleri için havuza varsayılan değer olarak id1'ı belirtir, ancak bunu isteğe bağlı hale getirir. Hesaplama oluştururken farklı bir havuz seçebilir veya havuz kullanmamayı tercih edebilirsiniz. Eğer driver_instance_pool_id ilkede tanımlanmamışsa veya işlem oluşturulurken tanımlanmamışsa, çalışan düğümleri ve sürücü düğümü için aynı havuz kullanılır.

{
  "instance_pool_id": { "type": "unlimited", "isOptional": true, "defaultValue": "id1" }
}

dizi öznitelikleri için yazma ilkeleri

Dizi öznitelikleri için ilkeleri iki şekilde belirtebilirsiniz:

  • Tüm dizi öğeleri için genel sınırlamalar. Bu sınırlamalar, ilke yolundaki * joker karakter simgesini kullanır.
  • Belirli bir indisteki bir dizi elemanı için belirli kısıtlamalar. Bu sınırlamalar, yol içinde bir sayı kullanır.

Not

Esnek düğüm türleri öznitelikleri (worker_node_type_flexibility.alternate_node_type_ids ve driver_node_type_flexibility.alternate_node_type_ids) Kümeler API'sindeki dizi türündeki alanlardır, ancak burada belgelenen joker/dizinli yol desenini izlemez. Bu öznitelikler, tam listeyi virgülle ayrılmış dize olarak belirten tek bir ilke kuralı gerektirir. Ayrıntılar için bkz . Esnek düğüm türleri .

Örneğin, init_scriptsdizi özniteliği için, genel yollar init_scripts.* ile başlar ve init_scripts.<n>ile belirli yollar başlar; burada <n> dizideki bir tamsayı dizinidir (0 ile başlar). Genel sınırlamaları ve belirli sınırlamaları birleştirebilirsiniz; bu durumda, genel sınırlama belirli bir sınırlaması olmayan her dizi öğesi için geçerlidir. Her durumda yalnızca bir ilke sınırlaması uygulanır.

Aşağıdaki bölümlerde dizi özniteliklerini kullanan yaygın örneklerin örnekleri gösterilmektedir.

Eklemeye özgü girdiler gerektir

Sırayı belirtmeden belirli değerlere ihtiyacınız olamaz. Örneğin:

{
  "init_scripts.0.volumes.destination": {
    "type": "fixed",
    "value": "<required-script-1>"
  },
  "init_scripts.1.volumes.destination": {
    "type": "fixed",
    "value": "<required-script-2>"
  }
}

Listenin tamamında sabit bir değer iste

{
  "init_scripts.0.volumes.destination": {
    "type": "fixed",
    "value": "<required-script-1>"
  },
  "init_scripts.*.volumes.destination": {
    "type": "forbidden"
  }
}

Kullanımdan tamamen izin verme

{
  "init_scripts.*.volumes.destination": {
    "type": "forbidden"
  }
}

Belirli bir kısıtlamayı izleyen girişlere izin ver

{
  "init_scripts.*.volumes.destination": {
    "type": "regex",
    "pattern": ".*<required-content>.*"
  }
}

Belirli bir başlatma betikleri kümesini düzeltme

init_scripts yol olması durumunda dizi, kullanım örneğine bağlı olarak tüm olası değişkenlerin işlenmesi gerekebilecek birden çok yapıdan birini içerebilir. Örneğin, belirli bir başlatma betikleri kümesi gerektirmek ve diğer sürümün herhangi bir varyantına izin vermemek için aşağıdaki deseni kullanabilirsiniz:

{
  "init_scripts.0.volumes.destination": {
    "type": "fixed",
    "value": "<volume-paths>"
  },
  "init_scripts.1.volumes.destination": {
    "type": "fixed",
    "value": "<volume-paths>"
  },
  "init_scripts.*.workspace.destination": {
    "type": "forbidden"
  },
  "init_scripts.*.abfss.destination": {
    "type": "forbidden"
  },
  "init_scripts.*.file.destination": {
    "type": "forbidden"
  }
}

İlke örnekleri

Bu bölüm, kendi ilkelerinizi oluşturmak için başvuru olarak kullanabileceğiniz ilke örneklerini içerir. Azure Databricks tarafından sağlanan ilke ailelerini de yaygın ilke kullanım örnekleri için şablon olarak kullanabilirsiniz.

Genel işlem ilkesi

Kullanıcılara yol göstermeyi ve bazı işlevleri kısıtlamayı, etiketlere ihtiyaç duymayı, örnek sayısı üst sınırını kısıtlamayı ve zaman aşımını zorlamayı amaçlayan genel amaçlı bir işlem ilkesi.

{
  "instance_pool_id": {
    "type": "forbidden",
    "hidden": true
  },
  "spark_version": {
    "type": "regex",
    "pattern": "12\\.[0-9]+\\.x-scala.*"
  },
  "node_type_id": {
    "type": "allowlist",
    "values": ["Standard_L4s", "Standard_L8s", "Standard_L16s"],
    "defaultValue": "Standard_L16s_v2"
  },
  "driver_node_type_id": {
    "type": "fixed",
    "value": "Standard_L16s_v2",
    "hidden": true
  },
  "autoscale.min_workers": {
    "type": "fixed",
    "value": 1,
    "hidden": true
  },
  "autoscale.max_workers": {
    "type": "range",
    "maxValue": 25,
    "defaultValue": 5
  },
  "autotermination_minutes": {
    "type": "fixed",
    "value": 30,
    "hidden": true
  },
  "custom_tags.team": {
    "type": "fixed",
    "value": "product"
  }
}

Lakeflow Spark Deklaratif İşlem Hatları hesaplamasında sınırları tanımlama

Not

Databricks, Lakeflow Spark Beyanımsal İşlem Hatları hesaplama işlemini yapılandırmak için ilkeler kullanırken, hem default hem de maintenance hesaplama için tek bir ilkenin uygulanmasını önerir.

Boru hattı hesaplaması için bir ilke yapılandırmak üzere, cluster_type alanı dlt olarak ayarlanmış bir ilke oluşturun. Aşağıdaki örnek, Lakeflow Spark Deklaratif İşlem Hatları hesaplaması için temel bir politika oluşturur.

{
  "cluster_type": {
    "type": "fixed",
    "value": "dlt"
  },
  "num_workers": {
    "type": "unlimited",
    "defaultValue": 3,
    "isOptional": true
  },
  "node_type_id": {
    "type": "unlimited",
    "isOptional": true
  },
  "spark_version": {
    "type": "unlimited",
    "hidden": true
  }
}

Basit orta ölçekli ilke

Kullanıcıların minimum yapılandırmayla orta ölçekli bir işlem oluşturmasına olanak tanır. Oluşturma zamanında gereken tek alan işlem adıdır; gerisi sabittir ve gizlenir.

{
  "instance_pool_id": {
    "type": "forbidden",
    "hidden": true
  },
  "spark_conf.spark.databricks.cluster.profile": {
    "type": "forbidden",
    "hidden": true
  },
  "autoscale.min_workers": {
    "type": "fixed",
    "value": 1,
    "hidden": true
  },
  "autoscale.max_workers": {
    "type": "fixed",
    "value": 10,
    "hidden": true
  },
  "autotermination_minutes": {
    "type": "fixed",
    "value": 60,
    "hidden": true
  },
  "node_type_id": {
    "type": "fixed",
    "value": "Standard_L8s_v2",
    "hidden": true
  },
  "driver_node_type_id": {
    "type": "fixed",
    "value": "Standard_L8s_v2",
    "hidden": true
  },
  "spark_version": {
    "type": "fixed",
    "value": "auto:latest-ml",
    "hidden": true
  },
  "custom_tags.team": {
    "type": "fixed",
    "value": "product"
  }
}

Sadece işe yönelik politika

Kullanıcıların işleri çalıştırmak için hesaplama görevleri oluşturmasına olanak tanır. Kullanıcılar bu ilkeyi kullanarak tüm amaçlı işlem oluşturamaz.

{
  "cluster_type": {
    "type": "fixed",
    "value": "job"
  },
  "dbus_per_hour": {
    "type": "range",
    "maxValue": 100
  },
  "instance_pool_id": {
    "type": "forbidden",
    "hidden": true
  },
  "num_workers": {
    "type": "range",
    "minValue": 1
  },
  "node_type_id": {
    "type": "regex",
    "pattern": "Standard_[DLS]*[1-6]{1,2}_v[2,3]"
  },
  "driver_node_type_id": {
    "type": "regex",
    "pattern": "Standard_[DLS]*[1-6]{1,2}_v[2,3]"
  },
  "spark_version": {
    "type": "unlimited",
    "defaultValue": "auto:latest-lts"
  },
  "custom_tags.team": {
    "type": "fixed",
    "value": "product"
  }
}

Dış meta veri deposu ilkesi

Kullanıcıların zaten ekli yönetici tanımlı bir meta veri deposuyla işlem oluşturmasına olanak tanır. Bu, kullanıcıların ek yapılandırma gerektirmeden kendi işlemlerini oluşturmasına olanak sağlamak için kullanışlıdır.

{
  "spark_conf.spark.hadoop.javax.jdo.option.ConnectionURL": {
    "type": "fixed",
    "value": "jdbc:sqlserver://<jdbc-url>"
  },
  "spark_conf.spark.hadoop.javax.jdo.option.ConnectionDriverName": {
    "type": "fixed",
    "value": "com.microsoft.sqlserver.jdbc.SQLServerDriver"
  },
  "spark_conf.spark.databricks.delta.preview.enabled": {
    "type": "fixed",
    "value": "true"
  },
  "spark_conf.spark.hadoop.javax.jdo.option.ConnectionUserName": {
    "type": "fixed",
    "value": "<metastore-user>"
  },
  "spark_conf.spark.hadoop.javax.jdo.option.ConnectionPassword": {
    "type": "fixed",
    "value": "<metastore-password>"
  }
}

Hesaplamanın işlerle kullanılmasını engelleme

Bu ilke, kullanıcıların görevleri çalıştırmak için bilgisayar sistemini kullanmasını engeller. Kullanıcılar yalnızca not defterleriyle hesaplama yapabilecek.

{
  "workload_type.clients.notebooks": {
    "type": "fixed",
    "value": true
  },
  "workload_type.clients.jobs": {
    "type": "fixed",
    "value": false
  }
}

Otomatik ölçeklendirme ilkesini kaldırma

Bu ilke otomatik ölçeklendirmeyi devre dışı bırakır ve kullanıcının belirli bir aralıktaki çalışan sayısını ayarlamasına olanak tanır.

{
  "num_workers": {
    "type": "range",
    "maxValue": 25,
    "minValue": 1,
    "defaultValue": 5
  }
}

Özel Etiket Zorlama

İlkeye işlem etiketi kuralı eklemek için custom_tags.<tag-name> özniteliğini kullanın.

Örneğin, bu politikayı kullanan herhangi bir kullanıcının işlemi başlatmak için COST_CENTER etiketini 9999, 9921 veya 9531 ile doldurması gerekir.

{ "custom_tags.COST_CENTER": { "type": "allowlist", "values": ["9999", "9921", "9531"] } }