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

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

Comment puis-je faire ça sans écrire de code? Il y a une interface pour ça?

44
demandé sur David Makogon 2011-07-05 18:10:08

15 réponses

outils gratuits:

  1. Visual Studio 2010 -- install Azure tools et vous pouvez trouver les gouttes dans l'Explorateur de serveurs
  2. Cloud Berry Lab's CloudBerry Explorer for Azure Blob Storage
  3. ClumpsyLeaf CloudXplorer
  4. Explorateur de Stockage windows Azure à partir de CodePlex (essayez la version 4 beta)

il y avait un vieux programme appelé Azure Blob Explorer ou quelque chose que non longer fonctionne avec le nouveau SDK Azure.

de ceux-ci, j'aime personnellement CloudBerry Explorer le meilleur.

36
répondu Stephen Chung 2011-07-06 02:10:10

la manière la plus simple est d'utiliser Azure stockage PowerShell. Il a fourni de nombreuses commandes pour gérer votre conteneur de stockage/blob/table/queue.

pour le cas que vous avez mentionné, vous pouvez utiliser Set-AzureStorageBlobContent qui peut télécharger un fichier local dans le stockage azure sous forme de bloc ou de bloc de page.

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

pour plus de détails, veuillez vous référer à http://msdn.microsoft.com/en-us/library/dn408487.aspx .

18
répondu Yao 2013-09-03 07:11:27

si vous êtes à la recherche d'un outil pour le faire, puis-je vous suggérer de jeter un oeil à notre outil Cloud Storage Studio ( http://www.cerebrata.com/Products/CloudStorageStudio ). C'est un outil commercial pour gérer le stockage et le service hébergé Windows Azure. Vous pouvez également trouver une liste complète des outils de gestion de stockage Windows Azure ici: http://blogs.msdn.com/b/windowsazurestorage/archive/2010/04/17/windows-azure-storage-explorers.aspx

Espérons que cette aide.

11
répondu Gaurav Mantri 2011-07-05 14:35:56

le magasin a ceci 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");
6
répondu dunnry 2011-07-05 17:22:43

il y a un nouvel outil OpenSource fourni par Microsoft:

  • Projet Déco Multi Plates-Formes Microsoft Azure Storage Compte Explorer.

s'il vous Plaît, consultez ces liens:

4
répondu Ivan Ignatiev - MSFT 2016-03-02 10:46:59

j'utilise Cyberduck pour gérer mon blob storage.

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

j'ai récemment trouvé celui-ci ainsi: CloudXplorer

J'espère que ça aidera.

3
répondu noir 2011-10-02 09:44:56

vous pouvez utiliser Cloud moissonner pour le téléchargement de fichiers fiables et rapides sur le stockage Blob Azure.

2
répondu ezolotko 2013-04-11 12:50:09

un simple fichier par lot utilisant l'utilitaire AzCopy de Microsoft fera l'affaire. Vous pouvez faire glisser et déposer vos fichiers sur le fichier de lot suivant pour télécharger dans votre conteneur de stockage blob:

télécharger.MTD

@ECHO OFF

SET BLOB_URL=https://<<<account name>>>.blob.core.windows.net/<<<container name>>>
SET BLOB_KEY=<<<your access 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 charge qu'un ou plusieurs fichiers individuellement (puisque le drapeau Pattern est spécifié) au lieu de charger un répertoire entier.

2
répondu David Yee 2016-06-09 10:07:30

vous pouvez télécharger de grands fichiers directement dans le stockage Blob Azure directement en utilisant le verbe mis HTTP, le plus gros fichier que j'ai essayé avec le code ci-dessous est 4,6 Go. Vous pouvez le faire dans 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'accès partagé, cette URL SAS indique où le blob doit être téléchargé et combien de temps l'accès de sécurité (accès 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("DataConnectionString");
    BlobClient = storageAccount.CreateCloudBlobClient();

    // Get and create the container
    BlobContainer = BlobClient.GetContainerReference("publicfiles");
}

string JsonSerializeData(string url)
{
    var serializer = new DataContractJsonSerializer(url.GetType());
    var memoryStream = new MemoryStream();

    serializer.WriteObject(memoryStream, url);

    return Encoding.Default.GetString(memoryStream.ToArray());
}

public string 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 aussi un thread sur le sujet où vous pouvez trouver plus d'informations ici comment télécharger d'énormes fichiers dans le blob Azur à partir d'une page web

1
répondu Community 2017-05-23 12:25:42

vous pouvez télécharger des fichiers vers Azure Storage Account Blob en utilisant L'invite de commande .

Installer Microsoft Azure Storage outils .

et ensuite le télécharger sur votre compte blob CLI commande:

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

J'espère que ça aidera.. :)

1
répondu Sarat Chandra 2017-03-23 15:36:28

j'ai utilisé tous les outils mentionnés dans le post, et tous travaillent modérément bien avec block blobs. Mon préféré est cependant BlobTransferUtility

par défaut BlobTransferUtility ne bloque que les blobs. Cependant changer seulement 2 lignes de code et vous pouvez télécharger des blobs de page aussi bien. Si vous, comme moi, avez besoin de télécharger une image de machine virtuelle, il doit être un blob page.

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

pour télécharger des blobs de page il suffit de changer les lignes 53 et 62 de BlobTransferHelper.cs à partir de

new Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob

à

new Microsoft.WindowsAzure.Storage.Blob.CloudPageBlob

la seule autre chose à savoir à propos de cette application est de décocher de l'aide lorsque vous lancez le programme pour voir L'UI réelle.

0
répondu paqogomez 2013-07-16 22:37:21

consultez ce post Téléchargement de Stockage Azure où il est expliqué comment télécharger facilement n'importe quel fichier via PowerShell pour Azure Blob Storage.

0
répondu Jeffrey Rosselle 2015-04-01 14:59:17

vous pouvez utiliser L'outil Azcopy pour télécharger les fichiers requis sur le stockage par défaut azure est Bloc blob u peut changer de modèle en fonction de vos besoins

syntaxe

AzCopy /Source :  /Destination /s
0
répondu manchikanti nitesh 2017-04-20 06:53:07

le nouveau portail Azure a une option de menu 'Editor' en preview lors de la vue de conteneur. Vous permet de télécharger un fichier directement dans le conteneur à partir du portail UI

0
répondu Norrec 2018-05-16 18:26:41

Essayez le Blob Service API

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

cependant, 400mo est un grand fichier et je ne suis pas sûr qu'un seul appel API traitera avec quelque chose de cette taille, vous pouvez avoir besoin de le diviser et de reconstruire en utilisant le code personnalisé.

-1
répondu ChrisBint 2011-07-05 14:11:46