[英]java.net.UnknownHostException while trying to create new bucket in azure
Exception in thread "main" java.util.NoSuchElementException: An error occurred while enumerating the result, check the original exception for details.
at com.microsoft.azure.storage.core.LazySegmentedIterator.hasNext(LazySegmentedIterator.java:113)
at com.test.maven.azureBlob.main(azureBlob.java:47)
Caused by: com.microsoft.azure.storage.StorageException: The server encountered an unknown failure:
at com.microsoft.azure.storage.StorageException.translateException(StorageException.java:101)
at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:199)
at com.microsoft.azure.storage.core.LazySegmentedIterator.hasNext(LazySegmentedIterator.java:109)
... 1 more
上面是嘗試從Java創建存儲桶時遇到的異常
以下是代碼公共類azureBlob {public static final String storageConnectionString =“ DefaultEndpointsProtocol = http;” +“ AccountName =;” +“ AccountKey =”;
public static void main(String[] args) throws InvalidKeyException, URISyntaxException, StorageException {
// TODO Auto-generated method stub
File sourceFile = null, downloadedFile = null;
System.out.println("Azure Blob storage quick start sample");
CloudStorageAccount storageAccount;
CloudBlobClient blobClient = null;
CloudBlobContainer container=null;
storageAccount = CloudStorageAccount.parse(storageConnectionString);
blobClient = storageAccount.createCloudBlobClient();
container = blobClient.getContainerReference("quickstartcontainer");
System.out.println("Creating container: " + container.getName());
try
{
container.createIfNotExists();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
//Listing contents of container
for (ListBlobItem blobItem : container.listBlobs()) {
System.out.println("URI of blob is: " + blobItem.getUri());
}
}
}
我已經測試了您的代碼,並且工作正常。
這是我的代碼供您參考:
import java.net.URISyntaxException;
import java.security.InvalidKeyException;
import com.microsoft.azure.storage.CloudStorageAccount;
import com.microsoft.azure.storage.blob.CloudBlobClient;
import com.microsoft.azure.storage.blob.CloudBlobContainer;
import com.microsoft.azure.storage.blob.ListBlobItem;
public class Main {
public static final String ConnString="DefaultEndpointsProtocol=https;AccountName=xxxxx;AccountKey=O7xB6ebGq8e86XQSy2vkvSi/x/e9l9xxxxxxxxkly1DsQPYY5dF2JrAVHtBozbJo29ZrrGJA==;EndpointSuffix=core.windows.net";
public static void main(String[] args) {
// TODO Auto-generated method stub
listBlobsOfContainer("mycontainer");
System.out.println("Success");
}
public static void listBlobsOfContainer(String containerName) {
CloudStorageAccount account = null;
CloudBlobContainer container = null;
try {
account = CloudStorageAccount.parse(ConnString);
CloudBlobClient client = account.createCloudBlobClient();
container = client.getContainerReference(containerName);
container.createIfNotExists();
}catch(Exception ex) {
ex.printStackTrace();
}
for (ListBlobItem blobItem : container.listBlobs()) {
System.out.println("URI of blob is: " + blobItem.getUri());
}
}
}
結果截圖:
請確保使用最新的Java SDK,我使用的Java SDK來自: azure-storage-java
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.