首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问blob;而不使用webrole?

访问blob;而不使用webrole?
EN

Stack Overflow用户
提问于 2010-04-12 08:06:01
回答 3查看 289关注 0票数 1

我想知道是否有方法可以上传/download一个blob;添加删除视图元数据而不使用webrole?如果我的应用程序有很多gui,应该有多个webroles吗?我在任何地方看到的webrole的文件default.aspx.cs都与基于事件的blob有关;这是非常好的,但是如果我的gui更复杂呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-12 10:13:44

Blobs可以通过REST调用访问,所以如果你愿意,你可以使用本地桌面应用程序来操作blobs,即使是用PHP或Java编写的。

对于webroles:每个角色都是在某个服务器上运行的虚拟机。Web角色就像工作者角色一样,只是增加了IIS。如果你有一个网站,你可以把整个网站放在一个webrole中。如果你需要扩展它来处理更多的用户,你可以创建多个webrole的“实例”-然后你网站的所有请求都会被发送到不同的实例,每个实例都运行相同的代码。(是的,对于一个给定的应用,你可以有多个webroles --这可能很实用,这取决于你的站点的复杂性,或者如果你对管理员和访问者有一个完全不同的UI )。

票数 3
EN

Stack Overflow用户

发布于 2010-04-12 10:14:00

你不需要使用web角色来访问Azure存储(Blob或其他)。你可以使用工作者角色,甚至可以从桌面上运行的Windows窗体应用或未在Azure上运行的web/服务应用访问它。

有关如何访问Azure Storage的信息,请参阅Azure SDK的StorageClient文档-这非常简单。

票数 1
EN

Stack Overflow用户

发布于 2012-04-09 22:05:49

你不需要Azure项目或其他角色即可使用blob。如果你想在.Net项目中使用Azure客户端,你可以将你的配置添加到应用设置部分并引用它。Azure客户端是rest调用的包装器。他们有一些请求签名步骤,这使得调用很难通过简单的with请求来实现。

代码语言:javascript
复制
 <add key="AzureBlobStorage" value="AccountName=youraccountname;AccountKey=YOURKEYeZgfgdfg==;DefaultEndpointsProtocol=https"/>

您可以获取blob客户端:

代码语言:javascript
复制
 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只是一个包装器。基本上,您需要文件夹名和文件名才能访问blob。

代码语言:javascript
复制
 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; }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2619220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档