2017-08-09 10 views
0

Ich verwende Azure Blob Storage derzeit in Android Studio. Ich bin eine Schleife durch einen Klecks Behälter nicht in der LageBeim Auflisten des Ergebnisses ist ein Fehler aufgetreten. Überprüfen Sie die ursprüngliche Ausnahme auf Details.

es sagt mir

08-10 00:37:16.073 8538-8594/com.psv.starvision W/System.err: java.util.NoSuchElementException: An error occurred while enumerating the result, check the original exception for details. 
08-10 00:37:16.073 8538-8594/com.psv.starvision W/System.err:  at com.microsoft.azure.storage.core.LazySegmentedIterator.hasNext(LazySegmentedIterator.java:113) 
08-10 00:37:16.073 8538-8594/com.psv.starvision W/System.err:  at com.psv.starvision.blobHandler.ListImages(blobHandler.java:81) 

Caused by: com.microsoft.azure.storage.StorageException: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. 
08-11 14:10:05.011 8877-8925/com.psv.starvision W/System.err:  at com.microsoft.azure.storage.core.StorageRequest.materializeException(StorageRequest.java:306) 
08-11 14:10:05.011 8877-8925/com.psv.starvision W/System.err:  at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:177) 
08-11 14:10:05.011 8877-8925/com.psv.starvision W/System.err:  at com.microsoft.azure.storage.core.LazySegmentedIterator.hasNext(LazySegmentedIterator.java:109) 

Diese ListImages.Class ist

public static String[] ListImages() { 
    LinkedList<String> blobNames = new LinkedList<>(); 
    try { 
     CloudBlobContainer container = getContainer(); 
     Log.e("listimages: ", "container " + container); 

     Iterable<ListBlobItem> blobs = container.listBlobs(); 
     Log.e("listimages: ", "blobs " + blobs); 

     blobNames = new LinkedList<>(); 
     for(ListBlobItem blob: blobs) { // the line that hit an error 
      blobNames.add(((CloudBlockBlob) blob).getName()); 
     } 

     Log.e("ListImages: ", "size" + blobNames.size()); 
     return blobNames.toArray(new String[blobNames.size()]); 

    } catch (Exception ex){ 
     ex.printStackTrace(); 
    } 


    return blobNames.toArray(new String[blobNames.size()]); 
} 

Irgendwelche Ideen auf, was ist das Problem? Der fragliche Container ist nicht leer; Ich kann container und blobs loggen.

bitte und danke !!

+0

Die Antwort des anderen waren sollte SO Thread https://stackoverflow.com/questions/31578118/java-azure-storage-error-enumerating-the-result kann helfen, die ähnlich zu Ihrem scheint. –

+0

ich werde mich darum kümmern, danke! – yuenhy

Antwort

0

danke für die Hilfe!

der Fehler für mich in der gradle Skript war

die Abhängigkeit

compile group: 'com.microsoft.azure', name: 'azure-storage', version: '1.2.0' 

gesetzt wurde, wenn es

compile 'com.microsoft.azure.android:azure-storage-android:[email protected]' 
Verwandte Themen