Удаление и восстановление большого двоичного объекта с помощью TypeScript
В этой статье описывается, как удалять и восстанавливать BLOB-объекты с помощью клиентской библиотеки службы хранилища Azure для JavaScript. Если вы включили обратимое удаление для больших двоичных объектов, вы можете восстановить удаленные большие двоичные объекты в течение периода хранения.
Необходимые компоненты
- В примерах этой статьи предполагается, что у вас уже есть проект, настроенный для работы с клиентской библиотекой Хранилище BLOB-объектов Azure для JavaScript. Сведения о настройке проекта, включая установку пакетов, импорт модулей и создание авторизованного клиентского объекта для работы с ресурсами данных, см. в статье "Начало работы с Хранилище BLOB-объектов Azure и TypeScript".
- Механизм авторизации должен иметь разрешения на удаление большого двоичного объекта или восстановление обратимого удаленного большого двоичного объекта. Дополнительные сведения см. в руководстве по авторизации для следующих операций REST API:
Удаление большого двоичного объекта
Чтобы удалить большой двоичный объект, создайте 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-объектов.
Клиентские библиотеки службы хранилища Azure позволяют восстановить обратимо удаленный 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}`);
}
}
Ресурсы
Дополнительные сведения об удалении больших двоичных объектов и восстановлении удаленных BLOB-объектов с помощью клиентской библиотеки Хранилище BLOB-объектов Azure для JavaScript см. в следующих ресурсах.
Операции REST API
Пакет SDK Azure для JavaScript содержит библиотеки, которые создаются на основе REST API Azure, что позволяет взаимодействовать с операциями REST API через знакомые парадигмы JavaScript. Методы клиентской библиотеки для удаления больших двоичных объектов и восстановления удаленных BLOB-объектов используют следующие операции REST API:
- Удаление больших двоичных объектов (REST API)
- Восстановление больших двоичных объектов (REST API)
Примеры кода
Ресурсы клиентской библиотеки
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по