2016-12-08 71 views
0

我們使用此Java庫操作SoftLayer的對象存儲。 https://github.com/softlayer/softlayer-object-storage-java/tree/master/sl-objectstorage 「SL-objectstorage.jar」 「com.softlayer.objectstorage.Account」 - 「搜索」方法無法獲取SoftLayer的對象存儲中的文件列表

當我們想獲得在容器中的文件列表中,我們可以得到的文件列表是在2016年12月1日之前上傳並保存,但我們無法獲得2016年12月1日之後保存的文件列表。

你有這種問題的任何決議?

回答

0

顯然,有一個與搜索方法在一些數據中心的問題。例如:ams01。

我們正在報告這個問題,但它應該很好打開一張票來跟蹤此(附加此論壇)。無論如何,如果將有修復,我們會讓你知道這個線程中的任何消息。


更新

它可以是一個解決辦法:

public static void main(String[] args) throws IOException, EncoderException { 

     /** 
     * Define Object Storage Account information 
     */ 
     String baseUrl = "https://tok02.objectstorage.softlayer.net/auth/v1.0/"; 
     String user = "set me"; 
     String password = "set me"; 
     Account account = new Account(baseUrl, user, password); 
     // Define your container's name 
     String containerName = "r"; 

     List<Container> containers = account.listAllContainers(); 
     for (Container container: containers){ 
      if(container.getName().contains(containerName)) 
      { 
       System.out.println("Container: " + container.getName()); 
       for(ObjectFile file : container.listObjectFiles()) 
       { 
        System.out.println("File Name: " + file.getName()); 
        System.out.println("Bytes: " + file.getBytes()); 
        System.out.println("Meta Tags: " + file.getMetaTags()); 
       } 
       System.out.println("=================================="); 
      } 
     } 
    } 

此外,您還可以改變這一行:

  if(container.getName().contains(containerName)) 

到:

  if(container.getName().equal(containerName)) 

要獲取容器名稱

我希望它可以幫助你精確匹配。

+0

感謝您的信息。你知道任何關於tok02的「搜索」方法的問題嗎?在這種情況下,典型的解決方法是什麼? – kyouhei

+0

作爲測試,這些都存在此問題的位置: ** ams01,par01,sao01,tok02 ** 讓我查的解決方法, –

+0

非常感謝您的評論。如果你這樣做,我會非常感激。我會等待你的新評論。 – kyouhei

0

如果您可以打開SoftLayer(IBM BlueMix)支持票證(包括數據中心,容器名稱以及可能的話),查詢時間和預期結果,這可能是最好的。

支持人員可以將其與任何已知問題和解決方案相關聯。

+0

老實說,我被告知在SoftOayer支持問StackOverflow。你有什麼決議嗎? – kyouhei

相關問題