2017-08-09 1 views
0

Actuellement, j'utilise Azure Blob Storage sur Android Studio. Je ne peux pas faire une boucle à travers un récipient blobUne erreur s'est produite lors de l'énumération du résultat, vérifiez l'exception d'origine pour plus de détails.

il me dit

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) 

C'est ListImages.Class

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()]); 
} 

Toutes les idées sur ce qui est la question? Le conteneur en question n'est pas vide. Je suis en mesure de se connecter container et blobs.

s'il vous plaît et merci !!

+0

La réponse de l'autre thread SO https://stackoverflow.com/questions/31578118/java-azure-storage-error-enumerating-the-result peut vous aider, ce qui semble être similaire au vôtre. –

+0

je vais regarder dedans, merci! – yuenhy

Répondre

0

merci pour l'aide!

l'erreur a été pour moi dans le script gradle

la dépendance a été mis

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

quand il aurait dû être

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