Blob 삭제Delete Blob

Delete Blob 작업은 지정된 blob 또는 스냅숏에 삭제를 표시합니다.The Delete Blob operation marks the specified blob or snapshot for deletion. 이 blob는 나중에 가비지 수집 중에 삭제됩니다.The blob is later deleted during garbage collection.

Blob을 삭제하려면 해당 스냅숏을 모두 삭제해야 합니다.Note that in order to delete a blob, you must delete all of its snapshots. Delete Blob 작업을 사용하면 이 두 가지를 동시에 삭제할 수 있습니다.You can delete both at the same time with the Delete Blob operation.

요청Request

다음과 같이 Delete Blob 요청을 생성할 수 있습니다.The Delete Blob request may be constructed as follows. HTTPS를 사용하는 것이 좋습니다.HTTPS is recommended. Myaccount 을 사용자의 저장소 계정 이름으로 바꿉니다.Replace myaccount with the name of your storage account:

DELETE 메서드 요청 URIDELETE Method Request URI HTTP 버전HTTP Version
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.1HTTP/1.1

에뮬레이트된 저장소 서비스 URIEmulated storage service URI

에뮬레이트된 저장소 서비스에 대해 요청을 수행할 때는 에뮬레이터 호스트 이름 및 Blob 서비스 포트를 127.0.0.1:10000으로 지정하고 뒤에 에뮬레이트된 저장소 계정 이름을 붙입니다.When making a request against the emulated storage service, specify the emulator hostname and Blob service port as 127.0.0.1:10000, followed by the emulated storage account name:

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

자세한 내용은 개발 및 테스트에 Azure Storage 에뮬레이터 사용을 참조 하세요.For more information, see Using the Azure Storage Emulator for Development and Testing.

URI 매개 변수URI parameters

요청 URI에 다음과 같은 추가 매개 변수를 지정할 수 있습니다.The following additional parameters may be specified on the request URI.

매개 변수Parameter DescriptionDescription
snapshot 선택 사항입니다.Optional. 스냅숏 매개 변수는 불투명 DateTime 값이며, 제공된 경우 삭제할 blob 스냅숏을 지정합니다.The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to delete. Blob 스냅숏을 사용 하는 방법에 대 한 자세한 내용은 blob의 스냅숏 만들기를 참조 하세요.For more information on working with blob snapshots, see Creating a Snapshot of a Blob.
versionid 선택 사항, 버전 2019-12-12 이상.Optional, version 2019-12-12 and newer. 이 매개 변수는 불투명 DateTime 값 이며, 있는 경우 삭제할 blob의 버전을 지정 합니다.The versionid parameter is an opaque DateTime value that, when present, specifies the Version of the blob to delete.
timeout 선택 사항입니다.Optional. timeout 매개 변수는 초 단위로 표시됩니다.The timeout parameter is expressed in seconds. 자세한 내용은 Blob 서비스 작업에 대 한 시간 제한 설정을 참조 하세요.For more information, see Setting Timeouts for Blob Service Operations.
deletetype 선택 사항, 버전 2020-02-10 이상.Optional, version 2020-02-10 or later. 값은 deletetype 일 수만 있습니다 permanent .The value of deletetype can only be permanent. 자세한 내용은 아래 설명 부분을 참조 하세요.For more information, see Remarks below.

요청 헤더Request Headers

다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.The following table describes required and optional request headers.

요청 헤더Request Header DescriptionDescription
Authorization 필수 사항입니다.Required. 인증 체계, 계정 이름 및 서명을 지정 합니다.Specifies the authorization scheme, account name, and signature. 자세한 내용은 Azure Storage에 요청 권한 부여를 참조 하세요.For more information, see Authorize requests to Azure Storage.
Date 또는 x-ms-dateDate or x-ms-date 필수 사항입니다.Required. 요청에 대한 UTC(협정 세계시)를 지정합니다.Specifies the Coordinated Universal Time (UTC) for the request. 자세한 내용은 Azure Storage에 요청 권한 부여를 참조 하세요.For more information, see Authorize requests to Azure Storage.
x-ms-version 모든 권한이 부여 된 요청에 필요 합니다.Required for all authorized requests. 자세한 내용은 Azure Storage Services에 대 한 버전 관리를 참조 하세요.For more information, see Versioning for the Azure Storage Services.
x-ms-lease-id:<ID> blob에 활성 임대가 포함된 경우 필수입니다.Required if the blob has an active lease.

활성 임대가 포함된 blob에서 이 작업을 수행하려면 이 헤더에 대해 유효한 임대 ID를 지정합니다.To perform this operation on a blob with an active lease, specify the valid lease ID for this header. 요청에 유효한 임대 ID가 지정되지 않은 경우 작업이 실패하고 상태 코드 403(사용 권한 없음)이 나타납니다.If a valid lease ID is not specified on the request, the operation will fail with status code 403 (Forbidden).
x-ms-delete-snapshots: {include, only} blob에 연결된 스냅숏이 포함된 경우 필수입니다.Required if the blob has associated snapshots. 다음 두 옵션 중 하나를 지정합니다.Specify one of the following two options:

- include: 기본 blob 및 모든 해당 스냅숏을 삭제 합니다.- include: Delete the base blob and all of its snapshots.
- only: Blob의 스냅숏을 삭제 하 고 blob 자체는 삭제 하지 않습니다.- only: Delete only the blob's snapshots and not the blob itself.

이 헤더는 기본 blob 리소스에 대한 요청의 경우에만 지정해야 합니다.This header should be specified only for a request against the base blob resource. 개별 스냅숏을 삭제하기 위한 요청에 이 헤더가 지정된 경우 Blob 서비스가 상태 코드 400(잘못된 요청)을 반환합니다.If this header is specified on a request to delete an individual snapshot, the Blob service returns status code 400 (Bad Request).

이 헤더가 요청에 지정되지 않았고 blob에 연결된 스냅숏이 포함된 경우, Blob 서비스는 상태 코드 409(충돌)를 반환합니다.If this header is not specified on the request and the blob has associated snapshots, the Blob service returns status code 409 (Conflict).
x-ms-client-request-id 선택 사항입니다.Optional. 저장소 분석 로깅을 사용 하도록 설정한 경우 분석 로그에 기록 되는 1 KiB 문자 제한이 있는 클라이언트 생성 불투명 값을 제공 합니다.Provides a client-generated, opaque value with a 1 KiB character limit that is recorded in the analytics logs when storage analytics logging is enabled. 이 헤더를 사용하면 클라이언트 쪽 작업을 서버에서 받은 요청과 관련시키는 것이 좋습니다.Using this header is highly recommended for correlating client-side activities with requests received by the server. 자세한 내용은 스토리지 분석 로깅Azure 로깅: 로그를 사용 하 여 저장소 요청 추적을 참조 하세요.For more information, see About Storage Analytics Logging and Azure Logging: Using Logs to Track Storage Requests.

이 작업은 또한 지정된 조건이 충족될 경우에만 Blob을 삭제하는 조건부 헤더 사용을 지원합니다.This operation also supports the use of conditional headers to delete the blob only if a specified condition is met. 자세한 내용은 Blob 서비스 작업의 조건부 헤더 지정을 참조하세요.For more information, see Specifying Conditional Headers for Blob Service Operations.

요청 본문Request Body

없음None.

응답Response

응답에는 HTTP 상태 코드 및 응답 헤더 집합이 포함되어 있습니다.The response includes an HTTP status code and a set of response headers.

상태 코드Status Code

작업에 성공하면 상태 코드 202(수락됨)가 반환됩니다.A successful operation returns status code 202 (Accepted).

상태 코드에 대 한 자세한 내용은 상태 및 오류 코드를 참조 하세요.For information about status codes, see Status and Error Codes.

응답 헤더Response Headers

이 작업의 응답에는 다음과 같은 헤더가 포함됩니다.The response for this operation includes the following headers. 응답에는 추가 표준 HTTP 헤더가 포함될 수도 있습니다.The response may also include additional standard HTTP headers. 모든 표준 헤더는 HTTP/1.1 프로토콜 사양을따릅니다.All standard headers conform to the HTTP/1.1 protocol specification.

응답 헤더Response Header DescriptionDescription
x-ms-request-id 이 헤더는 수행된 요청을 고유하게 식별하며, 이 헤더를 사용해서 요청 문제를 해결할 수 있습니다.This header uniquely identifies the request that was made and can be used for troubleshooting the request. 자세한 내용은 API 작업 문제 해결을 참조 하세요.For more information, see Troubleshooting API Operations.
x-ms-version 요청을 실행하는 데 사용되는 Blob 서비스의 버전을 나타냅니다.Indicates the version of the Blob service used to execute the request. 이 헤더는 2009-09-19 버전 이상에 대해 수행된 요청에 대해 반환됩니다.This header is returned for requests made against version 2009-09-19 and above.
x-ms-delete-type-permanent 버전 2017-07-29 이상에서는 blob이 영구적으로 삭제 된 경우 Blob service true를 반환 하 고 blob이 일시 삭제 된 경우 false를 반환 합니다.For versions 2017-07-29 and later, the Blob service returns true if the blob has been permanently deleted, and false if the blob has been soft-deleted.
Date 응답이 시작된 시간을 나타내는 서비스에서 생성된 UTC 날짜/시간 값입니다.A UTC date/time value generated by the service that indicates the time at which the response was initiated.
x-ms-client-request-id 이 헤더를 사용 하 여 요청 및 해당 응답의 문제를 해결할 수 있습니다.This header can be used to troubleshoot requests and corresponding responses. 이 헤더의 값은 요청에 있는 경우 헤더의 값과 같으며 x-ms-client-request-id , 값은 최대 1024 표시 ASCII 문자입니다.The value of this header is equal to the value of the x-ms-client-request-id header if it is present in the request and the value is at most 1024 visible ASCII characters. x-ms-client-request-id요청에 헤더가 없는 경우이 헤더는 응답에 표시 되지 않습니다.If the x-ms-client-request-id header is not present in the request, this header will not be present in the response.

권한 부여Authorization

이 작업은 계정 소유자 또는 blob 삭제 권한이 있는 공유 액세스 서명을 사용하는 모든 사용자가 수행할 수 있습니다.This operation can be performed by the account owner or by anyone using a Shared Access Signature that has permission to delete the blob.

설명Remarks

blob에 활성 임대가 포함된 경우 이를 삭제하려면 클라이언트가 요청에 유효한 임대 ID를 지정해야 합니다.If the blob has an active lease, the client must specify a valid lease ID on the request in order to delete it.

Blob에 스냅숏이 많이 있는 경우 Delete Blob 작업 시간이 초과 될 수 있습니다. 이 경우 클라이언트는 요청을 다시 시도해 야 합니다.If a blob has a large number of snapshots, it's possible that the Delete Blob operation will time out. If this happens, the client should retry the request.

버전 2013-08-15 이상의 경우 클라이언트는 Delete Blob을 호출하여 커밋되지 않은 blob을 삭제할 수 있습니다.For version 2013-08-15 and later, the client may call Delete Blob to delete uncommitted blobs. 커밋되지 않은 blob은 Put block 작업에 대 한 호출을 사용 하 여 만든 Blob 이지만 블록 목록 배치 작업을 사용 하 여 커밋되지 않은 blob입니다.An uncommitted blob is a blob that was created with calls to the Put Block operation but never committed using the Put Block List operation. 이전 버전의 경우 클라이언트는 blob을 삭제하기 전에 먼저 커밋해야 합니다.For earlier versions, the client must commit the blob first before deleting it.

일시 삭제 기능 사용 안 함Soft delete feature disabled

Blob을 성공적으로 삭제하면 저장소 계정의 인덱스에서 즉시 제거되며, 클라이언트에서 더 이상 액세스할 수 없습니다.When a blob is successfully deleted, it is immediately removed from the storage account's index and is no longer accessible to clients. blob의 데이터는 나중에 가비지 수집 중에 서비스에서 제거됩니다.The blob's data is later removed from the service during garbage collection.

일시 삭제 기능 사용Soft delete feature enabled

Blob가 성공적으로 삭제 되 면 삭제 되 고 클라이언트에서 더 이상 액세스할 수 없게 됩니다.When a blob is successfully deleted, it is softly deleted and is no longer accessible to clients. Blob service Blob service의 DeleteRetentionPolicy 속성에 대해 지정 된 일 수 동안 Blob 또는 스냅숏을 유지 합니다.The Blob service retains the blob or snapshot for the number of days specified for the DeleteRetentionPolicy property of the Blob service. Blob service 속성을 읽는 방법에 대 한 자세한 내용은 Set Blob Service properties을 참조 하세요.For information about reading Blob service properties, see Set Blob Service Properties.

지정 된 일 수 후에는 가비지 수집 중에 blob의 데이터가 서비스에서 제거 됩니다.After the specified number of days, the blob’s data is removed from the service during garbage collection. Blob 나열 작업을 호출 하 고 옵션을 지정 하 여,이 처럼 제거 된 blob 또는 스냅숏에 액세스할 수 include=deleted 있습니다.A softly deleted blob or snapshot is accessible by calling the List Blobs operation and specifying the include=deleted option.

일시 삭제 된 blob 또는 스냅숏은 삭제 취소 blob을 사용 하 여 복원할 수 있습니다.Soft deleted blob or snapshot can be restored using Undelete Blob.

일시 삭제 된 blob 또는 스냅숏에 대 한 다른 작업의 경우 Blob 서비스는 오류 404 (ResourceNotFound)을 반환 합니다.For any other operation on soft deleted blob or snapshot, Blob Service returns error 404 (ResourceNotFound).

영구 삭제Permanent Delete

스냅숏/버전을 영구적으로 삭제 하는 기능이 버전 2020-02-10 이상의 blob API 삭제에 추가 되었습니다.A feature to permanently delete a snapshot / version has been added into delete blob API with version 2020-02-10 and later. 이 기능을 활용 하려면 저장소 계정에 영구 삭제를 사용 하도록 설정 해야 합니다.In order to leverage the feature, the storage account needs to have permanent delete enabled. 자세한 내용은 Blob 서비스 속성 설정을 참조 하세요.For more for information, see Set Blob Service Properties.

영구 삭제를 사용 하는 저장소 계정은 deletetype=permanent 쿼리 매개 변수를 사용 하 여 일시 삭제 된 스냅숏 또는 삭제 된 blob 버전을 영구적으로 삭제할 수 있습니다.Storage accounts with permanent delete enabled can use the deletetype=permanent query parameter to permanently delete a soft-deleted snapshot or deleted blob version. 쿼리 매개 변수가 다음 중 하 나와 함께 제공 되는 경우 Blob service는 409 (충돌)를 반환 합니다.Blob service would return 409 (Conflict) if the query parameter presents with any of the following:

  • 저장소 계정에 영구적 삭제가 활성화 되어 있지 않습니다.The permanent delete is not enabled for the storage account.
  • versionid snapshot 와는 모두 제공 되지 않습니다.Neither versionid nor snapshot are provided.
  • 지정 된 스냅숏 또는 버전이 (소프트) 삭제 되지 않습니다.The specified snapshot or version is not (soft) deleted.

영구 삭제에는 blob 스냅숏 또는 blob 버전을 영구적으로 삭제 하는 새로운 SAS 권한 (y) 권한 부여 권한도 포함 됩니다.Permanent delete also includes a new SAS permission (y) grant permission to permanently delete a blob snapshot or blob version. 자세한 내용은 서비스 SAS 만들기를 참조 하세요.For more information, see Create a service SAS.

참고 항목See also

Azure Storage에 대 한 요청 권한 부여 Authorize requests to Azure Storage
상태 및 오류 코드 Status and Error Codes
Blob 서비스 오류 코드 blob 목록 blob 삭제 취소Blob Service Error Codes Undelete Blob List Blobs