zoukankan      html  css  js  c++  java
  • 记一次调用RefreshObjectCaches刷新节点上的文件内容

    1、pom文件里引入阿里云cdn依赖,很重要!!!  官方文档阿里云RefreshObjectCaches

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-cdn</artifactId>
        <version>3.0.10</version>
    </dependency>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.1.0</version>
    </dependency>

    2、看一下需要的参数

    3、上代码

    public static Result updateCdn(@NotNull List<String> path, String type) {
        //初始化
    //CommonConstant.SMS_REGION 地区"cn-hangzhou"
    //CommonConstant.SMS_ACCESS_KEY_ID阿里管理员给的accessKeyId
    //CommonConstant.SMS_ACCESS_KEYSECRET阿里管理员给的accessSecret
    IClientProfile profile = DefaultProfile.getProfile(CommonConstant.SMS_REGION,
    CommonConstant.SMS_ACCESS_KEY_ID, CommonConstant.SMS_ACCESS_KEYSECRET);
    IAcsClient client = new DefaultAcsClient(profile);
    RefreshObjectCachesRequest request = new RefreshObjectCachesRequest();
    StringBuffer sb = new StringBuffer();
    
    //循环list里面url做处理,多个URL之间需要用换行符(
    )或(
    )分隔。
    for ( int i = 0; i < path.size(); i++ ) {
    String n = i == (path.size() - 1) ? "" : "
    ";
    sb.append(path.get(i) + n);
    }
    request.setRegionId(CommonConstant.SMS_REGION);
    // 此参数为刷新的类型, 其值可以为File或Directory。默认值:File。
    request.setObjectType(CommonConstant.OBJECT_TYPE_FILE);
    
    // 要刷新域名加文件拼接,多个路径用
    分割(域名和资源不分开)
    request.setObjectPath(sb.toString());
    request.setAcceptFormat(FormatType.JSON);
    try {
    RefreshObjectCachesResponse response = client.getAcsResponse(request);
            //处理自己的逻辑
    HttpResponse httpResponse = client.doAction(request);
    //整个完整连接httpResponse.getUrl
    System.out.println(httpResponse.getUrl());
            //打印出来的返回数据{"RefreshTaskId":"6616645908","RequestId":"9D464237-5833-4222-B30F-299860A89785"}
    System.out.println(new String(httpResponse.getHttpContent()));
    //状态码
    System.out.println(httpResponse.getStatus());
    } catch (ServerException e) {
    e.printStackTrace();
    } catch (ClientException e) {
        //域名必须是https://www.baidu.com/格式
    System.out.println("请检查输入的OBJECT_PATH输入是否正确");
    
    }
    return Result.ok();
    }

    4.测试

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("http://appdev.malls.com/");
        Result file = updateCdn(list, "File");
    }
    
    //结果
    {"RefreshTaskId":"6616645908","RequestId":"9D464237-5833-4222-B30F-299860A89785"}
    200
  • 相关阅读:
    JavaScript数组
    JavaScript正则表达式之分组匹配 / 反向引用
    JavaScript函数之作用域 / 作用链域 / 预解析
    JavaScript正则表达式实例汇总
    python+unittets框架
    locust简介
    seleniumselenium各种技巧,滑动,提示框,窗口大小,iframe切换等等
    selenium 定位元素的方式
    jmeter环境配置,配置中文环境,原理-1
    appium环境搭建+真机+获取package和activity来验证是否搭建成功+appium自带的定位元素
  • 原文地址:https://www.cnblogs.com/Iron-1995/p/14371020.html
Copyright © 2011-2022 走看看