本节介绍如何快速使用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(
"<your-region-id>", // 地域ID
"<your-access-key-id>", // RAM账号的AccessKey ID
"<your-access-key-secret>"); // 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(
"<your-region-id>", // 地域ID
"<your-access-key-id>", // RAM账号的AccessKey ID
"<your-access-key-secret>"); // 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(
"<your-region-id>", // 地域ID
"<your-access-key-id>", // RAM账号的AccessKey ID
"<your-access-key-secret>"); // RAM账号AccessKey Secret
IAcsClient client = new DefaultAcsClient(profile);
// 创建API请求并设置参数
ListExecutionsRequest request = new ListExecutionsRequest();
request.setExecutionId("<ExecutionId>");
// 发起请求并处理应答或异常
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();
}
}
}
在文档使用中是否遇到以下问题
更多建议
匿名提交