t-comm
Version:
专业、稳定、纯粹的工具库
67 lines (64 loc) • 2.16 kB
JavaScript
import { getCOSInstance } from './helper.mjs';
import '../../bite/format-bite.mjs';
import '../../third-party/cos-nodejs-sdk-v5.mjs';
/**
* 获取腾讯云COS存储桶中的对象列表
*
* @param secretId - 腾讯云API密钥ID
* @param secretKey - 腾讯云API密钥Key
* @param bucket - COS存储桶名称
* @param region - COS存储桶所在区域
* @param prefix - 对象键前缀匹配,限定返回中只包含指定前缀的对象键(可选)
* @param delimiter - 定界符,用于对对象键进行分组,一般是传/(可选)
* @param maxKeys - 单次返回最大的条目数量,默认1000,最大为1000(可选)
* @param marker - 起始对象键标记,列出从Marker开始MaxKeys条目(可选)
* @param encodingType - 返回值的编码方式,可选值:url(可选)
* @returns Promise对象,成功时返回存储桶内容数据,失败时返回错误信息
* @throws 当参数不全时会抛出错误
* @example
* ```typescript
* getCosBucket({
* secretId: 'your-secret-id',
* secretKey: 'your-secret-key',
* bucket: 'test-bucket',
* region: 'ap-beijing'
* })
* .then(data => console.log(data))
* .catch(err => console.error(err));
* ```
*/
function getCosBucket(_ref) {
var secretId = _ref.secretId,
secretKey = _ref.secretKey,
bucket = _ref.bucket,
region = _ref.region,
prefix = _ref.prefix,
delimiter = _ref.delimiter,
maxKeys = _ref.maxKeys,
marker = _ref.marker,
encodingType = _ref.encodingType;
return new Promise(function (resolve, reject) {
if (!secretId || !secretKey || !bucket || !region) {
reject('[Upload COS Error] 参数不全');
return;
}
var cos = getCOSInstance(secretId, secretKey);
// https://cloud.tencent.com/document/product/436/64982
cos.getBucket({
Bucket: bucket,
Region: region,
Prefix: prefix,
Delimiter: delimiter,
MaxKeys: maxKeys,
Marker: marker,
EncodingType: encodingType
}, function (err, data) {
if (data) {
resolve(data);
return;
}
reject(err || data);
});
});
}
export { getCosBucket };