1.0.2 • Published 5 years ago

tool-aliyun-cdn v1.0.2

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

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 参考](https://help.aliyun.com/document_detail/91856.html?spm=a2c4g.11186623.6.628.68bb1f52PVbQIm))

```js
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 缓存

参数类型说明
pathstring | Array刷新路径、(多)文件 domain/file.png | 'domain/cdn/file1.png', 'domain/file2.png' |domain/dirtory/
isFileboolean文件、路径

目录方式

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

参数类型说明
pathstring | Array刷新文件(支持数组类型多文件),不支持目录预热
areastring区域 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 历史刷新记录

参数类型说明
pathstring精确路径
domainstring域名
typestring文件类型 preload | file | directory
statusstring刷新状态 Complete | Refreshing | Failed
startTimestring北京时间(2019-02-19 17:00:00)
endTimestring北京时间(2019-02-19 18:00:00)
pageSizenumber每页条数
pageNumbernumber页数
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'
}