You need to enable JavaScript to run this app.
Torch Object Storage

Torch Object Storage

Copy page
Download PDF
Bucket tag
DeleteBucketTagging(Rust SDK)
Copy page
Download PDF
DeleteBucketTagging(Rust SDK)
The delete_bucket_tagging interface deletes the tag information of a specified bucket. This article explains how to delete bucket tags using the delete_bucket_tagging interface of the Rust SDK.​
Notes​
  • You need to fill in the region and access domain in the sample code according to your actual situation. For details, see Regions and endpoints.​
  • To prevent key leakage, the sample code reads Access Key ID and Secret Access Key from environment variables. Therefore, before using the SDK, you need to configure long-term access credentials. For details, see Configure long-term access credentials.​
  • The operation returns 204 No Content upon success.​
Permissions required​
The Volcano Engine primary account has all permissions by default, but IAM users have no permissions by default. If you need to perform the delete_bucket_tagging operation using a sub-account, the Volcano Engine primary account must grant the following permissions to the sub-account through IAM policies and Bucket policies:​
tos:PutBucketTagging​
Code example​
Delete the specified bucket’s tag information​
​
use async_trait::async_trait;​
use futures_core::future::BoxFuture;​
use std::env;​
use std::future::Future;​
use std::time::Duration;​
use tokio::runtime::Handle;​
use ve_tos_rust_sdk::common::init_tracing_log;​
use ve_tos_rust_sdk::asynchronous::bucket::BucketAPI;​
use ve_tos_rust_sdk::asynchronous::tos;​
use ve_tos_rust_sdk::asynchronous::tos::AsyncRuntime;​
use ve_tos_rust_sdk::bucket::DeleteBucketTaggingInput;​
use ve_tos_rust_sdk::error::TosError;​
​
#[derive(Debug, Default)]​
pub struct TokioRuntime {}​
​
#[async_trait]​
impl AsyncRuntime for TokioRuntime {​
type JoinError = tokio::task::JoinError;​
async fn sleep(&self, duration: Duration) {​
tokio::time::sleep(duration).await;​
}​
​
fn spawn<'a, F>(&self, future: F) -> BoxFuture<'a, Result<F::Output, Self::JoinError>>​
where​
F: Future + Send + 'static,​
F::Output: Send + 'static,​
{​
Box::pin(Handle::current().spawn(future))​
}​
​
fn block_on<F: Future>(&self, future: F) -> F::Output {​
Handle::current().block_on(future)​
}​
}​
​
#[tokio::main]​
async fn main() {​
let _guard = init_tracing_log("info", "temp/logs", "app.log");​
let ak = env::var("TOS_ACCESS_KEY").unwrap_or("".to_string());​
let sk = env::var("TOS_SECRET_KEY").unwrap_or("".to_string());​
let endpoint = "https://tos-cn-beijing.volces.com";​
let region = "cn-beijing";​
let client = tos::builder::<TokioRuntime>()​
.connection_timeout(3000)​
.request_timeout(10000)​
.max_retry_count(3)​
.ak(ak)​
.sk(sk)​
.region(region)​
.endpoint(endpoint)​
.build().unwrap();​
​
let bucket_name = "example-bucket";​
let input = DeleteBucketTaggingInput::new(bucket_name.to_string());​
let output = client.delete_bucket_tagging(&input).await;​
match output {​
Ok(output) => {​
println!("Bucket label removed successfully,request_id: {}", output.request_id());​
}​
Err(err) => {​
match err {​
TosError::TosClientError { message, .. } => {​
println!("Client error: {}", message);​
}​
TosError::TosServerError { request_id, ec, code, .. } => {​
println!("Server error: request_id: {}, Error code: {}, Error message: {}", request_id, ec, code);​
}​
_ => println!("Unknown error: {:?}", err),​
}​
}​
}​
}​
​
Related documentation​
For the API documentation on DeleteBucketTagging, see DeleteBucketTagging.​
Last updated: 2026.01.06 18:07:30