Выполнение команд Azure PowerShell из веб-задания
Обновить: Я использовал Azure Automation согласно предложению BenV ниже, и это сработало! Больше информации можно найтиВот.
У меня есть сценарий PowerShell, который должен выполнить несколько команд Azure, таких какNew-AzureStorageContext
, Get-AzureStorageContainer
, Set-AzureStorageBlobContent
и т. д. Я хотел бы запустить сценарий в качестве веб-задания.
Когда я запускаю этот сценарий в качестве веб-задания, я получаю сообщения об ошибках ниже в командах Azure. Другие команды PS успешно выполняются из веб-задания.
Я искал StackOverflow и не смог найти сообщения об этих ошибках, сгенерированных при выполнении команд Azure из веб-задания. Несколько связанных постов, упомянутых для использованияImport-Module
что похоже на совет, данный ниже.
В старом посте MSDN было предложено добавить «Import-Module Azure.ps1» в сценарий PS и включить Azure.ps1 в zip-файл webjob. (Это действительно Azure.psd1 из моего локального C: \ Program Files (x86) \ Microsoft SDKs \ Azure \ PowerShell \ ServiceManagement \ Azure). Отдельно я попробовал Import-Module с Azure.psd1, а затем Azure.ps1, думая, что ошибки могут быть связаны с расширением файла, но это не так.
В моем файле .jip webjob есть только мой файл .CMD, GetLinks.ps1 и Azure.ps1.
Мой файл .CMD запускает мой сценарий PS с: PowerShell.exe -ExecutionPolicy RemoteSigned -File GetLinks.ps1
Вверху этого файла .ps1 у меня есть: «Import-Module. \ Azure.ps1». Это выполняется успешно, так как я вижу операторы "INFO" в моем журнале выполнения WebJob.
Затем мой сценарий PS пытается выполнить команды Azure PS, и я по-прежнему получаю те же ошибки, что и в приведенном ниже примере ошибки.
New-AzureStorageContext : The term 'New-AzureStorageContext' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At D:\local\Temp\jobs\triggered\getlinks2\b2025qk5.ddj\GetLinks.ps1:75 char:19
+ $storageContext = New-AzureStorageContext -StorageAccountName $storageAccountNam ...
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (New-AzureStorageContext:String) [], CommandNotFoundException
+ FullyQualifiedErrorId: CommandNotFoundException