İş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 şu şekilde yapılandırabilirsiniz:
- Oluşturma betiği: İşlem örneği oluşturulduğunda bir kez çalıştırılır.
- Başlangıç betiği- işlem örneği her başlatıldığında (ilk oluşturma dahil) çalışır.
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:
- Stüdyoda oturum açın ve çalışma alanınızı seçin.
- Sol tarafta Not Defterleri'ni seçin.
- 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.
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
source /anaconda/etc/profile.d/conda.sh
conda activate "$ENVIRONMENT"
pip install "$PACKAGE"
conda deactivate
EOF
komutu sudo -u azureuser
geçerli çalışma dizinini olarak /home/azureuser
değ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 edenazureuser
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:
- Studio'da oturum açın ve çalışma alanınızı seçin.
- Sol tarafta İşlem'i seçin.
- Yeni bir işlem örneği oluşturmak için +Yeni'yi seçin.
- Formu doldurun.
- 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.
- Kaydettiğiniz kabuk betiğine göz atın. Veya bilgisayarınızdan bir betik yükleyin.
- Gerektiğinde komut bağımsız değişkenleri ekleyin.
İ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
bu kodda, gibi not defterleri dosya paylaşımında Users/admin/testscript.sh
oluşturma betiğinin konumunu belirtir.
scriptArguments
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 , burada şeklindedir /mnt/batch/tasks/shared/LS_root/mounts/clusters/<ciname>/code/Users
.<ciname>
işlem örneğinin adıdır.
For example, specify a base64 encoded command string for `scriptData`:
```json
"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.