您可以使用仪表板、Workers API、S3 API 或命令行工具从 R2 删除对象。要清空或删除整个存储桶,请参阅删除存储桶。
-
在 Cloudflare 仪表板中,前往 R2 object storage(R2 对象存储) 页面。
Go to Overview ↗ -
选择您的存储桶。
-
(可选)选中 View prefixes as directories(将前缀显示为目录) 复选框,以将前缀分组为文件夹查看。
-
选择要删除的对象或文件夹。您可以在同一次操作中混合选择两者。
-
选择 Delete(删除)。
-
在出现的对话框中确认您的选择。
要一次性删除存储桶中的所有对象,请参阅清空存储桶。
在 Workers 中使用 R2 绑定 删除对象:
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext) {
await env.MY_BUCKET.delete("image.png");
return new Response("Deleted");
},
} satisfies ExportedHandler<Env>;完整文档请参阅 Workers API。
使用 S3 兼容 SDK 删除对象。您需要 账户 ID 和 R2 API 令牌。
import { S3Client, DeleteObjectCommand } from "@aws-sdk/client-s3";
const S3 = new S3Client({
region: "auto", // Required by SDK but not used by R2
// Provide your Cloudflare account ID
endpoint: `https://<ACCOUNT_ID>.r2.cloudflarestorage.com`,
// Retrieve your S3 API credentials for your R2 bucket via API tokens (see: https://developers.cloudflare.com/r2/api/tokens)
credentials: {
accessKeyId: '<ACCESS_KEY_ID>',
secretAccessKey: '<SECRET_ACCESS_KEY>',
},
});
await S3.send(
new DeleteObjectCommand({
Bucket: "my-bucket",
Key: "image.png",
}),
);import boto3
s3 = boto3.client(
service_name="s3",
# Provide your Cloudflare account ID
endpoint_url=f"https://{ACCOUNT_ID}.r2.cloudflarestorage.com",
# Retrieve your S3 API credentials for your R2 bucket via API tokens (see: https://developers.cloudflare.com/r2/api/tokens)
aws_access_key_id=ACCESS_KEY_ID,
aws_secret_access_key=SECRET_ACCESS_KEY,
region_name="auto", # Required by SDK but not used by R2
)
s3.delete_object(Bucket="my-bucket", Key="image.png")完整的 S3 API 文档请参阅 S3 API。
使用 Wrangler 删除对象。运行 r2 object delete 命令:
wrangler r2 object delete test-bucket/image.png删除存储桶
清空存储桶中的所有对象并永久删除该存储桶。
存储桶锁定
使用保留策略保护对象免遭意外删除。
对象生命周期
在指定时间段后自动过期对象。