有没有办法让 Azure 自动化 Runbook 以“失败”状态结束?即使引发异常,Runbook 仍以“完成”状态结束。您可以进入状态为“完成”的 Runbook 作业并查看引发的异常。
但是,有没有办法显式地使 Azure Runbook 失败,例如,如果您捕获异常并希望整个 Runbook 失败,以便状态将以“失败”结束?
I want to convert CSV file into XML on Azure data lake store using Azure Powershell. I was using this code on Runbook of azure automation and it worked fine but No XML is being generated
$cred = Get-AutomationPSCredential -Name 'AutomationCred'
$subscriptionName = 'Pay-As-You-Go'
$null = Add-AzureRmAccount -Credential $cred
Select-AzureRmSubscription -SubscriptionName $subscriptionName | Out-Null
$adla = "TestAzure"
$obj = Get-AzureRmDataLakeStoreItem -AccountName $adla -Path "/custom/logile/masters/Test/Test.csv"
$xmlobj = ConvertTo-Xml -InputObject $obj -As 'string'
$xmlobj | Out-File -FilePath "/custom/logile/masters/Test/xmlOut.xml"
Run Code Online (Sandbox Code Playgroud)
直到这里的“ $ obj …
我正在创建一个 Azure 工作流 Runbook,其中我必须从 Azure 文件系统存储获取一个文件并将其发布到 azure Web 应用程序。
我尝试使用 New-PSDrive 但 Runbook 不支持该命令(甚至 InlineScript 也不起作用)。谁能帮我写一下剧本。在下面的代码中,我需要从天蓝色文件系统填充文件路径。
$Conn = Get-AutomationConnection -Name AzureRunAsConnection
Connect-AzureRmAccount -ServicePrincipal -Tenant $Conn.TenantID `
-ApplicationId $Conn.ApplicationID `
-CertificateThumbprint $Conn.CertificateThumbprint
$zipFilePath = ???
Publish-AzureWebsiteProject -Name $siteName -Package $zipFilePath
Run Code Online (Sandbox Code Playgroud)
我搜索了很多,但找不到太多这方面的信息。
我可以在 Azure Runbook(PowerShell 或任何其他)中使用我自己的/自定义控制台应用程序吗?
当我尝试运行自己的控制台应用程序(从 Azure 存储检索它之后)时,它失败了。
当我尝试简单地执行它时:
.\myapp.exe
Run Code Online (Sandbox Code Playgroud)
我得到:
程序“myapp.exe”无法运行:操作已被用户取消
当我使用时System.Diagnostics.Process
:
$process = New-Object System.Diagnostics.Process
$process.StartInfo.FileName = $path
$process.StartInfo.UseShellExecute = $False
$process.Start()
Run Code Online (Sandbox Code Playgroud)
我得到一个更有意义的错误:
使用“0”个参数调用“开始”时发生异常:“该程序被组策略阻止。有关详细信息,请联系您的系统管理员”
Azure 自动化中是否有任何设置(我可以切换)以允许执行自定义应用程序?或者在受限的 Runbook 环境中根本不可能?
我对这个问题深感震惊。我请求您回答或给予提示。我已经没有选择了。
我通过 WebHook 在 CPU 利用率较高时调用 azure runbook。我的问题是 Runbook 内部数据未正确解码。例如,下面的行不打印任何内容。
Write-Output $WebHookData.RequestHeader
Run Code Online (Sandbox Code Playgroud)
如果我尝试将数据显式转换为 JSON,就像这样
*$WebhookData = ConvertFrom-Json $WebhookData*
Run Code Online (Sandbox Code Playgroud)
那么这是一个投掷错误。
ConvertFrom-Json:无效的 JSON 原语:。在行:6 字符:31 + $WebhookData = $WebhookData | 从 Json 转换
顺便说一句,我正在尝试使用 Azure 库上提供的 Runbook {使用 Azure 自动化垂直扩展 Azure 资源管理器 VM}
我的 Webhook 是从虚拟机上创建的警报调用的。
一个非常奇怪的观察:
工作 WebHood 示例(在示例中找到) {"WebhookName":"test1","RequestBody":" [ \r\n {\r\n \"Message\": \"Test Message\"\r\n } \r\n****]****"
不工作(从虚拟机调用 Runbook 时发送的数据):
{"WebhookName":"test2","RequestBody":" { \"schemaId\":\"AzureMonitorMetricAlert\" } }
谢谢
powershell webhooks azure-autoscaling-block azure-automation azure-runbook
我能找到的用于验证 Runbook 的所有示例都使用 AzureRM 模块:
$connectionName = "AzureRunAsConnection"
$servicePrincipalConnection=Get-AutomationConnection -Name $connectionName
Add-AzureRmAccount `
-ServicePrincipal `
-TenantId $servicePrincipalConnection.TenantId `
-ApplicationId $servicePrincipalConnection.ApplicationId `
-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
Run Code Online (Sandbox Code Playgroud)
但是,如果您使用的是新的 Az 模块,则此代码不起作用,并且您不能在同一个 Runbook 中混合使用AzureRM 模块和Az 模块。如何获得身份验证以使用新的 Az 模块。