public void EcsInvokeCommand() { var accessKey = Environment.GetEnvironmentVariable("ACCESS_KEY_ID") ?? "AccessKeyId"; var accessKeySecret = Environment.GetEnvironmentVariable("ACCESS_KEY_SECRET") ?? "AccessKeySecret"; var regionId = "cn-hangzhou"; var profile = DefaultProfile.GetProfile(regionId, accessKey, accessKeySecret); var client = new DefaultAcsClient(profile); var request = new InvokeCommandRequest(); request.CommandId = "commandId"; var instanceIdList = new List <string>(); instanceIdList.Add("instance1"); instanceIdList.Add("instance2"); request.InstanceIds = instanceIdList; try { var response = client.GetAcsResponse(request); Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content)); } catch (ServerException ex) { Console.WriteLine(ex.ToString()); } catch (ClientException ex) { Console.WriteLine("ErrorCode" + ex.ErrorCode); Console.WriteLine("ErrorMessage" + ex.ErrorMessage); } }
/// <summary> /// 在指定的实例上触发命令,调用成功返回执行活动ID(inv-xxxxxxxx),每个执行活动内部有一个或多个执行任务(invt-xxxxxxxx),每个执行任务代表命令在一台 CVM 或一台 Lighthouse 上的执行记录。 /// /// * 如果指定实例未安装 agent,或 agent 不在线,返回失败 /// * 如果命令类型与 agent 运行环境不符,返回失败 /// * 指定的实例需要处于 VPC 网络 /// * 指定的实例需要处于 RUNNING 状态 /// * 不可同时指定 CVM 和 Lighthouse /// </summary> /// <param name="req"><see cref="InvokeCommandRequest"/></param> /// <returns><see cref="InvokeCommandResponse"/></returns> public InvokeCommandResponse InvokeCommandSync(InvokeCommandRequest req) { JsonResponseModel <InvokeCommandResponse> rsp = null; try { var strResp = this.InternalRequestSync(req, "InvokeCommand"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <InvokeCommandResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }