跳转到内容
搜索文档

删除对象

最后更新 查看 MarkdownAgent 设置

您可以使用仪表板、Workers API、S3 API 或命令行工具从 R2 删除对象。要清空或删除整个存储桶,请参阅删除存储桶

通过仪表板删除

  1. 在 Cloudflare 仪表板中,前往 R2 object storage(R2 对象存储) 页面。

    Go to Overview ↗
  2. 选择您的存储桶。

  3. (可选)选中 View prefixes as directories(将前缀显示为目录) 复选框,以将前缀分组为文件夹查看。

  4. 选择要删除的对象或文件夹。您可以在同一次操作中混合选择两者。

  5. 选择 Delete(删除)

  6. 在出现的对话框中确认您的选择。

要一次性删除存储桶中的所有对象,请参阅清空存储桶

通过 Workers API 删除

在 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 API 删除

使用 S3 兼容 SDK 删除对象。您需要 账户 IDR2 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 删除

使用 Wrangler 删除对象。运行 r2 object delete 命令

wrangler r2 object delete test-bucket/image.png

相关资源

删除存储桶

清空存储桶中的所有对象并永久删除该存储桶。

这篇文档对您有帮助吗?