开发者社区> 问答> 正文

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

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

展开
收起
小天使爱美 2020-03-24 11:41:03 800 0
1 条回答
写回答
取消 提交回答
  • 本文档主要介绍运维编排 Java SDK 的安装和使用,适用于 1.0版本。请确保您已经开通了阿里云运维编排服务,并创建了 AccessKeyId 和 AccessKeySecret。

    如果您还没有开通或者还不了解阿里云运维编排服务,请登录运维编排的产品主页进行了解。 如果您还没有创建 AccessKeyId 和 AccessKeySecret,请到阿里云 Access Key 的管理控制台创建 Access Key。

    源码地址 请访问 GitHub 获取源码。

    本文介绍如何安装Java SDK

    环境准备 适用于Java 1.8及以上版本。

    安装 在Maven项目中加入依赖项 在 Maven 工程中使用 OOS Java SDK,只需在 pom.xml 中加入相应依赖即可。以 1.0.0 版本为例,在 < dependencies > 内加入如下内容:

    com.aliyun aliyun-java-sdk-oos 1.0.0

    快速入门 本节介绍如何快速使用OOS Java SDK完成常见操作,如创建模板、启动执行、查询执行等。

    创建模板 以下代码用于创建模板:

    import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.oos.model.v20190601.*; public class Demo { public static void main(String[] args) { DefaultProfile profile = DefaultProfile.getProfile( " ", // 地域ID " ", // RAM账号的AccessKey ID " "); // RAM账号AccessKey Secret IAcsClient client = new DefaultAcsClient(profile); // 创建模板 CreateTemplateRequest request = new CreateTemplateRequest(); request.setTemplateName("MyTemplate"); request.setContent("{\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": "describeInstances",\n" + " "Action": "ACS::ExecuteAPI"\n" + " }\n" + " ]\n" + "}"); // 发起请求并处理应答或异常 CreateTemplateResponse response; try { response = client.getAcsResponse(request); System.out.println(response.getTemplate().getTemplateName()); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } }

    启动执行 以下代码用于启动执行:

    import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.oos.model.v20190601.*; public class Demo { public static void main(String[] args) { DefaultProfile profile = DefaultProfile.getProfile( " ", // 地域ID " ", // RAM账号的AccessKey ID " "); // RAM账号AccessKey Secret IAcsClient client = new DefaultAcsClient(profile); // 启动执行 StartExecutionRequest request = new StartExecutionRequest(); request.setTemplateName("MyTemplate"); request.setParameters("{"Status": "Running"}"); // 发起请求并处理应答或异常 StartExecutionResponse response; try { response = client.getAcsResponse(request); System.out.println(response.getExecution().getExecutionId()); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } }

    查询执行 以下代码用于查询执行:

    import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.oos.model.v20190601.*; public class Demo { public static void main(String[] args) { DefaultProfile profile = DefaultProfile.getProfile( " ", // 地域ID " ", // RAM账号的AccessKey ID " "); // RAM账号AccessKey Secret IAcsClient client = new DefaultAcsClient(profile); // 创建API请求并设置参数 ListExecutionsRequest request = new ListExecutionsRequest(); request.setExecutionId(" "); // 发起请求并处理应答或异常 ListExecutionsResponse response; try { response = client.getAcsResponse(request); for(ListExecutionsResponse.Execution execution: response.getExecutions()){ System.out.println(execution.getExecutionId()); System.out.println(execution.getStatus()); } } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } }

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

相关电子书

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