我想从Azure网站(而不是Cloud Service)使用Azure表存储服务。有关如何使用Node.js执行此操作的指南,但我喜欢使用.NET MVC。
.NET的所有指南都讨论了如何将Azure存储连接信息存储在ServiceConfiguration中(就像在Cloud Service中一样),但在Azure网站中我没有这个(只是一个Web.config)。如果我没有弄错的话,如果不在Azure模拟器中运行,也不可能使用RoleEnvironment(用于从ServiceConfiguration读取),而我不会在AzureWeb站点中执行此操作。
是否可以从Azure网站访问表存储,如果可以,我该如何连接到它?
我看过this question但看起来并不相似。
答案 0 :(得分:5)
您只需从web.config获取连接字符串并解析它(请注意,您也可以使用CloudConfigurationManager.GetSetting
方法):
var connectionString = ConfigurationManager.AppSettings["myStorageAccountConnectionString"];
var storageAccount = CloudStorageAccount.Parse(connectionString);
var tableClient = storageAccount.CreateCloudTableClient();
在您的web.config中,您需要添加如下连接字符串:
<appSettings>
<add key="myStorageAccountConnectionString" value="DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=fazfazefazefzeefazeefazfazefazef"/>
</appSettings>
答案 1 :(得分:1)
简短回答:是的。表服务有REST API,这意味着您可以从任何可以通过http进行通信的客户端平台访问它。
谷歌搜索然后产生大量的例子:
http://azure.snagy.name/blog/?p=294
http://blogs.msdn.com/b/rickandy/archive/2012/09/20/azure-table-storage.aspx
您可以使用MVC中的CloudTableClient
:即使大多数示例都是针对云服务的,您也可以轻松调整它们以从web.config或任何其他来源获取连接数据。操作方法文档在此处:https://www.windowsazure.com/en-us/develop/net/how-to-guides/table-services/