如何将 runbook 参数从 mvc 网站 c# 代码传递到 azure 门户
How to pass runbook parameters from mvc website c# code to azure portal
我有一个 MVC 网站,我在其中从 Webhook Uri 调用了 Runbook,但现在我想将输入参数传递给 Runbook。
按照我编写的代码调用 runbook 并传递参数,但参数进入 Webhookdata 而不是作为输入。
using(var client = new HttpClient()) {
client.BaseAddress = new Uri("https://s2events.azure-automation.net/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// HTTP POST
var parameters = new InputParam() {
subscriptionId = mSubscriptnId,
resourceGrpName = vMachine.ResourceGroupName,
vmssName = vMachine.Name,
vmssInstanceId = vMachine.InstanceId,
action = vmssInstanceAction,
count = "5"
};
HttpResponseMessage response = client.PostAsJsonAsync(mWebhookUri, parameters).Result;
if(response.IsSuccessStatusCode) {
Console.WriteLine(response.Content);
}
我得到答案了。
我们必须使用 webhook-data 来获取输入参数。
检查下面的代码以从 Runbook 脚本获取输入参数。
Param
(
[object] $WebhookData,
)
# Get the data object from WebhookData.
$WebhookBody = (ConvertFrom-Json -InputObject $WebhookData.RequestBody)
$subscriptionId = $WebhookBody.subscriptionId
$resourceGrpName = $WebhookBody.resourceGrpName
$vmssName = $WebhookBody.vmssName
$vmssInstanceId = $WebhookBody.vmssInstanceId
$action = $WebhookBody.action
$count = $WebhookBody.count
我有一个 MVC 网站,我在其中从 Webhook Uri 调用了 Runbook,但现在我想将输入参数传递给 Runbook。 按照我编写的代码调用 runbook 并传递参数,但参数进入 Webhookdata 而不是作为输入。
using(var client = new HttpClient()) {
client.BaseAddress = new Uri("https://s2events.azure-automation.net/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// HTTP POST
var parameters = new InputParam() {
subscriptionId = mSubscriptnId,
resourceGrpName = vMachine.ResourceGroupName,
vmssName = vMachine.Name,
vmssInstanceId = vMachine.InstanceId,
action = vmssInstanceAction,
count = "5"
};
HttpResponseMessage response = client.PostAsJsonAsync(mWebhookUri, parameters).Result;
if(response.IsSuccessStatusCode) {
Console.WriteLine(response.Content);
}
我得到答案了。 我们必须使用 webhook-data 来获取输入参数。 检查下面的代码以从 Runbook 脚本获取输入参数。
Param
(
[object] $WebhookData,
)
# Get the data object from WebhookData.
$WebhookBody = (ConvertFrom-Json -InputObject $WebhookData.RequestBody)
$subscriptionId = $WebhookBody.subscriptionId
$resourceGrpName = $WebhookBody.resourceGrpName
$vmssName = $WebhookBody.vmssName
$vmssInstanceId = $WebhookBody.vmssInstanceId
$action = $WebhookBody.action
$count = $WebhookBody.count