2017-03-15 4 views

Antwort

2

Hier ist mein Beispielcode. Weitere Einzelheiten finden Sie unter javadocs von Azure Storage SDK for Java.

String accountName = "<your-storage-account-name>"; 
String accountKey = "<your-storage-account-key>"; 
String storageConnectionString = "DefaultEndpointsProtocol=https;AccountName=%s;AccountKey=%s"; 
String connectionString = String.format(storageConnectionString, accountName, accountKey); 
CloudStorageAccount account = CloudStorageAccount.parse(connectionString); 
CloudBlobClient client = account.createCloudBlobClient(); 
String containerName = "mycontainer"; 
CloudBlobContainer container = client.getContainerReference(containerName); 
long size = 0L; 
Iterable<ListBlobItem> blobItems = container.listBlobs(); 
for (ListBlobItem blobItem : blobItems) { 
    if (blobItem instanceof CloudBlob) { 
     CloudBlob blob = (CloudBlob) blobItem; 
     size += blob.getProperties().getLength(); 
    } 
} 

Wenn Sie Größe für einen Behälter zu zählen sind: Schnappschuss, benutzen Sie bitte den Code unter Verwendung der Blob-Liste zu erhalten.

// If count blob size for a container include snapshots 
String prefix = null; 
boolean useFlatBlobListing = true; 
EnumSet<BlobListingDetails> listingDetails = EnumSet.of(BlobListingDetails.SNAPSHOTS); 
BlobRequestOptions options = null; 
OperationContext opContext = null; 
Iterable<ListBlobItem> blobItems = container.listBlobs(prefix, useFlatBlobListing, listingDetails, options, opContext); 

Wenn nur für Schnappschüsse in einem Container zählen Größe, indem Sie den Code unten ein Blob zu prüfen, ob eine Momentaufnahme.

if (blob.isSnapshot()) { 
    size += blob.getProperties().getLength(); 
} 
+0

Danke, das funktioniert. –

+0

@Peter Pan Haben Sie eine Idee, wie Sie einen neuen Ordner (Container) in Azure mit Java erstellen können? – Ranjitsinh

Verwandte Themen