开发者社区> 问答> 正文

运维编排服务如何使用C# SDK?

运维编排服务如何使用C# SDK?

展开
收起
小天使爱美 2020-03-24 11:40:17 738 0
1 条回答
写回答
取消 提交回答
  • 环境准备 适用于.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); } } } }

    2020-03-24 11:58:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
从 SDK 到编解码:视频直播架构解析 立即下载
跨平台的云服务SDK需要什么 立即下载
一个跨平台的云服务SDK需要什么 立即下载