Blob 삭제

Delete Blob 작업은 지정된 blob 또는 스냅숏에 삭제를 표시합니다. 이 blob는 나중에 가비지 수집 중에 삭제됩니다.

Blob을 삭제하려면 해당 스냅숏을 모두 삭제해야 합니다. Delete Blob 작업을 사용하면 이 두 가지를 동시에 삭제할 수 있습니다.

요청

다음과 같이 요청을 생성할 Delete Blob 수 있습니다. HTTPS를 사용하는 것이 좋습니다. myaccount를 스토리지 계정 이름으로 바꿉니다.

DELETE 메서드 요청 URI HTTP 버전
https://myaccount.blob.core.windows.net/mycontainer/myblob

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime>
HTTP/1.1

에뮬레이트된 스토리지 서비스 URI

에뮬레이트된 스토리지 서비스에 대해 요청할 때 에뮬레이터 호스트 이름 및 Azure Blob Storage 포트를 로 127.0.0.1:10000지정한 다음 에뮬레이트된 스토리지 계정 이름을 지정합니다.

DELETE 메서드 요청 URI HTTP 버전
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1

자세한 내용은 로컬 Azure Storage 개발에 Azurite 에뮬레이터 사용을 참조하세요.

URI 매개 변수

요청 URI에 다음 추가 매개 변수를 지정할 수 있습니다.

매개 변수 Description
snapshot 선택 사항입니다. 스냅숏 매개 변수는 불투명 DateTime 값이며, 제공된 경우 삭제할 blob 스냅숏을 지정합니다. Blob 스냅샷 작업에 대한 자세한 내용은 Blob의 스냅샷 만들기를 참조하세요.
versionid 선택 사항, 버전 2019-12-12 이상. 매개 변수는 versionid 있을 때 삭제할 Blob의 버전을 지정하는 불투명 DateTime 값입니다.
timeout 선택 사항입니다. timeout 매개 변수는 초 단위로 표시됩니다. 자세한 내용은 Blob Storage 작업에 대한 시간 제한 설정을 참조하세요.
deletetype 선택적 버전 2020-02-10 이상. 의 deletetype 값은 만 일 permanent수 있습니다.

요청 헤더

다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.

요청 헤더 Description
Authorization 필수 사항입니다. 권한 부여 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
Date 또는 x-ms-date 필수 사항입니다. 요청에 대한 UTC(협정 세계시)를 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
x-ms-version 모든 권한 있는 요청에 필요합니다. 자세한 내용은 Azure Storage 서비스에 대한 버전 관리를 참조하세요.
x-ms-lease-id:<ID> blob에 활성 임대가 포함된 경우 필수입니다.

활성 임대가 포함된 blob에서 이 작업을 수행하려면 이 헤더에 대해 유효한 임대 ID를 지정합니다. 요청에 유효한 임대 ID를 지정하지 않으면 상태 코드 403(사용할 수 없음)으로 인해 작업이 실패합니다.
x-ms-delete-snapshots: {include, only} blob에 연결된 스냅숏이 포함된 경우 필수입니다. 다음 옵션 중 하나를 지정합니다.

- include: 기본 Blob 및 모든 스냅샷을 삭제합니다.
- only: Blob 자체가 아닌 Blob의 스냅샷만 삭제합니다.

기본 Blob 리소스에 대한 요청에 대해서만 이 헤더를 지정합니다. 개별 스냅샷 삭제 요청에 이 헤더를 지정하면 Blob Storage는 상태 코드 400(잘못된 요청)을 반환합니다.

이 헤더가 요청에 지정되지 않고 Blob에 연결된 스냅샷이 있는 경우 Blob Storage는 상태 코드 409(충돌)를 반환합니다.
x-ms-client-request-id 선택 사항입니다. 로깅이 구성될 때 로그에 기록되는 1키비바이트(KiB) 문자 제한으로 클라이언트에서 생성된 불투명 값을 제공합니다. 이 헤더를 사용하여 클라이언트 쪽 활동과 서버가 수신하는 요청의 상관 관계를 지정하는 것이 좋습니다. 자세한 내용은 Azure Blob Storage 모니터링을 참조하세요.

이 작업은 또한 지정된 조건이 충족될 경우에만 Blob을 삭제하는 조건부 헤더 사용을 지원합니다. 자세한 내용은 Blob Storage 작업에 대한 조건부 헤더 지정을 참조하세요.

요청 본문

없음

응답

응답에는 HTTP 상태 코드 및 응답 헤더 집합이 포함되어 있습니다.

상태 코드

작업에 성공하면 상태 코드 202(수락됨)가 반환됩니다. 상태 코드에 대한 자세한 내용은 상태 및 오류 코드를 참조하세요.

응답 헤더

이 작업의 응답에는 다음과 같은 헤더가 포함됩니다. 응답에는 표준 HTTP 헤더가 추가로 포함될 수도 있습니다. 모든 표준 헤더는 HTTP/1.1 프로토콜 사양을 준수합니다.

응답 헤더 Description
x-ms-request-id 이 헤더는 만들어진 요청을 고유하게 식별하며 요청 문제 해결에 사용할 수 있습니다. 자세한 내용은 API 작업 문제 해결을 참조하세요.
x-ms-version 요청을 실행하는 데 사용되는 Blob Storage의 버전을 나타냅니다. 이 헤더는 2009-09-19 버전 이상에 대해 수행된 요청에 대해 반환됩니다.
x-ms-delete-type-permanent 버전 2017-07-29 이상에서 Blob Storage는 Blob이 영구적으로 삭제된 경우 및 false Blob이 일시 삭제된 경우 를 반환 true 합니다.
Date 응답이 시작된 시간을 나타내는 UTC 날짜/시간 값입니다. 서비스에서 이 값을 생성합니다.
x-ms-client-request-id 이 헤더를 사용하여 요청 및 해당 응답 문제를 해결할 수 있습니다. 이 헤더의 값은 요청에 있는 경우 헤더 값 x-ms-client-request-id 과 같습니다. 이 값은 최대 1,024자 표시 ASCII 문자입니다. 헤더가 x-ms-client-request-id 요청에 없는 경우 이 헤더는 응답에 존재하지 않습니다.

권한 부여

Azure Storage에서 데이터 액세스 작업을 호출할 때 권한 부여가 필요합니다. 아래에 설명된 대로 작업에 권한을 부여할 Delete Blob 수 있습니다.

Azure Storage는 Microsoft Entra ID 사용하여 Blob 데이터에 대한 요청에 권한을 부여할 수 있도록 지원합니다. Microsoft Entra ID 사용하면 Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 보안 주체에 권한을 부여할 수 있습니다. 보안 주체는 사용자, 그룹, 애플리케이션 서비스 주체 또는 Azure 관리 ID일 수 있습니다. 보안 주체는 Microsoft Entra ID 인증되어 OAuth 2.0 토큰을 반환합니다. 그런 다음 토큰을 사용하여 Blob service에 대한 요청을 승인할 수 있습니다.

Microsoft Entra ID 사용하여 권한 부여에 대한 자세한 내용은 Microsoft Entra ID 사용하여 Blob에 대한 액세스 권한 부여를 참조하세요.

사용 권한

아래에는 Microsoft Entra 사용자, 그룹 또는 서비스 주체가 작업을 호출 Delete Blob 하는 데 필요한 RBAC 작업과 이 작업을 포함하는 최소 권한의 기본 제공 Azure RBAC 역할이 나와 있습니다.

Azure RBAC를 사용하여 역할을 할당하는 방법에 대한 자세한 내용은 Blob 데이터에 액세스하기 위해 Azure 역할 할당을 참조하세요.

설명

blob에 활성 임대가 포함된 경우 이를 삭제하려면 클라이언트가 요청에 유효한 임대 ID를 지정해야 합니다.

Blob에 많은 수의 스냅샷이 있는 경우 작업 시간이 초과될 수 Delete Blob 있습니다. 이 경우 클라이언트는 요청을 다시 시도해야 합니다.

버전 2013-08-15 이상에서 클라이언트는 를 호출 Delete Blob 하여 커밋되지 않은 Blob을 삭제할 수 있습니다. 커밋되지 않은 Blob블록 배치 작업에 대한 호출로 만들어졌지만 블록 목록 배치 작업을 사용하여 커밋되지 않은 Blob입니다. 이전 버전의 경우 클라이언트는 blob을 삭제하기 전에 먼저 커밋해야 합니다.

일시 삭제 기능 사용 안 함

Blob이 성공적으로 삭제되면 스토리지 계정의 인덱스에서 즉시 제거되고 클라이언트에서 더 이상 액세스할 수 없습니다. blob의 데이터는 나중에 가비지 수집 중에 서비스에서 제거됩니다.

일시 삭제 기능 사용

Blob이 성공적으로 삭제되면 일시 삭제되고 클라이언트에서 더 이상 액세스할 수 없습니다. Blob Storage는 Blob Storage의 속성에 지정된 DeleteRetentionPolicy 일 수 동안 Blob 또는 스냅샷 유지합니다. Blob Storage 속성을 읽는 방법에 대한 자세한 내용은 Blob Storage 속성 설정을 참조하세요.

지정된 일 수 후에는 가비지 수집 중에 Blob의 데이터가 서비스에서 제거됩니다. Blob 나열 작업을 호출하고 옵션을 지정 include=deleted 하여 일시 삭제된 Blob 또는 스냅샷 액세스할 수 있습니다.

삭제 취소 Blob을 사용하여 일시 삭제된 Blob 또는 스냅샷을 복원할 수 있습니다. 일시 삭제된 Blob 또는 스냅샷에 대한 다른 작업의 경우 Blob Storage는 오류 404(리소스를 찾을 수 없음)를 반환합니다.

영구 삭제

버전 2020-02-10 이상에서는 일시 삭제된 스냅샷 또는 버전을 영구적으로 삭제할 수 있습니다. 이렇게 하려면 기능을 사용하도록 설정합니다. 자세한 내용은 Blob Storage 속성 설정을 참조하세요.

참고

스토리지 계정에 버전 관리 또는 스냅샷이 활성화되어 있어야 합니다. 계정의 Blob 버전 또는 스냅샷을 일시 삭제하려면 스토리지 계정에서도 일시 삭제를 사용하도록 설정해야 합니다. 영구 삭제는 일시 삭제된 스냅샷 또는 버전만 삭제합니다.

영구 삭제를 사용하도록 설정된 스토리지 계정은 쿼리 매개 변수를 deletetype=permanent 사용하여 일시 삭제된 스냅샷 또는 삭제된 Blob 버전을 영구적으로 삭제할 수 있습니다.

쿼리 매개 변수에 다음 중 일부가 표시되면 Blob Storage는 409 오류(충돌)를 반환합니다.

  • 스토리지 계정에 대해 영구 삭제 기능을 사용할 수 없습니다.
  • versionid 제공되지 않습니다 snapshot .
  • 지정된 스냅샷 또는 버전은 일시 삭제되지 않습니다.

영구 삭제에는 Blob 스냅샷 또는 Blob 버전을 영구적으로 삭제하는 공유 액세스 서명 권한도 포함됩니다. 자세한 내용은 서비스 SAS 만들기를 참조하세요.

결제

스토리지 계정에는 요청에 대한 Delete Blob 요금이 청구되지 않습니다.

추가 정보

Azure Storage에 대한 요청 권한 부여

상태 및 오류 코드

Blob Storage 오류 코드

Blob 삭제 취소

Blob 나열