环境准备 适用于.NET Framework 4.0及以上版本。
安装 通过 donet 命令行安装
dotnet add <项目名称> package aliyun-net-sdk-oos 通过项目引入
执行以下命令,在GitHub中下载SDK的源代码
git clone https://github.com/aliyun/aliyun-openapi-net-sdk.git 您可以在下载生成的文件夹中找到名为 aliyun-net-openapi-oos 的子文件夹,再找到 aliyun-net-sdk-oos.*.csproj 文件,即 .NET 项目文件
在Visual Studio的界面中,右键单击您的解决方案
单击添加 > 现有项目 在弹出的对话框中,选择刚才下载的源代码中相应的.NET 项目文件(例如 aliyun-net-sdk-oos.vs2017.csproj),单击打开 右键单击您的项目,单击引用 > 添加引用
本文档主要介绍运维编排 C# SDK 的安装和使用,适用于 1.0 版本。请确保您已经开通了阿里云运维编排服务,并创建了 AccessKeyId 和 AccessKeySecret。
如果您还没有开通或者还不了解阿里云运维编排服务,请登录运维编排的产品主页进行了解。 如果您还没有创建 AccessKeyId 和 AccessKeySecret,请到阿里云 Access Key 的管理控制台创建 Access Key。
源码地址 请访问 GitHub 获取源码。
本节介绍如何快速使用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", " ", " "); 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", " ", " "); 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", " ", " "); DefaultAcsClient client = new DefaultAcsClient(profile); // 查询执行 var request = new ListExecutionsRequest(); request.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); } } } }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。