
com.xiaoleilu.ucloud.umon.UMon Maven / Gradle / Ivy
package com.xiaoleilu.ucloud.umon;
import java.util.Arrays;
import java.util.Collection;
import org.slf4j.Logger;
import com.xiaoleilu.hutool.Log;
import com.xiaoleilu.hutool.StrUtil;
import com.xiaoleilu.hutool.Validator;
import com.xiaoleilu.ucloud.core.Param;
import com.xiaoleilu.ucloud.core.Response;
import com.xiaoleilu.ucloud.core.UcloudApiClient;
import com.xiaoleilu.ucloud.util.Config;
/**
* 云监控
* @author Looly
*
*/
public class UMon {
private final static Logger log = Log.get();
private final UcloudApiClient client;
// --------------------------------------------------------------- Constructor start
public UMon() {
this.client = new UcloudApiClient();
}
public UMon(Config config) {
this.client = new UcloudApiClient(config);
}
// --------------------------------------------------------------- Constructor end
/**
* 发送短信
* 1. 短信内容无论字母,汉字,中英文标点符号,均按照1个字符计算,内容长度不能多于600字。
* 2. 增加内容:超过70字的短信,按照每条65字收取费用。
* @param content 短信内容
* @param phoneNumbers 短信列表
* @return 响应内容
*/
public Response sendSms(String content, Collection phoneNumbers){
Param param = Param.create()
.set(UMonName.Content, content);
int i = 0;
for (String phoneNumber : phoneNumbers) {
if(StrUtil.isNotBlank(phoneNumber) && Validator.isMobile(phoneNumber)) {
param.set("Phone." + i, phoneNumber);
i++;
}else {
log.warn("{} is not phone number!", phoneNumber);
}
}
return client.get(UMonAction.SendSms, param);
}
/**
* 发送短信
* 1. 短信内容无论字母,汉字,中英文标点符号,均按照1个字符计算,内容长度不能多于600字。
* 2. 增加内容:超过70字的短信,按照每条65字收取费用。
* @param content 短信内容
* @param phoneNumbers 短信列表
* @return 响应内容
*/
public Response sendSms(String content, String... phoneNumbers){
return sendSms(content, Arrays.asList(phoneNumbers));
}
/**
* 获取监控数据
* @param param 参数
* @return 结果
*/
public Response getMetric(Param param) {
return client.get(UMonAction.GetMetric, param);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy