Поделиться через


Удаление и восстановление BLOB с помощью JavaScript или TypeScript

В этой статье показано, как удалить BLOB-объекты с помощью клиентской библиотеки служба хранилища Azure для JavaScript, и как восстановить мягко удаленные BLOB-объекты в течение периода хранения.

Предварительные условия

  • В примерах этой статьи предполагается, что у вас уже есть проект, настроенный для работы с клиентской библиотекой Хранилище BLOB-объектов Azure для JavaScript. Сведения о настройке проекта, включая установку пакетов, импорт модулей и создание авторизованного клиентского объекта для работы с ресурсами данных, см. в статье "Начало работы с Хранилище BLOB-объектов Azure и JavaScript".
  • Механизм авторизации должен иметь разрешения на удаление блоба или восстановление мягко удаленного блоба. Дополнительные сведения см. в руководстве по авторизации для следующих операций REST API:

Удаление блоба

Примечание.

Когда функция мягкого удаления BLOB-объектов включена в учетной записи хранения, невозможно выполнить окончательное удаление с помощью методов клиентской библиотеки. Используя методы, приведенные в этой статье, мягко удаленный BLOB-объект, версия BLOB-объекта или моментальный снимок остаются доступными до истечения срока хранения, после чего они окончательно удаляются. Дополнительные сведения о базовой операции REST API см. в статье "Удаление BLOB-объектов (REST API)".

Чтобы удалить BLOB, вызовите один из следующих методов:

Если объект blob имеет связанные моментальные снимки, необходимо удалить все его моментальные снимки, чтобы удалить объект blob. В следующем примере кода показано, как удалить блоб и его моментальные снимки.

async function deleteBlob(containerClient, 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 = {
    deleteSnapshots: 'include'
  }

  // Create blob client from container client
  const blockBlobClient = containerClient.getBlockBlobClient(blobName);

  await blockBlobClient.delete(options);
}

Восстановление удаленного BLOB-объекта

Обратимое удаление защищает BLOB-объект и его версии, а также моментальные снимки и метаданные от случайного удаления или перезаписи, сохраняя удаленные данные в системе в течение заданного периода времени. В течение срока хранения можно восстановить объект до состояния на момент его удаления. После истечения срока хранения большой двоичный объект окончательно удаляется. Дополнительные сведения об обратимом удалении BLOB-объектов см. в статье Обратимое удаление BLOB-объектов.

Библиотеки клиента хранения Azure позволяют восстановить мягко удаленный blob-объект или снимок.

Восстановление обратимо удаленных объектов, если управление версиями отключено

Чтобы восстановить мягко удаленные blob-объекты, вызовите следующий метод:

Этот метод восстанавливает обратимо удаленные BLOB-данные и связанные с ними удаленные моментальные снимки. Вызов этого метода для большого двоичного объекта, который не был удален, не имеет никакого эффекта.

async function undeleteBlob(containerClient, blobName){

  // Create blob client from container client
  const blockBlobClient = containerClient.getBlockBlobClient(blobName);

  await blockBlobClient.undelete();
}

Ресурсы

Дополнительную информацию о том, как удалить BLOB-объекты и восстановить удаленные BLOB-объекты с помощью библиотеки клиента Azure Blob Storage для JavaScript, можно найти в следующих ресурсах.

Примеры кода

Операции REST API

Пакет SDK Azure для JavaScript содержит библиотеки, которые создаются на основе REST API Azure, что позволяет взаимодействовать с операциями REST API через знакомые парадигмы JavaScript. Методы клиентской библиотеки для удаления блобов и восстановления удаленных блобов используют следующие операции REST API:

Ресурсы клиентской библиотеки

См. также

  • Эта статья является частью руководства разработчика по хранилищу BLOB для JavaScript/TypeScript. Дополнительные сведения см. в полном списке статей руководства разработчика по созданию приложения JavaScript и TypeScript.