Share via


İşlem örneğini bir betikle özelleştirme

Sağlama zamanında bir işlem örneğini özelleştirmenin ve yapılandırmanın otomatik bir yolu için kurulum betiği kullanın.

Bulutta tam olarak yapılandırılmış ve yönetilen geliştirme ortamınız olarak bir işlem örneği kullanın. Geliştirme ve test için örneği eğitim işlem hedefi veya çıkarım hedefi olarak da kullanabilirsiniz. İşlem örneği birden çok işi paralel olarak çalıştırabilir ve bir iş kuyruğuna sahiptir. Geliştirme ortamı olarak, bir işlem örneği çalışma alanınızdaki diğer kullanıcılarla paylaşılamaz.

Yönetici olarak, gereksinimlerinize göre çalışma alanındaki tüm bilgi işlem örneklerini sağlamak için kullanılacak bir özelleştirme betiği yazabilirsiniz. Kurulum betiğinizi, işlem örneği oluşturulduğunda bir kez çalışacak bir Oluşturma betiği olarak yapılandırabilirsiniz. İsterseniz, işlem örneği her başlatıldığında (ilk oluşturma dahil) çalışacak bir Başlangıç betiği olarak da yapılandırabilirsiniz.

Bir kurulum betiğinde neler yapabileceğinize dair bazı örnekler:

  • Paketleri, araçları ve yazılımları yükleme
  • Veri bağlama
  • Özel conda ortamı ve Jupyter çekirdekleri oluşturma
  • Git depolarını kopyalama ve git yapılandırması ayarlama
  • Ağ ara sunucularını ayarlama
  • Ortam değişkenlerini belirleme
  • JupyterLab uzantılarını yükleme

Kurulum betiği oluşturma

Kurulum betiği, olarak rootuserçalışan bir kabuk betiğidir. Betiği oluşturun veya Not Defterleri dosyalarınıza yükleyin:

  1. Stüdyoda oturum açın ve çalışma alanınızı seçin.
  2. Sol tarafta Not Defterleri'ni seçin.
  3. Kurulum kabuğu betiğinizi oluşturmak veya karşıya yüklemek için Dosya ekle aracını kullanın. Betik dosya adının ".sh" ile sona erdiğinden emin olun. Yeni bir dosya oluşturduğunuzda, Dosya türünübash(.sh) olarak da değiştirin.

Create or upload your setup script to Notebooks file in studio

Betik çalıştırıldığında, betiğin geçerli çalışma dizini karşıya yüklendiği dizindir. Örneğin, betiği Kullanıcılar>yöneticisine yüklerseniz betiğin işlem örneğindeki konumu ve betik çalıştırıldığında geçerli çalışma dizini /home/azureuser/cloudfiles/code/Users/admin şeklindedir. Bu konum, betikte göreli yolları kullanmanıza olanak tanır.

Betik bağımsız değişkenleri betikte $1, $2 vb. olarak ifade edilebilir.

Betiğiniz conda ortamını veya Jupyter çekirdeğini yükleme gibi azureuser'a özgü bir işlem yapıyorsa, bunu şu şekilde bir blok içine sudo -u azureuser koyun:

#!/bin/bash

set -e

# This script installs a pip package in compute instance azureml_py38 environment.

sudo -u azureuser -i <<'EOF'

PACKAGE=numpy
ENVIRONMENT=azureml_py38 
conda activate "$ENVIRONMENT"
pip install "$PACKAGE"
conda deactivate
EOF

komutu sudo -u azureuser geçerli çalışma dizinini olarak /home/azureuserdeğiştirir. Bu bloktaki betik bağımsız değişkenlerine de erişemezsiniz.

Diğer örnek betikler için bkz . azureml-examples.

Betiğinizde aşağıdaki ortam değişkenlerini de kullanabilirsiniz:

  • CI_RESOURCE_GROUP
  • CI_WORKSPACE
  • CI_NAME
  • CI_LOCAL_UBUNTU_USER - işaret eden azureuser

Her işlem örneği oluşturma işlemi için bir kurulum betiğini zorunlu kılmak veya varsayılan olarak uygulamak için Azure İlkesi ile birlikte bir kurulum betiği kullanın. Kurulum betiği zaman aşımı için varsayılan değer 15 dakikadır. Zaman studio'da veya arm şablonları aracılığıyla parametresi kullanılarak DURATION değiştirilebilir. DURATION , isteğe bağlı son eki olan kayan noktalı bir sayıdır: 's' saniye (varsayılan), 'm' dakika, 'h' saat veya 'd' gün için.

Studio'da betiği kullanma

Betiği depoladıktan sonra işlem örneğinizi oluştururken belirtin:

  1. Studio'da oturum açın ve çalışma alanınızı seçin.
  2. Sol tarafta İşlem'i seçin.
  3. Yeni bir işlem örneği oluşturmak için +Yeni'yi seçin.
  4. Formu doldurun.
  5. Formun Uygulamalar sayfasında, kullanmak istediğiniz betik türünü, oluşturma betiğini (işlem örneğini oluştururken bir kez çalıştır) veya başlangıç betiğini (işlem örneği her başlatıldığında çalıştır) açın.
  6. Kaydettiğiniz kabuk betiğine göz atın. Veya bilgisayarınızdan bir betik yükleyin.
  7. Gerektiğinde komut bağımsız değişkenleri ekleyin.

Screenshot of provision a compute instance with a setup script in the studio.

İpucu

Çalışma alanı depolama alanı bir sanal ağa bağlıysa, stüdyoya sanal ağ içinden erişmediğiniz sürece kurulum betiği dosyasına erişemeyebilirsiniz.

Betiği Resource Manager şablonunda kullanma

Resource Manager şablonunda, işlem örneği sağlandığında kurulum betiğini çağırmak için ekleyin setupScripts . Örneğin:

"setupScripts":{
    "scripts":{
        "creationScript":{
        "scriptSource":"workspaceStorage",
        "scriptData":"[parameters('creationScript.location')]",
        "scriptArguments":"[parameters('creationScript.cmdArguments')]"
        }
    }
}

scriptData yukarıdaki gibi not defterleri dosya paylaşımında Users/admin/testscript.sholuşturma betiğinin konumunu belirtir. scriptArguments yukarıdaki isteğe bağlıdır ve oluşturma betiği için bağımsız değişkenleri belirtir.

Bunun yerine bir Resource Manager şablonu için satır içi betiği sağlayabilirsiniz. Kabuk komutu, not defterleri dosya paylaşımına yüklenen tüm bağımlılıklara başvurabilir. Satır içi dize kullandığınızda, betiğin çalışma dizini şeklindedir /mnt/batch/tasks/shared/LS_root/mounts/clusters/**\<ciname\>**/code/Users.

Örneğin, için scriptDatabase64 kodlanmış bir komut dizesi belirtin:

"setupScripts":{
    "scripts":{
        "creationScript":{
        "scriptSource":"inline",
        "scriptData":"[base64(parameters('inlineCommand'))]",
        "scriptArguments":"[parameters('creationScript.cmdArguments')]"
        }
    }
}

Betik günlüklerini ayarlama

Kurulum betiği yürütme günlükleri, işlem örneği ayrıntıları sayfasındaki günlükler klasöründe yer alır. Günlükler not defterleri dosya paylaşımınızın Logs\<compute instance name> klasörüne geri depolanır. Belirli bir işlem örneği için betik dosyası ve komut bağımsız değişkenleri ayrıntılar sayfasında gösterilir.