Runbook 计划中的 Azure 容器服务

Azure Container Service in Runbook schedule

咨询 Microsoft 支持后,我能够使用以下代码通过 Azure 自动化启动 Docker 容器:

$connection = Get-AutomationConnection -Name AzureRunAsConnection
$secpasswd = ConvertTo-SecureString "132asdf9asdf342" -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PSCredential ("somecontainerregistry", $secpasswd)
Connect-AzureRmAccount -ServicePrincipal -Tenant $connection.TenantID -ApplicationId $connection.ApplicationID -CertificateThumbprint $connection.CertificateThumbprint
New-AzureRmContainerGroup -RegistryCredential $credentials -ResourceGroupName automation-rg -Name jjcontainer03 -Image somecontainerregistry.azurecr.io/etl-pipeline -OsType Linux -DnsNameLabel aci-etl-pipeline-01 -RestartPolicy Never -Command "scrapy crawl data"

当我在 Azure Automation Portal 中测试窗格时,这似乎工作正常,但是当我将它安排为每小时 运行 时,我只看到 Runbook 作业已执行(在正确的时间), 而无需创建新的 Azure 实例。我应该每次都删除旧实例还是我还缺少其他东西?

如果您指定脚本来创建具有静态名称的容器(例如您的案例中的容器),则不会重新创建该容器,因为 AzureRM 模块检测到所述容器组已经存在。尝试在 'New-AzureRmContainerGroup ...'

上方添加 'Remove-AzureRmContainerGroup ...' 一行

如果您想要一个唯一的名称,您可以使用新的 guid 作为容器的名称。