使用.net SDK禁用Azure自动化Runbook计划
我正在尝试使用.NET SDK禁用Runbook计划 检索到我要禁用的JobScheduled,并尝试将关联的runbook和schedule设置为null和“”使用.net SDK禁用Azure自动化Runbook计划,azure,azure-sdk-.net,azure-automation,azure-sdk,Azure,Azure Sdk .net,Azure Automation,Azure Sdk,我正在尝试使用.NET SDK禁用Runbook计划 检索到我要禁用的JobScheduled,并尝试将关联的runbook和schedule设置为null和“” var schedulenm=new ScheduleAssociationProperty(); schedulenm.Name=“”; var runbooknm=新的RunbookAssociationProperty(); runbooknm.Name=“”; jocsched.Properties.Schedule=sch
var schedulenm=new ScheduleAssociationProperty();
schedulenm.Name=“”;
var runbooknm=新的RunbookAssociationProperty();
runbooknm.Name=“”;
jocsched.Properties.Schedule=schedulenm;
jobsched.Properties.Runbook=runbooknm如果要禁用与runbook关联的计划,请根据您的描述编写代码>。您可以使用AutomationManagementClient.JobSchedules.Delete方法
作业计划是指运行手册和计划之间的关系
调用此方法后,runbook将不会与计划关联,但不会删除该计划
更多详细信息,请参考以下代码示例:
var r2 = automationManagementClient.JobSchedules.List("groupname", "accountname").JobSchedules.First();
automationManagementClient.JobSchedules.Delete("groupname", "accountname", r2.Properties.Id);
结果:
你可以看到时间表仍然存在
图1:
图2:
这是否完全等同于在UI中将“Enabled”属性设置为No
否,如果要禁用计划,应使用AutomationManagementClient.Schedules.Patch方法
更多详细信息,您可以参考以下代码:
AutomationManagementClient automationManagementClient = new AutomationManagementClient(aadTokenCredentials, resourceManagerUri);
SchedulePatchParameters p1 = new SchedulePatchParameters("yourSchedulename");
SchedulePatchProperties p2 = new SchedulePatchProperties();
p2.IsEnabled = false;
p1.Properties = p2;
var result = automationManagementClient.Schedules.Patch("rgname", "am accountname", p1).StatusCode;
结果:
谢谢,这是否与在UI中将“Enabled”属性设置为“No”完全相同?我的目的是暂时禁用计划运行,并在一段时间后以简单的方式重新启用。不,如果要禁用计划,应使用AutomationManagementClient.Schedules.Patch方法。你可以看到我的更新答案。非常感谢!这回答了我的问题。