2010-04-12 2 views
1

Je voulais savoir si nous pouvions télécharger/télécharger un blob; ajouter supprimer les métadonnées de vue sans utiliser de webrole? Si mon application a beaucoup de gui, shud il y a plusieurs webroles? partout, je vois le fichier default.aspx.cs de webrole a tout à faire avec le blob basé sur un événement; ce qui est parfaitement bien, mais que faire si mon gui est plus compliqué?accédant à un blob; sans utiliser un webrole?

Répondre

3

Blobs sont accessibles via des appels REST, de sorte que vous pouvez réellement manipuler blobs avec une application de bureau local si vous le souhaitez, même écrit en PHP ou Java. En ce qui concerne les webroles: chaque rôle est simplement une machine virtuelle fonctionnant quelque part sur un serveur. Les rôles Web sont similaires aux rôles de travail, avec l'ajout d'IIS. Si vous avez un site Web, vous pouvez mettre l'ensemble du site Web dans un webrole unique. Si vous devez le mettre à l'échelle pour gérer plus d'utilisateurs, vous pouvez créer plus d'une "instance" de ce webrole - et ensuite toutes les demandes de votre site Web sont envoyées aux différentes instances, chacune exécutant le même code. (oui, vous pouvez avoir plusieurs webroles pour une application donnée - cela peut être pratique en fonction de la complexité de votre site, ou si vous avez une interface utilisateur complètement différente pour les administrateurs et les visiteurs).

1

Vous n'avez pas besoin d'utiliser un rôle Web pour accéder à Azure Storage (Blob ou autre). Vous pouvez utiliser un rôle de travailleur ou vous pouvez même y accéder à partir d'une application Windows Forms exécutée sur un ordinateur de bureau ou d'une application Web/de service qui n'est pas exécutée sur Azure. Pour plus d'informations sur l'accès à Azure Storage, reportez-vous à la documentation StorageClient du kit de développement Azure SDK. C'est relativement simple.

0

Vous n'avez pas besoin de projet Azure ou d'autres rôles pour utiliser blob. Si vous souhaitez utiliser le client Azure dans un projet .Net, vous pouvez ajouter votre configuration aux paramètres de l'application et la référencer. Le client Azure est un wrapper pour interrompre les appels. Ils ont des étapes de signature de requête qui rendent les appels difficiles à implémenter avec des requêtes simples.

<add key="AzureBlobStorage" value="AccountName=youraccountname;AccountKey=YOURKEYeZgfgdfg==;DefaultEndpointsProtocol=https"/> 

Vous pouvez obtenir le client blob:

public CloudBlobClient GetBlobClient() 
    { 
     var accountBlob = ConfigurationManager.AppSettings["AzureBlobStorage"]; 

     var account = CloudStorageAccount.Parse(accountBlob.ToString()); 


     return account.CreateCloudBlobClient(); 

    } 


public CloudBlob GetBlob(BlobItem blobItem) 
     { 
      var client = GetBlobClient(); 
      var cloudBlobContainer = client.GetContainerReference(blobItem.ContainerReference); 
      return cloudBlobContainer.GetBlobReference(blobItem.FileName); 
     } 

BlobItem est juste un emballage. Fondamentalement, vous avez besoin de nom de dossier et de nom de fichier pour accéder à un blob.

public class BlobItem 
{ 
    [Required] 
    [Display(Name = "Container")] 
    public string ContainerReference { get; set; } 
    [Required] 
    [Display(Name = "File name")] 
    public string FileName { get; set; } 

    [Required] 
    [UIHint("MultilineText")] 
    public string Content { get; set; } 

    /// <summary> 
    /// to use in stream mode 
    /// </summary> 
    public Stream Stream { get; set; } 
} 
Questions connexes