Télécharger vers un stockage Azure Blob avec clé d'accès partagé
UPD: Voici mon mise en œuvre de la solution à ce problème
Je suis en train de télécharger sur Azure blob storage via Azure.De stockage de la bibliothèque (pas d'API REST) et de l'authentification via l'Accès Partagé Clé.
J'ai vu cette post de blogmais l'API a changé depuis le post et maintenant je ne peux pas obtenir le même résultat.
Voici ce que j'ai:
var blobClient = new CloudBlobClient(new Uri(blobWithSas.BaseUri), new StorageCredentials(blobWithSas.Sas));
//here I receive 404 error
var blob = blobClient.GetBlobReferenceFromServer(new Uri(blobWithSas.AbsoluteUri));
using (var stream = new FileStream(fullFilePath, FileMode.Open))
{
blob.UploadFromStream(stream);
}
Avoir:
blobWithSas.BaseUri
= http://127.0.0.1:10000/devstoreaccount1/a6dc9274-6ce1-4095-be6b-e84d1012cb24
(Guid est le nom du conteneur, existent déjà, créée quelque part.)
blobWithSas.Sas
= ?sv=2012-02-12&se=2013-06-23T03%3A04%3A53Z&sr=b&sp=w&sig=NaMqgXRMXDFvLAp8LTskgplAKp%2B9LCZzq8WK9Zo35x8%3D
(également publié quelque part d'autre dans le code)
blobWithSas.AbsoluteUri
= http://127.0.0.1:10000/devstoreaccount1/a6dc9274-6ce1-4095-be6b-e84d1012cb24/foldername/filename.txt
Le blob n'existe pas, je veux télécharger un nouveau fichier et créer un blob. J'ai "Serveur d'application" la tenue de la Clé d'Accès pour le Stockage Azure Compte. Le serveur devrait émettre des SAS et des clients de télécharger des fichiers directement à Azure. Donc, SAS serait uniquement à l'écriture, la lecture et les clients de la création de fichiers où le serveur leur dit d' (conteneur, les noms de dossier)
Le problème sur GetBlobReferenceFromServer
- je obtenir de l'erreur 404 de Stockage Azure. Oui, le blob n'existe pas et il n'y a pas de référence. Donc, étant donné CloudBlobClient, comment puis-je télécharger un fichier vers un blob?
p.s. Je me rends compte il est REST API pour ces choses. Mais j'ai utilisé Microsoft.WindowsAzure.Storage
bibliothèque de l'avant et éviter de service de REPOS si possible.
source d'informationauteur trailmax
Vous devez vous connecter pour publier un commentaire.
Pour
GetBlobReferenceFromServer
de travail, la goutte doit être présent dans le stockage blob. C'est utile dans le scénario quand vous savez que le blob existent dans de stockage et voudrait trouver le type de blob -Block Blob
ouPage Blob
.Si vous souhaitez créer un blob de blocs, par le téléchargement d'un fichier à partir de l'ordinateur local, vous pourriez faire quelque chose comme:
Venir à l'accès partagé fonctionnalité de signature, j'ai écrit un billet de blog, pas trop longtemps à ce sujet:
http://gauravmantri.com/2013/02/13/revisiting-windows-azure-shared-access-signature/
. Vous pouvez appeler cela de la version 2 de Steve blog:). J'ai montré des exemples de téléchargement de gouttes avec signature d'accès partagé à l'aide de deux API REST et Client de Stockage de la Bibliothèque 2.0.Quelques exemples de code à partir du blog:
À L'Aide De Stockage De La Bibliothèque Du Client:
À l'aide de l'API REST:
Vous pouvez également trouver ce blog utile:
http://gauravmantri.com/2013/02/16/uploading-large-files-in-windows-azure-blob-storage-using-shared-access-signature-html-and-javascript/