UNPKG

ali-oss

Version:

aliyun oss(object storage service) node client

40 lines (34 loc) 917 B
const _checkBucketName = require('../utils/checkBucketName'); const obj2xml = require('../utils/obj2xml'); const checkTag = require('../utils/checkBucketTag'); const proto = exports; /** * putBucketTags * @param {String} name - bucket name * @param {Object} tag - bucket tag, eg: `{a: "1", b: "2"}` * @param {Object} options */ proto.putBucketTags = async function putBucketTags(name, tag, options = {}) { _checkBucketName(name); checkTag(tag); const params = this._bucketRequestParams('PUT', name, 'tagging', options); params.successStatuses = [200]; tag = Object.keys(tag).map(key => ({ Key: key, Value: tag[key] })); const paramXMLObj = { Tagging: { TagSet: { Tag: tag } } }; params.mime = 'xml'; params.content = obj2xml(paramXMLObj); const result = await this.request(params); return { res: result.res, status: result.status }; };