Partager via


Supprimer et restaurer un blob avec TypeScript

Cet article montre comment supprimer des objets blob avec la bibliothèque de client Stockage Azure pour JavaScript et restaurer des objets blob supprimés de manière réversible pendant la période de rétention.

Prérequis

  • Les exemples de cet article supposent que vous disposez déjà d'un projet configuré pour fonctionner avec la bibliothèque client Azure Blob Storage pour JavaScript. Pour en savoir plus sur la configuration de votre projet, y compris l’installation du package, l’importation de modules et la création d’un objet client autorisé à utiliser les ressources de données, consultez Prise en main de Stockage Blob Azure et TypeScript.
  • Le mécanisme d'autorisation doit avoir des autorisations pour supprimer un blob ou pour restaurer un blob supprimé de manière réversible. Pour plus d’informations, consultez les conseils d’autorisation pour les opérations d’API REST suivantes :

Supprimer un objet blob

Remarque

Lorsque la suppression réversible d’objets blob est activée pour un compte de stockage, vous ne pouvez pas effectuer de suppression définitive en utilisant des méthodes de bibliothèque de client. L’utilisation des méthodes de cet article permet de conserver une capture instantanée, une version d’objet blob ou un objet blob supprimé de manière réversible disponible jusqu’à l’expiration de la période de rétention, après quoi ils sont définitivement supprimés. Pour en savoir plus sur l’opération d’API REST sous-jacente, consultez Supprimer un blob (API REST).

Pour supprimer un objet blob, créez un BlobClient, puis appelez l’une de ces méthodes :

L'exemple suivant supprime un 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}`);
  }
}

L’exemple suivant supprime un blob s’il existe.

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}`);
  }
}

Restaurer un objet blob supprimé

La suppression réversible d’objets blob protège un objet blob et ses versions, instantanés et métadonnées contre les suppressions ou les remplacements accidentels en conservant les données supprimées dans le système pendant un laps de temps spécifié. Pendant la période de rétention, vous pouvez restaurer l’objet blob à son état au moment de la suppression. Une fois la période de conservation expirée, l’objet est supprimé définitivement. Pour plus d’informations sur la suppression réversible d’objets blob, consultez Suppression réversible pour les objets blob.

Vous pouvez utiliser les bibliothèques de client de Stockage Azure pour restaurer un objet blob ou une capture instantanée supprimés de manière réversible.

Restaurer des objets supprimés de manière réversible quand le contrôle de version est désactivé

Pour restaurer des objets blob supprimés, créez un BlobClient, puis appelez la méthode suivante :

Cette méthode restaure les blobs supprimés de manière réversible et les instantanés supprimés qui leur sont associés. L’appel de cette méthode pour un objet blob qui n’a pas été supprimé est sans effet.

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}`);
  }
}

Ressources

Pour en savoir plus sur la suppression et la restauration d’objets blob supprimés à l’aide de la bibliothèque de client de Stockage Blob Azure pour JavaScript, consultez les ressources suivantes.

Opérations de l'API REST

Le Kit de développement logiciel (SDK) Azure pour JavaScript contient des bibliothèques qui s’appuient sur l’API REST Azure, vous permettant d’interagir avec des opérations de l’API REST par le biais de paradigmes JavaScript familiers. Les méthodes de la bibliothèque de client pour supprimer des objets blob et restaurer des objets blob supprimés utilisent les opérations d’API REST suivantes :

Exemples de code

Ressources de bibliothèque cliente

Voir aussi