Azure自动化管理无法执行运行簿

时间:2016-06-23 14:14:59

标签: azure azure-automation

我正在使用Azure自动化管理2.0.1。我无法找到Runbook的Start方法来执行Runbook。如何使用2.0.1

var client = new Microsoft.Azure.Management.Automation.AutomationManagementClient(new CertificateCloudCredentials(subscriptionId, cert));
var ct = new CancellationToken();

var content = await client.Runbooks.ListByNameAsync("MyAutomationAccountName", "MyRunbookName", ct);

var firstOrDefault = content?.Runbooks.FirstOrDefault();
if (firstOrDefault != null)
{
    var operation = client.Runbooks.Start("MyAutomationAccountName", new RunbookStartParameters(firstOrDefault.Id));
}

1 个答案:

答案 0 :(得分:1)

您需要使用automationManagementClient.Jobs.Create

public static JobCreateResponse Create(
    this IJobOperations operations,
    string resourceGroupName,
    string automationAccount,
    JobCreateParameters parameters
)

您可以找到完整的样本here这将是相关部分 -

private void JobStart_Click(object sender, RoutedEventArgs e)
 {
        // Check for runbook name
        if (String.IsNullOrWhiteSpace(RunbookName.Text) || String.IsNullOrWhiteSpace(PublishState.Text)) throw new ArgumentNullException(RunbookName.Text);

        // Create job create parameters
        var jcparam = new JobCreateParameters
        {
            Properties = new JobCreateProperties
            {
                Runbook = new RunbookAssociationProperty
                {
                    // associate the runbook name
                    Name = RunbookName.Text
                },

                // pass parameters to runbook if any
                Parameters = null
            }
        };

        // create runbook job. This gives back JobId
        var job = automationManagementClient.Jobs.Create(this.automationAccountName, jcparam).Job;

        JobGuid.Text = JobId.Text = job.Properties.JobId.ToString();

        Log.Text += (String.Format("\nJob Started for Runbook {0} , JobId {1}", RunbookName.Text, JobId.Text));
}