从Azure下载Blob

从Azure下载Blob,azure,azure-storage-blobs,Azure,Azure Storage Blobs,从Azure存储下载大型Blob的最佳方式和最佳实践是什么 我想使用共享访问签名或共享访问策略来创建blob的本地副本 估计BLOB大小为500 MB到1 GB 互联网连接从250Kb到4Mb不等 最佳方法取决于您的情况。是否有特定的原因阻止您不按照以下内容(Java代码)进行操作?我见过这样的例子,但我很想知道为什么你认为它可能不适合你 public class SASread { public static void main(String[] args) throws

从Azure存储下载大型Blob的最佳方式和最佳实践是什么

  • 我想使用共享访问签名或共享访问策略来创建blob的本地副本

  • 估计BLOB大小为500 MB到1 GB

  • 互联网连接从250Kb到4Mb不等


    • 最佳方法取决于您的情况。是否有特定的原因阻止您不按照以下内容(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);   
          }
      }
      

      如果是RESTAPI,请使用


      对于.NET使用的存储客户端库

      您能否澄清“下载”是什么意思?您想制作它的本地副本,还是想在应用程序中使用它?我们说的是多大?1GB?10GB?50GB?你的互联网连接怎么样?它有多快?如果我提出一个小建议:使用CDN!这将在边缘点上创建blob的缓存副本,从而很可能加快传输速率…请再次检查问题,blob大小约为1 GB,我想继续下载。