Comment puis-je télécharger un fichier dans Azure Blob Storage sans écrire mon propre programme?

J’ai créé un compte Azure Storage. J’ai un fichier .zip 400 mégaoctets que je veux mettre dans le stockage blob pour une utilisation ultérieure.

Comment puis-je faire cela sans écrire de code? Y a-t-il une interface pour cela?

    Outils gratuits:

    1. Visual Studio 2010 – installez les outils Azure et vous pouvez trouver les blobs dans l’Explorateur de serveur
    2. CloudBerry Explorer de Cloud Berry Lab pour Azure Blob Storage
    3. ClumpsyLeaf CloudXplorer
    4. Azure Storage Explorer de CodePlex (essayez la version 4 bêta)

    Il y avait un ancien programme appelé Azure Blob Explorer ou quelque chose qui ne fonctionne plus avec le nouveau SDK Azure.

    Personnellement, j’aime le CloudBerry Explorer.

    Le moyen le plus simple consiste à utiliser Azure Storage PowerShell. Il a fourni de nombreuses commandes pour gérer votre conteneur de stockage / blob / table / queue.

    Pour votre cas mentionné, vous pouvez utiliser Set-AzureStorageBlobContent qui pourrait télécharger un fichier local dans azure storage sous la forme d’un blob de bloc ou d’un blob de page.

    Set-AzureStorageBlobContent -Container containerName -File .\filename -Blob blobname 

    Pour plus de détails, reportez-vous à http://msdn.microsoft.com/en-us/library/dn408487.aspx .

    Si vous cherchez un outil pour le faire, puis-je vous suggérer de consulter notre outil Cloud Storage Studio ( http://www.cerebrata.com/Products/CloudStorageStudio ). C’est un outil commercial de gestion du stockage Windows Azure et du service hébergé. Vous pouvez également trouver une liste complète des outils de gestion du stockage Windows Azure ici: http://blogs.msdn.com/b/windowsazureestorage/archive/2010/04/17/windows-azuree-storage-explorers.aspx

    J’espère que cela t’aides.

    Le StorageClient a cela intégré. Pas besoin d’écrire vraiment quoi que ce soit:

     var account = new CloudStorageAccount(creds, false); var client = account.CreateCloudBlobClient(); var blob = client.GetBlobReference("/somecontainer/hugefile.zip"); //1MB seems to be a pretty good all purpose size client.WriteBlockSizeInBytes = 1024; //this sets # of parallel uploads for blocks client.ParallelOperationThreadCount = 4; //normally set to one per CPU core //this will break blobs up automatically after this size client.SingleBlobUploadThresholdInBytes = 4096; blob.UploadFile("somehugefile.zip"); 

    J’utilise Cyberduck pour gérer mon stockage de blob.

    C’est gratuit et très facile à utiliser. Il fonctionne également avec d’autres solutions de stockage en nuage.

    J’ai récemment trouvé celui-ci aussi: CloudXplorer

    J’espère que cela aide.

    Il existe un nouvel outil OpenSource fourni par Microsoft:

    • Project Deco – Explorateur de compte Microsoft Azure Storage.

    S’il vous plaît, vérifiez ces liens:

    Vous pouvez utiliser Cloud Combine pour un téléchargement fiable et rapide des fichiers vers le stockage Azob Blob.

    Un simple fichier de commandes utilisant l’utilitaire AzCopy de Microsoft fera l’affaire. Vous pouvez glisser-déposer vos fichiers sur le fichier de commandes suivant pour les télécharger dans votre conteneur de stockage d’objects blob:

    upload.bat

     @ECHO OFF SET BLOB_URL=https://<<>>.blob.core.windows.net/<<>> SET BLOB_KEY=<<>> :AGAIN IF "%~1" == "" GOTO DONE AzCopy /Source:"%~d1%~p1" /Dest:%BLOB_URL% /DestKey:%BLOB_KEY% /Pattern:"%~n1%~x1" /destType:blob SHIFT GOTO AGAIN :DONE PAUSE 

    Notez que la technique ci-dessus ne télécharge qu’un ou plusieurs fichiers individuellement (puisque l’indicateur Pattern est spécifié) au lieu de télécharger un répertoire entier.

    Vous pouvez télécharger des fichiers volumineux directement dans Azure Blob Storage directement à l’aide du verbe HTTP PUT, le plus gros fichier que j’ai essayé avec le code ci-dessous est 4,6 Go. Vous pouvez le faire en C # comme ceci:

     // write up to ChunkSize of data to the web request void WriteToStreamCallback(IAsyncResult asynchronousResult) { var webRequest = (HttpWebRequest)asynchronousResult.AsyncState; var requestStream = webRequest.EndGetRequestStream(asynchronousResult); var buffer = new Byte[4096]; int bytesRead; var tempTotal = 0; File.FileStream.Position = DataSent; while ((bytesRead = File.FileStream.Read(buffer, 0, buffer.Length)) != 0 && tempTotal + bytesRead < CHUNK_SIZE && !File.IsDeleted && File.State != Constants.FileStates.Error) { requestStream.Write(buffer, 0, bytesRead); requestStream.Flush(); DataSent += bytesRead; tempTotal += bytesRead; File.UiDispatcher.BeginInvoke(OnProgressChanged); } requestStream.Close(); if (!AbortRequested) webRequest.BeginGetResponse(ReadHttpResponseCallback, webRequest); } void StartUpload() { var uriBuilder = new UriBuilder(UploadUrl); if (UseBlocks) { // encode the block name and add it to the query string CurrentBlockId = Convert.ToBase64String(Encoding.UTF8.GetBytes(Guid.NewGuid().ToString())); uriBuilder.Query = uriBuilder.Query.TrimStart('?') + string.Format("&comp=block&blockid={0}", CurrentBlockId); } // with or without using blocks, we'll make a PUT request with the data var webRequest = (HttpWebRequest)WebRequestCreator.ClientHttp.Create(uriBuilder.Uri); webRequest.Method = "PUT"; webRequest.BeginGetRequestStream(WriteToStreamCallback, webRequest); } 

    Le UploadUrl est généré par Azure lui-même et contient une signature d’access partagé, cette URL SAS indique où le blob doit être téléchargé et depuis combien de temps l’access de sécurité (access en écriture dans votre cas) est donné. Vous pouvez générer une URL SAS comme ceci:

     readonly CloudBlobClient BlobClient; readonly CloudBlobContainer BlobContainer; public UploadService() { // Setup the connection to Windows Azure Storage var storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionSsortingng"); BlobClient = storageAccount.CreateCloudBlobClient(); // Get and create the container BlobContainer = BlobClient.GetContainerReference("publicfiles"); } ssortingng JsonSerializeData(ssortingng url) { var serializer = new DataContractJsonSerializer(url.GetType()); var memoryStream = new MemoryStream(); serializer.WriteObject(memoryStream, url); return Encoding.Default.GetSsortingng(memoryStream.ToArray()); } public ssortingng GetUploadUrl() { var sasWithIdentifier = BlobContainer.GetSharedAccessSignature(new SharedAccessPolicy { Permissions = SharedAccessPermissions.Write, SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(60) }); return JsonSerializeData(BlobContainer.Uri.AbsoluteUri + "/" + Guid.NewGuid() + sasWithIdentifier); } 

    J'ai également un fil sur le sujet où vous pouvez trouver plus d'informations ici Comment télécharger des fichiers énormes sur le blob Azure à partir d'une page Web

    Vous pouvez télécharger des fichiers sur le blob de compte de stockage Azure à l’aide de l’invite de commandes .

    Installez les outils de stockage Microsoft Azure .

    Et puis, téléchargez-le sur votre compte blob avec la commande CLI:

     AzCopy /Source:"filepath" /Dest:bloburl /DestKey:accesskey /destType:blob 

    J’espère que cela aide.. 🙂

    J’ai utilisé tous les outils mentionnés dans post, et tous fonctionnent modérément bien avec les blobs de bloc. Mon préféré est BlobTransferUtility

    Par défaut, BlobTransferUtility ne bloque que les blobs. Cependant, ne changeant que 2 lignes de code, vous pouvez également télécharger des blobs de page. Si vous, comme moi, devez télécharger une image de machine virtuelle, celle-ci doit être un blob de page.

    (pour la différence s’il vous plaît voir cet article MSDN. )

    Pour charger des blobs de page, changez simplement les lignes 53 et 62 de BlobTransferHelper.cs depuis

    new Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob

    à

    new Microsoft.WindowsAzure.Storage.Blob.CloudPageBlob

    La seule autre chose à savoir sur cette application est de désélectionner HELP lorsque vous lancez le programme pour voir l’interface utilisateur réelle.

    Découvrez cette publication Le téléchargement sur Azure Storage, où il est expliqué comment télécharger facilement un fichier via PowerShell vers Azure Blob Storage.

    Vous pouvez utiliser l’outil Azcopy pour télécharger les fichiers requirejs vers le stockage par défaut azure, car le blob de blocs peut changer de modèle en fonction de vos besoins.

    Syntaxe

     AzCopy /Source : /Destination /s 

    Le nouveau portail Azure comporte une option de menu «Éditeur» dans l’aperçu dans la vue du conteneur. Vous permet de télécharger un fichier directement dans le conteneur depuis l’interface utilisateur du portail

    Essayez l’ Blob Service API

    http://msdn.microsoft.com/en-us/library/dd135733.aspx

    Cependant, 400mb est un fichier volumineux et je ne suis pas sûr qu’un seul appel d’API traitera de quelque chose de cette taille, vous devrez peut-être le diviser et le reconstruire à l’aide d’un code personnalisé.