本文介绍如何使用Swift SDK删除Object的标签信息。
注意事项
本文示例代码以华东1(杭州)的地域ID
cn-hangzhou
为例,默认使用外网Endpoint,如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见OSS地域和访问域名。要删除对象标签,您必须具有
oss:DeleteObjectTagging
权限。具体操作,请参见为RAM用户授予自定义的权限策略。
说明
对象标签使用一组键值对(Key-Value)来标记对象。关于对象标签的更多信息,请参见开发指南中的对象标签。
关于删除对象标签的更多信息,请参见DeleteObjectTagging。
示例代码
您可以使用以下代码删除存储空间中的指定文件的标签信息。
import AlibabaCloudOSS
import Foundation
@main
struct Main {
static func main() async {
do {
// 填写Bucket所在地域(示例:华东1为cn-hangzhou)
let region = "cn-hangzhou" // 替换为实际地域代码(如:cn-hangzhou)
// 填写Bucket名称
// 可选项,指定访问OSS服务的域名。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com
let endpoint: String? = nil
let endpoint = "yourEndpoint"
// 填写要删除标签的对象名称(如:document.txt)
let key = "document.txt" // 替换为实际对象名称
// 从环境变量加载AccessKey凭证(需提前设置OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET环境变量)
let credentialsProvider = EnvironmentCredentialsProvider()
// 配置OSS客户端参数(链式调用确保所有设置生效)
let config = Configuration.default()
.withRegion(region) // 设置Bucket所在地域
.withCredentialsProvider(credentialsProvider) // 设置访问凭证
// 设置Endpoint
if let endpoint = endpoint {
config.withEndpoint(endpoint)
}
// 创建OSS客户端实例
let client = Client(config)
// 删除指定对象的所有标签
let result = try await client.deleteObjectTagging(
DeleteObjectTaggingRequest(
bucket: bucket,
key: key
)
)
print("result:\n\(result)") // 输出操作结果
} catch {
// 错误输出
print("error:\(error)")
}
}
}
相关文档
关于删除对象标签的完整示例代码,请参见GitHub示例。
关于删除对象标签的API接口,请参见DeleteObjectTagging。
该文章对您有帮助吗?