curl -X DELETE "https://mybucket.storage.nami.cloud/example.jpg" \
-H "Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20231028/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024"
import boto3
s3_client = boto3.client('s3',
endpoint_url='https://storage.nami.cloud',
aws_access_key_id='YOUR_ACCESS_KEY',
aws_secret_access_key='YOUR_SECRET_KEY'
)
s3_client.delete_object(
Bucket='mybucket',
Key='example.jpg'
)
import { S3Client, DeleteObjectCommand } from "@aws-sdk/client-s3";
const client = new S3Client({
endpoint: "https://storage.nami.cloud",
credentials: {
accessKeyId: "YOUR_ACCESS_KEY",
secretAccessKey: "YOUR_SECRET_KEY",
},
});
async function deleteFile() {
const command = new DeleteObjectCommand({
Bucket: "mybucket",
Key: "example.jpg",
});
try {
const response = await client.send(command);
console.log("Delete successful:", response);
} catch (err) {
console.error("Error:", err);
}
}
deleteFile();
package main
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
)
func main() {
sess := session.Must(session.NewSession(&aws.Config{
Endpoint: aws.String("https://storage.nami.cloud"),
Region: aws.String("us-east-1"),
Credentials: credentials.NewStaticCredentials("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY", ""),
}))
s3Client := s3.New(sess)
_, err := s3Client.DeleteObject(&s3.DeleteObjectInput{
Bucket: aws.String("mybucket"),
Key: aws.String("example.jpg"),
})
if err != nil {
panic(err)
}
}
use aws_sdk_s3::{Client, Config};
use aws_config::credentials::StaticCredentialsProvider;
use aws_types::region::Region;
use tokio;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let credentials = StaticCredentialsProvider::new(
"YOUR_ACCESS_KEY".to_string(),
"YOUR_SECRET_KEY".to_string(),
None,
);
let config = Config::builder()
.endpoint_url("https://storage.nami.cloud")
.region(Region::new("us-east-1"))
.credentials_provider(credentials)
.build();
let client = Client::from_conf(config);
client
.delete_object()
.bucket("mybucket")
.key("example.jpg")
.send()
.await?;
println!("Delete successful!");
Ok(())
}
Object Operations
Delete Object
Remove an object from a bucket
DELETE
/
{objectKey}
curl -X DELETE "https://mybucket.storage.nami.cloud/example.jpg" \
-H "Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20231028/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024"
import boto3
s3_client = boto3.client('s3',
endpoint_url='https://storage.nami.cloud',
aws_access_key_id='YOUR_ACCESS_KEY',
aws_secret_access_key='YOUR_SECRET_KEY'
)
s3_client.delete_object(
Bucket='mybucket',
Key='example.jpg'
)
import { S3Client, DeleteObjectCommand } from "@aws-sdk/client-s3";
const client = new S3Client({
endpoint: "https://storage.nami.cloud",
credentials: {
accessKeyId: "YOUR_ACCESS_KEY",
secretAccessKey: "YOUR_SECRET_KEY",
},
});
async function deleteFile() {
const command = new DeleteObjectCommand({
Bucket: "mybucket",
Key: "example.jpg",
});
try {
const response = await client.send(command);
console.log("Delete successful:", response);
} catch (err) {
console.error("Error:", err);
}
}
deleteFile();
package main
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
)
func main() {
sess := session.Must(session.NewSession(&aws.Config{
Endpoint: aws.String("https://storage.nami.cloud"),
Region: aws.String("us-east-1"),
Credentials: credentials.NewStaticCredentials("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY", ""),
}))
s3Client := s3.New(sess)
_, err := s3Client.DeleteObject(&s3.DeleteObjectInput{
Bucket: aws.String("mybucket"),
Key: aws.String("example.jpg"),
})
if err != nil {
panic(err)
}
}
use aws_sdk_s3::{Client, Config};
use aws_config::credentials::StaticCredentialsProvider;
use aws_types::region::Region;
use tokio;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let credentials = StaticCredentialsProvider::new(
"YOUR_ACCESS_KEY".to_string(),
"YOUR_SECRET_KEY".to_string(),
None,
);
let config = Config::builder()
.endpoint_url("https://storage.nami.cloud")
.region(Region::new("us-east-1"))
.credentials_provider(credentials)
.build();
let client = Client::from_conf(config);
client
.delete_object()
.bucket("mybucket")
.key("example.jpg")
.send()
.await?;
println!("Delete successful!");
Ok(())
}
Make sure you have WRITE permission on the bucket.
Delete Object
Removes an object from a bucket. The operation is idempotent - sending multiple delete requests to the same object has no additional effect.Base URL
https://${bucketname}.storage.nami.cloud
Parameters
required
The key of the object to delete
Headers
The MFA authentication code when MFA Delete is enabled
Version ID of the object to delete (for versioned buckets)
Request Examples
curl -X DELETE "https://mybucket.storage.nami.cloud/example.jpg" \
-H "Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20231028/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024"
import boto3
s3_client = boto3.client('s3',
endpoint_url='https://storage.nami.cloud',
aws_access_key_id='YOUR_ACCESS_KEY',
aws_secret_access_key='YOUR_SECRET_KEY'
)
s3_client.delete_object(
Bucket='mybucket',
Key='example.jpg'
)
import { S3Client, DeleteObjectCommand } from "@aws-sdk/client-s3";
const client = new S3Client({
endpoint: "https://storage.nami.cloud",
credentials: {
accessKeyId: "YOUR_ACCESS_KEY",
secretAccessKey: "YOUR_SECRET_KEY",
},
});
async function deleteFile() {
const command = new DeleteObjectCommand({
Bucket: "mybucket",
Key: "example.jpg",
});
try {
const response = await client.send(command);
console.log("Delete successful:", response);
} catch (err) {
console.error("Error:", err);
}
}
deleteFile();
package main
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
)
func main() {
sess := session.Must(session.NewSession(&aws.Config{
Endpoint: aws.String("https://storage.nami.cloud"),
Region: aws.String("us-east-1"),
Credentials: credentials.NewStaticCredentials("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY", ""),
}))
s3Client := s3.New(sess)
_, err := s3Client.DeleteObject(&s3.DeleteObjectInput{
Bucket: aws.String("mybucket"),
Key: aws.String("example.jpg"),
})
if err != nil {
panic(err)
}
}
use aws_sdk_s3::{Client, Config};
use aws_config::credentials::StaticCredentialsProvider;
use aws_types::region::Region;
use tokio;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let credentials = StaticCredentialsProvider::new(
"YOUR_ACCESS_KEY".to_string(),
"YOUR_SECRET_KEY".to_string(),
None,
);
let config = Config::builder()
.endpoint_url("https://storage.nami.cloud")
.region(Region::new("us-east-1"))
.credentials_provider(credentials)
.build();
let client = Client::from_conf(config);
client
.delete_object()
.bucket("mybucket")
.key("example.jpg")
.send()
.await?;
println!("Delete successful!");
Ok(())
}
Response Example
HTTP/1.1 204 No Content
x-amz-id-2: JuKZqmXuiwFeDQxhD7M8KtsKobSzWA1QEjLbTMTagkKdBX2z7Il/jGhDeJ3j6s80
x-amz-request-id: 32FE2CEB32F5EE25
Date: Wed, 28 Oct 2023 22:32:00 GMT
Server: Nami Cloud
⌘I