2013-04-23 6 views
1

Что такое лучший способ и наилучшая практика для загрузки больших BLOB-файлов из хранилища Azure?Загрузить BLOB от Azure

  • Я хочу использовать подпись Shared Access или общей политики доступа, чтобы сделать локальную копию клякс.

  • Предполагаемый размер BLOB составляет 500 МБ до 1 ГБ

  • Интернет-соединения варьируются от 250Кб до 4Mb

+0

Можете ли вы уточнить, что вы подразумеваете под «скачать»? вы хотите сделать локальную копию или хотите использовать ее в своем приложении? И насколько велики мы говорим? 1 Гб? 10GB? 50GB? Как насчет вашего интернет-соединения? как быстро? – Leonardo

+0

Я отредактировал Q –

ответ

1

Лучший способ зависит от вашей ситуации. Есть ли какая-то конкретная причина, мешающая вам не делать что-то в соответствии со следующим (Java-кодом)? Я видел такие примеры, но хотел бы узнать, почему вы думаете, что это может не сработать для вас.

public class SASread 
{ 
    public static void main(String[] args) throws URISyntaxException, FileNotFoundException, StorageException, IOException 
    {      
    URI baseuri = new URI("http://greengrass.blob.core.windows.net"); 
    CloudBlobClient blobclient = new CloudBlobClient(baseuri); 
    MyDownloadBlob("container1", 
      "sr=c&sv=2012-02-12&sig=ADsFalIpE1XkaneQpWwtpM3AhY%2BAwiUtbbo1ANbIoJA%3D&si=r", 
      blobclient);   
    } 

    public static void MyDownloadBlob(String containerName, String containerSAS, CloudBlobClient blobClient) throws URISyntaxException, StorageException, FileNotFoundException, IOException 
    { 
    String blobName = "image3.jpg"; 
    String localFileName = "c:\\myoutputimages\\image3.jpg"; 
    URI uri = new URI(blobClient.getEndpoint().toString() + "/" + 
         containerName + "/" + 
         blobName + 
         "?" + 
         containerSAS); 
    CloudBlockBlob sasBlob = new CloudBlockBlob(uri, blobClient); 
    File fileTarget = new File(localFileName); 
    sasBlob.download(new FileOutputStream(fileTarget)); 
    System.out.println("The blob at:\n" + uri + "\nwas downloaded from the cloud to local file:\n" + localFileName); 
    } 
} 
+0

, если я сделаю небольшое предложение: используйте CDN! Это сделает копию кеша на красной точке и, таким образом, очень вероятно ускорит скорость передачи ... – Leonardo

+0

Пожалуйста, снова проверьте вопрос, размер BLOB составляет около 1 ГБ, и я хочу возобновить загрузку. –

Смежные вопросы