更新时间:2026-08-03 GMT+08:00
分享

删除桶清单

功能说明

用户可以通过本接口删除指定桶的清单配置(通过清单id来指定清单配置)。有关更多桶清单的介绍和使用限制,请参考《对象存储服务用户指南》的桶清单章节。

要正确执行此操作,需要确保执行者有DeleteBucketInventoryConfiguration权限。缺省情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。

有关权限控制的更多信息请参考《对象存储服务权限配置指南》的OBS权限控制概述章节。

融合桶场景,主桶支持配置桶清单,备桶不支持配置桶清单。

授权信息

您必须是桶拥有者或拥有删除桶清单的权限,才能调用本接口,建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见OBS不同权限控制方式的区别

  • 如果使用IAM授权,那么请在“角色与策略授权”、“身份策略授权”两种IAM授权方式中选择一种,并配置相应权限:
    • 如果使用角色与策略授权(旧版IAM,即IAM v3接口),需具备obs:bucket:DeleteBucketInventoryConfiguration权限,授权操作请参见创建IAM自定义策略
    • 如果使用身份策略授权(新版IAM,即IAM v5接口),如下表所示,需具备obs:bucket:deleteBucketInventoryConfiguration权限,授权操作请参见创建IAM自定义身份策略

      授权项

      Action

      访问级别

      Access Level

      资源类型(*为必须)

      Resource Type (*: required)

      条件键

      Condition Key

      别名别名

      Alias

      依赖的授权项

      Dependencies

      obs:bucket:deleteBucketInventoryConfiguration

      Write

      bucket *

      -

      -

      -

      • obs:EpochTime
      • obs:SourceIp
      • obs:TlsVersion
      • obs:CustomDomain
  • 如果使用桶策略进行授权,需具备obs:bucket:DeleteBucketInventoryConfiguration权限,具体操作请参见自定义创建桶策略

方法定义

func (obsClient ObsClient) DeleteBucketInventory(input *DeleteBucketInventoryInput, extensions ...extensionOptions) (output *BaseModel, err error)

请求参数说明

表1 DeleteBucketInventoryInput参数说明

参数

类型

是否必选

说明

Bucket

string

参数解释:

桶的名称。

取值范围:

无。

Id

string

参数解释:

需要删除的清单配置 ID。

取值范围:

只能由"a-z"、"A-Z"、"0-9"、"-"、"_"和".组成,且长度不超过64字节。

响应参数说明

表1 BaseModel

参数名称

参数类型

描述

StatusCode

int

参数解释:

HTTP状态码。

约束限制:

取值范围:

状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码

默认取值:

RequestId

string

参数解释:

OBS服务端返回的请求ID。

约束限制:

取值范围:

默认取值:

ResponseHeaders

map[string][]string

参数解释:

HTTP响应头信息。

约束限制:

取值范围:

默认取值:

代码示例

本示例用于删除桶examplebucket上ID为inventory-rule-1的桶清单配置。

package main

import (
	"fmt"
	"log"
        obs "github.com/huaweicloud/huaweicloud-sdk-go-obs/obs"
)

func main() {
    //推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险。
    //您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html。
        ak := os.Getenv("AccessKeyID")
        sk := os.Getenv("SecretAccessKey")
    // 【可选】如果使用临时AK/SK和SecurityToken访问OBS,同样建议您尽量避免使用硬编码,以降低信息泄露风险。您可以通过环境变量获取访问密钥AK/SK,也可以使用其他外部引入方式传入。
    securityToken := os.Getenv("SecurityToken")
    // endpoint填写Bucket对应的Endpoint,这里以华北-北京四为例,其他地区请按实际情况填写。     endPoint := "https://obs.cn-north-4.myhuaweicloud.com"
	// 创建客户端
    obsClient, err := obs.New(ak, sk, endPoint, obs.WithSecurityToken(securityToken))
    if err != nil {
        fmt.Printf("Create obsClient error, errMsg: %s", err.Error())
    }

	// 删除清单配置
	input := &obs.DeleteBucketInventoryInput{
		Bucket: "my-bucket",
		Id:     "inventory-rule-1",
	}

	output, err := client.DeleteBucketInventory(input)
	if err != nil {
		log.Fatalf("Failed to delete bucket inventory: %v", err)
	}

	fmt.Printf("Request ID: %s\n", output.RequestId)
	fmt.Println("Inventory configuration deleted successfully")

}

相关链接

  • 更多关于桶清单的示例代码,请参见Github示例
  • 桶清单接口返回的错误码含义、问题原因及处理措施可参考OBS错误码

相关文档