Запускать несколько пользовательских сценариев через шаблоны Azure на одной виртуальной машине - PullRequest
0 голосов
/ 15 октября 2018

У меня есть python script1.py и bash script script2.sh для запуска после создания виртуальной машины через шаблон ARM с использованием приведенного ниже фрагмента.По какой-то причине, когда я добавляю этот скрипт.'fileUris', а также commandToExecute верны.В чем может быть причина и где искать ошибки?

{
              "name": "[concat(variables('web'),'/script1')]",                                
              "properties":
               {                   
                    "settings": {
                        "fileUris": ["https://.../script1.py"],
                        "commandToExecute": "python script1.py"
                   }
              }
          },
     {
              "name": "[concat(variables('web'),'/script2')]",                                                 
              "properties":
               {                
                    "settings": {
                        "fileUris": ["https://.../script2.sh"],
                        "commandToExecute": "bash script2.sh"
                   }
              }
          },

Я опускаю type, apiVersion, location, а также publisher, type и typeHandlerVersion для ясности.Оба сценария зависят от "[concat ('Microsoft.Compute / virtualMachines /', переменные ('web'))]"

1 Ответ

0 голосов
/ 15 октября 2018

Для расширения виртуальной машины Azure это ресурс Azure, а не свойство ресурса.Поэтому, если вы хотите добавить несколько расширений для ВМ в одном шаблоне, вы должны сделать каждое расширение одним ресурсом.Вот пример .

update

И если в одном шаблоне два или более расширений, вы должны убедиться в том, что порядокрасширения для выполнения.Хотя несколько расширений в одном шаблоне, они по-прежнему выполняются одно за другим в виртуальной машине.

Например, первое расширение имеет имя

"[concat(variables('vmName'),'/', 'antiMalwareExtension')]"

, и вам необходимо добавить "зависящий от" ввторое расширение:

"dependsOn":[  
     "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]",
     "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),'/', 'antiMalwareExtension')]"
  ],

Расширения после также должны работать следующим образом.

...