gpt4 book ai didi

java azure存储错误 "enumerating the result"

转载 作者:行者123 更新时间:2023-12-01 11:17:54 25 4
gpt4 key购买 nike

我使用以下代码使用 android azure 存储 API:

try
{
// Retrieve storage account from connection-string.
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);

// Create the blob client.
CloudBlobClient blobClient = storageAccount.createCloudBlobClient();

// Retrieve reference to a previously created container.
CloudBlobContainer container = blobClient.getContainerReference("appstar");

// Loop over blobs within the container and output the URI to each of them.
for (ListBlobItem blobItem : container.listBlobs()) {
System.out.println(blobItem.getUri());
}

// hide dat loader
progress.dismiss();
}
catch (Exception e)
{
System.out.println("There was a problem");

// Output the stack trace.
e.printStackTrace();

// hide dat loader
progress.dismiss();
}

但是当我进入 for 循环时,出现以下错误:

07-23 12:30:46.371    2362-2362/com.k.azurestorage W/System.err﹕ java.util.NoSuchElementException: An error occurred while enumerating the result, check the original exception for details.
07-23 12:30:46.371 2362-2362/com.k.azurestorage W/System.err﹕ at com.microsoft.azure.storage.core.LazySegmentedIterator.hasNext(LazySegmentedIterator.java:113)
07-23 12:30:46.371 2362-2362/com.k.azurestorage W/System.err﹕ at com.k.azurestorage.ConnectionSettingsForm.btn_onCreateSubmitted(ConnectionSettingsForm.java:127)
07-23 12:30:46.371 2362-2362/com.k.azurestorage W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method)
07-23 12:30:46.371 2362-2362/com.k.azurestorage W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372)
07-23 12:30:46.371 2362-2362/com.k.azurestorage W/System.err﹕ at android.view.View$1.onClick(View.java:4015)
07-23 12:30:46.371 2362-2362/com.k.azurestorage W/System.err﹕ at android.view.View.performClick(View.java:4780)
07-23 12:30:46.371 2362-2362/com.k.azurestorage W/System.err﹕ at android.view.View$PerformClick.run(View.java:19866)
07-23 12:30:46.371 2362-2362/com.k.azurestorage W/System.err﹕ at android.os.Handler.handleCallback(Handler.java:739)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:95)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at android.os.Looper.loop(Looper.java:135)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5257)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ Caused by: com.microsoft.azure.storage.StorageException: Network operations may not be performed on the main thread.
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:224)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at com.microsoft.azure.storage.core.LazySegmentedIterator.hasNext(LazySegmentedIterator.java:109)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ ... 14 more
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ Caused by: android.os.NetworkOnMainThreadException
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at java.net.InetAddress.getAllByName(InetAddress.java:215)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at com.android.okhttp.HostResolver$1.getAllByName(HostResolver.java:29)
07-23 12:30:46.372 2362-2362/com.k.azurestorage W/System.err﹕ at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:232)
07-23 12:30:46.382 2362-2362/com.k.azurestorage W/System.err﹕ at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:124)
07-23 12:30:46.393 2362-2362/com.k.azurestorage W/System.err﹕ at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:272)
07-23 12:30:46.393 2362-2362/com.k.azurestorage W/System.err﹕ at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:211)
07-23 12:30:46.393 2362-2362/com.k.azurestorage W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:382)
07-23 12:30:46.393 2362-2362/com.k.azurestorage W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:332)
07-23 12:30:46.393 2362-2362/com.k.azurestorage W/System.err﹕ at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:500)
07-23 12:30:46.393 2362-2362/com.k.azurestorage W/System.err﹕ at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:125)
07-23 12:30:46.393 2362-2362/com.k.azurestorage W/System.err﹕ ... 15 more

知道这意味着什么吗?

最佳答案

首先,让我们检查一下容易导致奇怪错误的基础知识。 :)

  1. 您能否确认您正在使用 Android library而不是Java library
  2. 您能否确认您的 Android list 中有互联网权限?请参阅我们的samples举个例子。

如果这些都不是您的问题,那么您可以执行以下操作吗?

  1. 发布完整的异常跟踪。可迭代 API 要求我们返回 NoSuchElementException,因此我们将异常实际发生的原因包装到其中。完整的堆栈跟踪应该为我们提供进一步调试所需的信息。
  2. 发布您正在使用的 Android 库的版本以及您正在运行的 Android 版本。根据 changelog过去我们遇到过一些与可迭代相关的 Android 错误,这将让我们确认您没有遇到这些错误。

将调试步骤留给其他人,但这里完整的堆栈跟踪给出了答案。在完整的跟踪跟踪中,您可以看到 NetworkOnMainThreadException ,其中包含消息“网络操作可能无法在主线程上执行”。由于网络操作可能会很慢,Android 默认情况下会阻止它们在主线程上进行。如果您搜索此错误,您将找到有关如何在不阻塞 UI 线程的情况下使用网络操作的各种示例。

关于java azure存储错误 "enumerating the result",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31578118/

25 4 0