本节介绍如何快速使用OOS C# SDK完成常见操作,如创建模板、启动执行、查询执行等。
创建模板
以下代码用于创建模板:
using System;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.oos.Model.V20190601;
namespace oosDemo
{
class Program
{
static void Main(string[] args)
{
IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
DefaultAcsClient client = new DefaultAcsClient(profile);
// 创建模板
var request = new CreateTemplateRequest();
request.TemplateName = "MyTemplate";
request.Content = "{\n"
+ " \"FormatVersion\": \"OOS-2019-06-01\",\n"
+ " \"Description\": \"Descirbe instances of given status\",\n"
+ " \"Parameters\": {\n"
+ " \"Status\": {\n"
+ " \"Type\": \"String\",\n"
+ " \"Description\": \"(Required) The status of the Ecs instance.\"\n"
+ " }\n"
+ " },\n"
+ " \"Tasks\": [\n"
+ " {\n"
+ " \"Properties\": {\n"
+ " \"Parameters\": { \"Status\": \"{{ Status }}\" },\n"
+ " \"API\": \"DescribeInstances\",\n"
+ " \"Service\": \"Ecs\"\n"
+ " },\n"
+ " \"Name\": \"foo\",\n"
+ " \"Action\": \"ACS::ExecuteApi\"\n"
+ " }\n"
+ " ]\n"
+ "}";
// 发起请求并处理应答或异常
try
{
var response = client.GetAcsResponse(request);
Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
}
catch (ServerException e)
{
Console.WriteLine(e);
}
catch (ClientException e)
{
Console.WriteLine(e);
}
}
}
}
启动执行
以下代码用于启动执行:
using System;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.oos.Model.V20190601;
namespace oosDemo
{
class Program
{
static void Main(string[] args)
{
IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
DefaultAcsClient client = new DefaultAcsClient(profile);
// 启动执行
var request = new StartExecutionRequest();
request.Parameters = "{\"Status\": \"Running\"}";
request.TemplateName = "MyTemplate";
// 发起请求并处理应答或异常
try
{
var response = client.GetAcsResponse(request);
Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
}
catch (ServerException e)
{
Console.WriteLine(e);
}
catch (ClientException e)
{
Console.WriteLine(e);
}
}
}
}
查询执行
以下代码用于查询执行:
using System;
using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.oos.Model.V20190601;
namespace oosDemo
{
class Program
{
static void Main(string[] args)
{
IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
DefaultAcsClient client = new DefaultAcsClient(profile);
// 查询执行
var request = new ListExecutionsRequest();
request.ExecutionId = "<ExecutionId>";
// 发起请求并处理应答或异常
try
{
var response = client.GetAcsResponse(request);
Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
}
catch (ServerException e)
{
Console.WriteLine(e);
}
catch (ClientException e)
{
Console.WriteLine(e);
}
}
}
}