Share via


TypeScript를 사용하여 Blob 삭제 및 복원

이 문서에서는 JavaScript용 Azure Storage 클라이언트 라이브러리를 사용하여 Blob을 삭제하는 방법을 보여 줍니다. Blob 일시 삭제를 사용하도록 설정한 경우 보존 기간 동안 삭제된 Blob을 복원할 수 있습니다.

필수 조건

  • 이 문서의 예제에서는 JavaScript용 Azure Blob Storage 클라이언트 라이브러리로 작업하도록 프로젝트가 이미 설정되어 있다고 가정합니다. 패키지 설치, 모듈 가져오기, 데이터 리소스 작업을 위한 권한 있는 클라이언트 개체 만들기 등 프로젝트를 설정하는 방법에 대한 자세한 내용은 Azure Blob Storage 및 TypeScript 시작을 참조하세요.
  • 권한 부여 메커니즘에는 Blob을 삭제하거나 일시 삭제된 Blob을 복원할 수 있는 권한이 있어야 합니다. 자세한 내용은 다음 REST API 작업에 대한 권한 부여 지침을 참조하세요.

Blob 삭제

Blob을 삭제하려면 BlobClient를 만든 후 다음 메서드 중 하나를 호출합니다.

다음 예제에서는 Blob을 삭제합니다.

async function deleteBlob(
  containerClient: ContainerClient,
  blobName
): Promise<void> {
  // Create blob client from container client
  const blockBlobClient: BlockBlobClient =
    await containerClient.getBlockBlobClient(blobName);

  // include: Delete the base blob and all of its snapshots.
  // only: Delete only the blob's snapshots and not the blob itself.
  const options: BlobDeleteOptions = {
    deleteSnapshots: 'include' // or 'only'
  };
  const blobDeleteResponse: BlobDeleteResponse = await blockBlobClient.delete(
    options
  );

  if (!blobDeleteResponse.errorCode) {
    console.log(`deleted blob ${blobName}`);
  }
}

다음 예제에서는 Blob이 있는 경우 이를 삭제합니다.

async function deleteBlobIfItExists(
  containerClient: ContainerClient,
  blobName
): Promise<void> {
  // Create blob client from container client
  const blockBlobClient = await containerClient.getBlockBlobClient(blobName);

  // include: Delete the base blob and all of its snapshots.
  // only: Delete only the blob's snapshots and not the blob itself.
  const options: BlobDeleteOptions = {
    deleteSnapshots: 'include' // or 'only'
  };
  const blobDeleteIfExistsResponse: BlobDeleteIfExistsResponse =
    await blockBlobClient.deleteIfExists(options);

  if (!blobDeleteIfExistsResponse.errorCode) {
    console.log(`deleted blob ${blobName}`);
  }
}

삭제된 Blob 복원

Blob 일시 삭제는 지정된 기간 동안 시스템에서 삭제된 데이터를 유지하여 개별 Blob 및 해당 버전, 스냅샷 및 메타데이터를 실수로 삭제하거나 덮어쓰지 않도록 보호합니다. 보존 기간 중에는 삭제 시 Blob을 해당 상태로 복원할 수 있습니다. 보존 기간이 만료되면 Blob이 영구적으로 삭제됩니다. Blob 일시 삭제에 대한 자세한 내용은 Blob 일시 삭제를 참조하세요.

Azure Storage 클라이언트 라이브러리를 사용하여 일시 삭제된 Blob 또는 스냅샷을 복원할 수 있습니다.

버전 관리를 사용하지 않는 경우 일시 삭제된 개체 복원하기

삭제된 Blob을 복원하려면 BlobClient를 만든 후 다음 메서드를 호출합니다.

이 메서드는 일시 삭제된 Blob 및 이와 관련된 삭제된 스냅샷을 복원합니다. 삭제되지 않은 Blob에 대해 이 메서드를 호출해도 효과가 없습니다.

async function undeleteBlob(
  containerClient: ContainerClient,
  blobName
): Promise<void> {
  // Create blob client from container client
  const blockBlobClient: BlockBlobClient =
    await containerClient.getBlockBlobClient(blobName);

  const options: BlobUndeleteOptions = {};
  const blobUndeleteResponse: BlobUndeleteResponse =
    await blockBlobClient.undelete(options);

  if (!blobUndeleteResponse.errorCode) {
    console.log(`undeleted blob ${blobName}`);
  }
}

리소스

JavaScript용 Azure Blob Storage 클라이언트 라이브러리를 사용하여 Blob을 삭제하고 삭제된 Blob을 복원하는 방법에 대한 자세한 내용은 다음 리소스를 참조하세요.

REST API 작업

JavaScript용 Azure SDK에는 Azure REST API를 기반으로 빌드되는 라이브러리가 포함되어 있으므로 익숙한 JavaScript 패러다임을 통해 REST API 작업과 상호 작용할 수 있습니다. Blob을 삭제하고 삭제된 Blob을 복원하기 위한 클라이언트 라이브러리 메서드는 다음 REST API 작업을 사용합니다.

코드 샘플

클라이언트 라이브러리 리소스

참고 항목