有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVA网尝试在azure中创建新bucket时发生UnknownHostException

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创建bucket时遇到的异常

下面是代码 公共级azureBlob{ 公共静态最终字符串存储连接字符串= “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());
}
}

}


共 (1) 个答案

  1. # 1 楼答案

    我已经测试了你的代码,效果很好

    以下是我的代码供您参考:

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

    结果截图:

    enter image description here

    请确保使用最新的Java SDK,我使用的Java SDK来自:azure-storage-java