JavaScript veya TypeScript ile blob kapsayıcısı silme ve geri yükleme
Bu makalede JavaScript için Azure Depolama istemci kitaplığıyla kapsayıcıların nasıl silineceği gösterilmektedir. Kapsayıcı geçici silmeyi etkinleştirdiyseniz silinen kapsayıcıları geri yükleyebilirsiniz.
Önkoşullar
- Bu makaledeki örneklerde JavaScript için Azure Blob Depolama istemci kitaplığıyla çalışmak üzere ayarlanmış bir projeniz olduğu varsayılır. Paket yükleme, modülleri içeri aktarma ve veri kaynaklarıyla çalışmak üzere yetkili bir istemci nesnesi oluşturma gibi projenizi ayarlama hakkında bilgi edinmek için bkz. Azure Blob Depolama ve JavaScript'i kullanmaya başlama.
- Yetkilendirme mekanizmasının blob kapsayıcısını silme veya geçici olarak silinen kapsayıcıyı geri yükleme izinleri olmalıdır. Daha fazla bilgi edinmek için aşağıdaki REST API işlemleri için yetkilendirme kılavuzuna bakın:
Kapsayıcı silme
Kapsayıcıyı silmek için BlobServiceClient sınıfından aşağıdaki yöntemi kullanın:
ContainerClient sınıfından aşağıdaki yöntemi kullanarak da bir kapsayıcıyı silebilirsiniz:
Kapsayıcıyı sildikten sonra, en az 30 saniye boyunca aynı ada sahip bir kapsayıcı oluşturamazsınız. Aynı ada sahip bir kapsayıcı oluşturma girişimi HTTP hata koduyla 409 (Conflict)
başarısız oluyor. Kapsayıcıdaki veya içerdiği bloblardaki diğer işlemler HTTP hata koduyla 404 (Not Found)
başarısız olur.
Aşağıdaki örnek, belirtilen kapsayıcıyı silmek için bir BlobServiceClient
nesnesi kullanır:
async function deleteContainer(blobServiceClient, containerName) {
return await blobServiceClient.deleteContainer(containerName);
}
Aşağıdaki örnekte, belirtilen ön ekle başlayan tüm kapsayıcıların nasıl silineceği gösterilmektedir:
async function deleteContainersWithPrefix(blobServiceClient, prefix) {
const containerOptions = {
includeDeleted: false,
includeMetadata: false,
includeSystem: true,
prefix
}
for await (const containerItem of blobServiceClient.listContainers(containerOptions)) {
try{
const containerClient = blobServiceClient.getContainerClient(containerItem.name);
await containerClient.delete();
console.log(`Deleted ${containerItem.name} container - success`);
}catch(ex){
console.log(`Deleted ${containerItem.name} container - failed - ${ex.message}`);
}
}
}
Silinen kapsayıcıyı geri yükleme
Depolama hesabı için kapsayıcı geçici silme etkinleştirildiğinde, kapsayıcı ve içeriği silindikten sonra, belirttiğiniz saklama süresi içinde kurtarılabilir. BlobServiceClient nesnesi kullanarak geçici olarak silinen bir kapsayıcıyı geri yükleyebilirsiniz:
Aşağıdaki örnek silinmiş bir kapsayıcı bulur, silinen kapsayıcının sürüm kimliğini alır ve ardından bu kimliği kapsayıcıyı undeleteContainer
geri yüklemek için yöntemine geçirir.
async function undeleteContainer(blobServiceClient, containerName) {
// Version to restore
let containerVersion;
const containerOptions = {
includeDeleted: true,
prefix: containerName
}
// Find the deleted container and restore it
for await (const containerItem of blobServiceClient.listContainers(containerOptions)) {
if (containerItem.name === containerName) {
containerVersion = containerItem.version;
}
}
const containerClient = await blobServiceClient.undeleteContainer(
containerName,
containerVersion,
);
}
Kaynaklar
JavaScript için Azure Blob Depolama istemci kitaplığını kullanarak kapsayıcı silme hakkında daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın.
Kod örnekleri
- Bu makaledeki JavaScript ve TypeScript kod örneklerini görüntüleyin (GitHub)
REST API işlemleri
JavaScript için Azure SDK, Azure REST API'sinin üzerinde derlenmiş kitaplıklar içerir ve tanıdık JavaScript paradigmalarıyla REST API işlemleriyle etkileşim kurmanızı sağlar. Kapsayıcıyı silmek veya geri yüklemek için istemci kitaplığı yöntemleri aşağıdaki REST API işlemlerini kullanır:
- Kapsayıcıyı Sil (REST API)
- Kapsayıcıyı Geri Yükleme (REST API)
İstemci kitaplığı kaynakları
Ayrıca bkz.
İlgili içerik
- Bu makale, JavaScript/Typescript için Blob Depolama geliştirici kılavuzunun bir parçasıdır. Daha fazla bilgi edinmek için JavaScript/Typescript uygulamanızı derleme makalelerinde geliştirici kılavuzu makalelerinin tam listesine bakın.