Ich muss alle Snapshots für jedes Blob in Azure auflisten, wenn möglich das Java SDK oder andernfalls die Azure REST API verwenden. Für beide Optionen kann ich alle Speicherkonten auflisten, aber ich habe keine Möglichkeit gefunden, eine Liste von Snapshots abzurufen, die mit einem einzelnen Speicherkonto verknüpft sind.Auflisten aller Snapshots für ein Speicherkonto mit Azure Java SDK oder REST API
1
A
Antwort
1
Acording zum javadocs von Azure Storage SDK für Java, die Methode listBlobs(String prefix, boolean useFlatBlobListing, EnumSet<BlobListingDetails> listingDetails, BlobRequestOptions options, OperationContext opContext)
mit BlobListingDetails.SNAPSHOTS
für einen Behälter mit allen Blobs aufzuzählen, die snapshot blob
sind durch das Verfahren zum Filtern isSnapshot()
.
Hier ist mein Beispielcode unten.
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();
// List all containers of a storage account
Iterable<CloudBlobContainer> containers = client.listContainers();
String prefix = null;
boolean useFlatBlobListing = true;
// Specify the blob list which include snapshot blob
EnumSet<BlobListingDetails> listingDetails = EnumSet.of(BlobListingDetails.SNAPSHOTS);
BlobRequestOptions options = null;
OperationContext opContext = null;
for (CloudBlobContainer container : containers) {
Iterable<ListBlobItem> blobItems = container.listBlobs(prefix, useFlatBlobListing, listingDetails, options,
opContext);
for (ListBlobItem blobItem : blobItems) {
if (blobItem instanceof CloudBlob) {
CloudBlob blob = (CloudBlob) blobItem;
// Check a blob whether be a snapshot blob
if (blob.isSnapshot()) {
System.out.println(blobItem.getStorageUri());
}
}
}
}
Wenn Sie die REST-API zur Implementierung dieser Anforderungen verwenden möchten, gehen Sie wie folgt vor.
- Verwenden Sie
List Containers
für ein Speicherkonto, um alle Container aufzulisten. - Verwenden
List Blobs
mit dem URL-Parameterinclude={snapshots}
als UnterabschnittBlob and Snapshot List
der reference sagte, alle Blobs eines Containers, Snapshot Blob, dann alle Snapshot Blobs zu filtern.
Verwandte Themen
- 1. Quickbooks Online: REST API oder Java SDK?
- 2. Amazon S3: SDK oder REST API
- 3. Java Rest API gesichert durch Azure AD
- 4. entfernen azure Speicherkonto mit Powershell
- 5. azure java sdk authentication
- 6. Tags für Amazon Aurora DB-Cluster-Snapshots auflisten
- 7. Fehlerbehandlung bei Java SDK für REST API-Dienst
- 8. Verbindung mit Azure-Speicherkonto über Proxy-Server
- 9. Access Office 365 (sharepoint REST API) in Azure mit Java
- 10. Azure-REST-API-Standortfilter
- 11. Signatur für die Azure-Tabellenspeicher-REST-API
- 12. Azure-Dateifreigabe-REST-API für Xamarin
- 13. Azure Shared Access-Signatur für das gesamte Speicherkonto
- 14. REST API Design für Systeme mit mehreren Unternehmen oder Organisationen
- 15. Erstellen einer Anforderungsantwortwarteschlange mit Azure Java SDK
- 16. Eine Laufwerks-API zum Auflisten aller Laufwerke für ein Geschäftskonto mit einem Laufwerk funktioniert nicht?
- 17. AWS Rest API ohne SDK
- 18. Azure-ARM-Rest-API für die Überwachung von Azure Storage Account?
- 19. Beispiel Anfrage für eine REST-API in Java oder PHP
- 20. Azure-Management-Rest-API-Authentifizierungstoken
- 21. Auflisten aller Schlüssel und Werte
- 22. Java-REST-API Abfrageanmerkung
- 23. Azure Rest api setzen Blob
- 24. Consuming Rest API mit Java
- 25. Anruf Rest-API von Java Rest API
- 26. Java Rest-Client für Jira Zephyr API?
- 27. Facebook Login Für Rest Api
- 28. Auflisten aller auf dem Mac installierten Programme mit Java
- 29. Azure-Ereignis-Hubs - REST-API-Authentifizierung
- 30. Status aller Azure RM-VMs mit Rest abrufen