OBS JAVA SDK 实践1:如何生成带有图片处理功能的临时访问URL
1 背景介绍
如果想授予其他用户带有图片处理功能的对象操作权限,可以通过OBS SDK生成带有鉴权信息的URL,同时指定URL的有效期来限制访问时长,之后便可将URL提供给其它用户进行临时访问。
2 效果展示
这里利用第3章中代码生成的URL链接,将该链接打开后的效果如下(将图片进行了30度旋转),链接有效时间设置的60S
有效60s过期后,再打开此URL链接时返回访问失败
3 java代码参考
前提:
需要先下载OBS最新的JAVA SDK,参考官网链接:https://developer.huaweicloud.com/sdk?OBS,并在自己的项目中导入SDK中的JAR包。
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.obs.services.ObsClient;
import com.obs.services.ObsConfiguration;
import com.obs.services.model.HttpMethodEnum;
import com.obs.services.model.TemporarySignatureRequest;
import com.obs.services.model.TemporarySignatureResponse;
public class temp {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String endPoint = "XXX"; // e.g "https://obs.cn-north-1.myhuaweicloud.com"
String ak = "XXX"; // 对象所属的帐户ak
String sk = "XXX"; // 对象所属的帐户sk
// 代理信息设置,没有不用设置
ObsConfiguration config = new ObsConfiguration();
config.setSocketTimeout(30000);
config.setConnectionTimeout(10000);
config.setEndPoint(endPoint);
config.setHttpProxy(proxyAddr, proxyPort, userName, passWord); // 根据实际情况填写代理信息
ObsClient obsClient = new ObsClient(ak, sk, config);
long expireSeconds = 60L; // 设置URL有效期,60秒
Map<String, Object> map = new HashMap<String, Object>();
map.put("x-image-process", "image/resize,w_1000/rotate,30"); // 设置图片处理的效果,此处为宽度调整为1000旋转30度
TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.GET, expireSeconds);
request.setBucketName("obs-test-chongchong"); // 需要填写为实际的桶名
request.setObjectKey("IMG_20190302_122501.jpg"); // 需要填写为实际的对象名
request.setQueryParams(map);
TemporarySignatureResponse response = obsClient.createTemporarySignature(request);
System.out.println("Getting object using temporary signature url:");
System.out.println("\t" + response.getSignedUrl()); // 输出临时URL
}
}
4 附录链接
OBS JAVA SDK使用,官网参考链接:https://support.huaweicloud.com/sdk-java-devg-obs/zh-cn_topic_0073679956.html
OBS 图片处理使用,官网参考链接:https://support.huaweicloud.com/fg-obs/obs_01_0001.html
- 点赞
- 收藏
- 关注作者
评论(0)