填上eip 实例ID AccessKey AccessKeyId就能用了

  1. <?php
  2.     function percentEncode($str){
  3.         $res = urlencode($str);
  4.         $res = preg_replace(‘/\+/’, ‘%20’, $res);
  5.         $res = preg_replace(‘/\*/’, ‘%2A’, $res);
  6.         $res = preg_replace(‘/%7E/’, ‘~’, $res);
  7.         return $res;
  8.     }
  9.     function computeSignature($parameters, $accessKeySecret){
  10.         ksort($parameters);
  11.         $canonicalizedQueryString = ”;
  12.         foreach($parameters as $key => $value)
  13.         {
  14.             $canonicalizedQueryString .= ‘&’ . percentEncode($key)
  15.                 . ‘=’ . percentEncode($value);
  16.         }
  17.         $stringToSign = ‘GET&%2F&’ . percentencode(substr($canonicalizedQueryString, 1));
  18.         $signature = base64_encode(hash_hmac(‘sha1’, $stringToSign, $accessKeySecret . ‘&’, true));
  19.         return $signature;
  20.     }
  21.     function get_action($data){
  22.         date_default_timezone_set("GMT");
  23.         $dateTimeFormat = ‘Y-m-d\TH:i:s\Z’;
  24.         $publicdata = array(
  25.             ‘Format’ => ‘JSON’,
  26.             ‘Version’ => ‘2014-05-26’,
  27.             ‘AccessKeyId’ => ‘AccessKeyIdXXXXXXXX’,
  28.             ‘SignatureVersion’ => ‘1.0’,
  29.             ‘SignatureMethod’ => ‘HMAC-SHA1’,
  30.             ‘SignatureNonce’=> uniqid(),
  31.             ‘TimeStamp’ => date($dateTimeFormat)
  32.         );
  33.         $data = array_merge($publicdata,$data);
  34.         $data[‘Signature’] = computeSignature($data, ‘AccessKeySecretXXXXXXXXXXXXXXXXXXXXXXXXX’);
  35.         $ch = curl_init();
  36.         curl_setopt($ch, CURLOPT_URL, ‘https://ECS.aliyuncs.com/?&#8217; . http_build_query($data));
  37.         curl_setopt($ch, CURLOPT_HEADER, 0);
  38.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  39.           curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  40.         $res = curl_exec($ch);
  41.         date_default_timezone_set(‘PRC’);
  42.         return $res;
  43.     }
  44.     function get_(){
  45.         $data = array(
  46.                         ‘Action’ => ‘DescribeEipMonitorData’,
  47.                         ‘AllocationId’ => ‘eip-xxxxxxxxxxx’,
  48.                         ‘StartTime’ =>"2019-04-17T00:00:00Z",
  49.                         ‘EndTime’ => "2019-06-01T00:00:00Z",
  50.                         ‘Period’ => "3600"
  51.                     );
  52.         $res = (string)get_action($data);
  53.            $jsonarray = json_decode($res,true);
  54.           //echo $jsonarray[‘EipMonitorDatas’][‘EipMonitorData’][1][‘EipTX’];
  55.           //echo count($jsonarray[‘EipMonitorDatas’][‘EipMonitorData’]);
  56.           $temp_all_EipTX=0;
  57.           for ($i = 0; $i < count($jsonarray[‘EipMonitorDatas’][‘EipMonitorData’]); $i++) {
  58.             $temp_all_EipTX=$temp_all_EipTX+$jsonarray[‘EipMonitorDatas’][‘EipMonitorData’][$i][‘EipTX’];
  59.           }
  60.           echo $temp_all_EipTX/1024/1024/1024;
  61.           if($temp_all_EipTX>=950*1024*1024*1024){
  62.           StopInstance();
  63.          
  64.         }
  65.     }
  66.     function StopInstance(){
  67.         $data = array(
  68.                         ‘Action’ => ‘StopInstance’,
  69.                         ‘InstanceId’ => ‘i-xxxxxxxxxx’,
  70.                         ‘ForceStop’ =>"true",
  71.                         ‘StoppedMode’ => "keepcharging",
  72.                         ‘ConfirmStop’ => "false"
  73.                     );
  74.         $res = (string)get_action($data);
  75.           echo $res;
  76.     }
  77.     get_();
  78. ?>

复制代码

江西网友:
买国内30M/1T小#鸡,一大波实名号已经准备好开车了 就等大佬们上车
安徽网友:先收了~~
重庆网友:一键包可以?
山西网友: 阿里云他自己就可以设置预警的吧
山东网友:不错
内蒙古网友:谢LZ! 但这个具体要怎么用啊?
上海网友:具体如何使用 …… 来个任务计划?

02-07 01:51