Skip to content

eminoda/tool-aliyun-cdn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tool-aliyun-cdn

阿里云 cdn 工具包

feature

  • 刷新并推送 CDN
  • 查询 CDN 使用情况

quickstart

  1. 安装 npm

    npm install tool-aliyun-cdn --save
  2. 创建 AliyunCDN 对象

    const AliyunCDN = require('tool-aliyun-cdn');
    // https://usercenter.console.aliyun.com/
    const cdn = new AliyunCDN({
    	AccessKeyId: 'AccessKeyId', //阿里云颁发给用户的访问服务所用的密钥ID
    	AccessKeySecret: 'AccessKeySecret' //签名结果串,关于签名的计算方法,请参见签名机制。
    });
  3. 通用 API 调用

    cdn.request

    所有 AliyunCDN 方法返回都是 promise 规范,请求参数和 aliyun 一致阿里云 新版 API 参考

    cdn
    	.request({
    		url: cdn.buildAliyunApi({
    			Action: 'RefreshObjectCaches',
    			ObjectPath: `imagecdn.xx.cn/cdn/test/cdn1.png\r\nimagecdn.xx.cn/test/cdn2.png`,
    			ObjectType: 'File'
    		})
    	})
    	.then(data => {})
    	.catch(err => {});

cdn.refresh

刷新 CDN 缓存

参数 类型 说明
path string | Array 刷新路径、(多)文件 domain/file.png | ['domain/cdn/file1.png', 'domain/file2.png'] |domain/dirtory/
isFile boolean 文件、路径

目录方式

cdn.refresh({
	path: 'imagecdn.xx.cn/cdn/test',
	isFile: false
});

文件方式

cdn.refresh({
	path: ['imagecdn.xx.cn/cdn/test/cdn1.png', 'imagecdn.xx.cn/test/cdn2.png'],
	isFile: true
});

返回结果:

{
	RefreshTaskId: '4399915570',
	RequestId: '09B2C20B-9B9A-41D2-A22F-8F00191211EA'
}

cdn.preloadRefresh

预热 CDN

参数 类型 说明
path string | Array 刷新文件(支持数组类型多文件),不支持目录预热
area string 区域 domestic|overseas
cdn.preloadRefresh({
	path: ['imagecdn.xx.cn/cdn/test/cdn1.png', 'imagecdn.xx.cn/test/cdn2.png'],
	area: 'domestic'
});

返回结果:

{
	RefreshTaskId: '4399915570',
	RequestId: '09B2C20B-9B9A-41D2-A22F-8F00191211EA'
}

refreshHistory

CDN 历史刷新记录

参数 类型 说明
path string 精确路径
domain string 域名
type string 文件类型 preload | file | directory
status string 刷新状态 Complete | Refreshing | Failed
startTime string 北京时间(2019-02-19 17:00:00)
endTime string 北京时间(2019-02-19 18:00:00)
pageSize number 每页条数
pageNumber number 页数
cdn.refreshHistory({
	path: 'http://imagecdn.xx.cn/cdntest/cdn3.png',
	domain: 'imagecdn.xx.cn',
	type: 'file',
	startTime: '2019-02-19 17:00:00',
	endTime: '2019-02-19 18:00:00'
});

返回结果:

{
	PageNumber: 1,
	TotalCount: 17,
	PageSize: 20,
	RequestId: '0B94550C-F92D-4ACE-88DB-70A6B90BE559',
	Tasks:
	{
		CDNTask:[{
			CreationTime: '2019-02-19T07:57:58Z',
			ObjectPath: 'http://imagecdn.xx.cn/cdn/test/cdn1.png',
			Status: 'Complete',
			ObjectType: 'file',
			Process: '100%',
			TaskId: '4399109860'
		}]
	}
}

cdn.useInfo

CDN 套餐使用情况说明

cdn.useInfo();

返回结果:

{
	DirQuota: '100',
	PreloadRemain: '500',
	DirRemain: '99',
	blockRemain: '100',
	RequestId: 'E6882C9F-0054-4A0B-A237-00F217AE4DAE',
	UrlQuota: '2000',
	UrlRemain: '1980',
	BlockQuota: '100',
	PreloadQuota: '500'
}

Releases

No releases published

Packages

No packages published