阿里云CDN刷新链接接口实践

今天更改了一个线上的css文件,由于项目部署了cdn,需要对缓存进行清理。有两种方式; 一、清除cdn缓存 二、更改页面引入文件地址,如加入版本号 第一种方式需要登录阿里云,然后

今天更改了一个线上的css文件,由于项目部署了cdn,需要对缓存进行清理。有两种方式;

一、清除cdn缓存

二、更改页面引入文件地址,如加入版本号

第一种方式需要登录阿里,然后进行缓存清理操作,比较麻烦;

第二种方式如果是涉及的页面数量过多,在更改起来也是非常麻烦的。

我们使用的阿里云的cdn产品,记得以往的产品都有api接口,想通过阿里云cdn接口模式对链接进行缓存清除操作。

下面是php实例:

一、安装SDK

使用composer进行安装,命令:

composer require alibabacloud/client

二、获取阿里云参数

1、accessKeyId

2、accessSecret

建议使用子密钥

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/10/29 0029
 * Time: 10:10
 */
 
namespace App\index\controller;
 
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use think\Controller;
use think\Request;
 
class Cdn extends Controller
{
    protected $accessKeyId;
    protected $accessSecret;
 
    public function __construct(Request $request = null)
    {
        parent::__construct($request);
        $this->accessKeyId  = '123456789';
        $this->accessSecret = '123456789';
    }
 
    public function index()
    {
        $url = 'http://www.demo.com/css/index.css';
        AlibabaCloud::accessKeyClient($this->accessKeyId, $this->accessSecret)
            ->regionId('cn-hangzhou')
            ->asDefaultClient();
        try {
            $result = AlibabaCloud::rpc()
                ->product('Cdn')
                // ->scheme('https') // https | http
                ->version('2018-05-10')
                ->action('RefreshObjectCaches')
                ->method('POST')
                ->host('cdn.aliyuncs.com')
                ->options([
                    'query' => [
                        'RegionId'   => "cn-hangzhou",
                        'ObjectPath' => $url,
                    ],
                ])
                ->request();
            $res    = $result->toArray();
            if(isset($res['RefreshTaskId'])) {
                echo '刷新成功';
            } else {
                echo '刷新失败';
            }
        }
        catch(ClientException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        }
        catch(ServerException $e) {
            echo $e->getErrorMessage() . PHP_EOL;
        }
 
    }
}

建议在提交刷新后,2分钟后查看效果,注意要清除浏览器缓存哦!

版权声明:(阿里云CDN刷新链接接口实践)由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件标题或链接至 service#hao123w.com ,本站将立刻删除。
(0)
上一篇 2020年5月19日 下午3:00
下一篇 2020年5月19日 下午3:02
hao123w, hao123生活号 - 让生活更简单!,更多信息请访问 http://www.hao123w.com/