본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

객체 삭제 (Delete objects)

원문 보기 위키 갱신

대시보드, Workers API, S3 API 또는 명령줄 도구를 사용해 R2에서 객체를 삭제할 수 있어요. 전체 버킷을 비우거나 삭제하려면 버킷 삭제(Delete buckets)를 참고해요.

출처: 문서

본문

대시보드로 삭제 (Delete via dashboard)

  • Cloudflare 대시보드에서 R2 객체 스토리지(R2 object storage) 페이지로 이동해요. 개요(Overview)로 이동 ↗
  • 버킷을 선택해요.
  • (선택) 접두사를 디렉터리로 보기(View prefixes as directories) 체크박스를 선택해 접두사가 폴더로 그룹화된 것을 확인해요.
  • 삭제할 객체나 폴더를 선택해요. 같은 작업에서 둘을 섞어 선택할 수 있어요.
  • 삭제(Delete) 를 선택해요.
  • 나타나는 대화상자에서 선택을 확인해요.

버킷의 모든 객체를 한 번에 삭제하려면 버킷 비우기(Empty a bucket)를 참고해요.

Workers API로 삭제 (Delete via 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로 삭제 (Delete via S3 API)

S3 호환 SDK를 사용해 객체를 삭제해요. 계정 ID와 R2 API 토큰이 필요해요.

import { S3Client, DeleteObjectCommand } from "@aws-sdk/client-s3";

const S3 = new S3Client({
	region: "auto", // SDK에서 필요하지만 R2에서는 사용되지 않음
	// Cloudflare 계정 ID를 제공합니다
	endpoint: `https://<ACCOUNT_ID>.r2.cloudflarestorage.com`,
	// API 토큰을 통해 R2 버킷의 S3 API 자격 증명을 가져옵니다 (참고: 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",
	# Cloudflare 계정 ID를 제공합니다
	endpoint_url=f"https://{ACCOUNT_ID}.r2.cloudflarestorage.com",
	# API 토큰을 통해 R2 버킷의 S3 API 자격 증명을 가져옵니다 (참고: https://developers.cloudflare.com/r2/api/tokens)
	aws_access_key_id=ACCESS_KEY_ID,
	aws_secret_access_key=SECRET_ACCESS_KEY,
	region_name="auto", # SDK에서 필요하지만 R2에서는 사용되지 않음
)

s3.delete_object(Bucket="my-bucket", Key="image.png")

전체 S3 API 문서는 S3 API를 참고해요.

Wrangler로 삭제 (Delete via Wrangler)

Wrangler를 사용해 객체를 삭제해요. r2 object delete 명령을 실행해요.

wrangler r2 object delete test-bucket/image.png

버킷 삭제 (Delete buckets)

버킷의 모든 객체를 비우고 버킷을 영구적으로 삭제해요.

버킷 잠금 (Bucket locks)

보존 정책으로 객체를 실수로 삭제되는 것에서 보호해요.

객체 라이프사이클 (Object lifecycles)

지정된 기간이 지나면 객체를 자동으로 만료시켜요.

더 알아보기 (Learn more)