在.NET中使用Azure Blob存储

时间:2018-11-04 09:37:41

标签: c# azure azure-storage-blobs

嗨,我正在尝试学习如何使用Azure和.Net。

我构建了一个简单的“ Hello World” WebApp,并创建了一个具有3个电子邮件地址的表的Blob存储(当然,该WebApp和Blob存储都在同一订阅下)

我要做的就是在我运行网站时显示这3个电子邮件地址。即从Blob存储区中的表格中获取此地址列表,并将其通过网站呈现。

我不知道从哪里开始,Microsoft教程并没有太大帮助。

在WebApp下的解决方案资源管理器中,有一个文件夹“ Controllers”。我的直觉是在那儿开一门新课,但我又不知道如何开始。

1 个答案:

答案 0 :(得分:1)

如果遵循此doc,这非常简单。

我有一个演示,如下所示:

1。在visual studio-> Nuget软件包管理器中,安装最新版本的WindowsAzure.ConfigurationManagerWindowsAzure.Storage

2。在web.config-> appsettings节点中,添加<add key="StorageConnectionString" value="your storage account string" />enter image description here

3。在asp.net Web项目中,添加一个派生自TableEntity的自定义类:

public class CustomerEntity : TableEntity
{
    public CustomerEntity(string lastName, string firstName)
    {
        this.PartitionKey = lastName;
        this.RowKey = firstName;
    }

    public CustomerEntity() { }

    public string Email { get; set; }

    public string PhoneNumber { get; set; }
}

4。然后在您的控制器中,添加以下代码(我在Contact方法中添加了代码):

       using System.Web.Mvc;

       using Microsoft.Azure;

       using Microsoft.WindowsAzure.Storage;

       using Microsoft.WindowsAzure.Storage.Table; 

        public ActionResult Contact()
        {
            //define the emails to output in web page
            string emails = "";

            // Retrieve the storage account from the connection string.

            CloudStorageAccount storageAccount = CloudStorageAccount.Parse(

                CloudConfigurationManager.GetSetting("StorageConnectionString"));

            // Create the table client.

            CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

            // Create the CloudTable object that represents the "people" table.

            CloudTable table = tableClient.GetTableReference("people");

            TableQuery<CustomerEntity> query = new TableQuery<CustomerEntity>();

            foreach (CustomerEntity entity in table.ExecuteQuery(query))
            {

                    emails += entity.Email+";";

            }

            ViewBag.Message = "Your contact page."+emails;

            return View();
        }
  1. 我的天蓝色表和测试结果: enter image description here

所有电子邮件地址都显示在网页中: enter image description here