所以我有这个应用程序需要从表我不知道模式的表从Azure表存储查询实体。访问Azure表实体
1)有没有一种方法可以通过Storageclient包装来实现?
2)我猜不是,所以我尝试了REST API,当我查询实体时,我总是得到403 Forbidden。
这是我的代码。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(string.Format("http://{0}.table.core.windows.net/Tables('{1}')", account,query));
request.UserAgent = " Microsoft ADO.NET Data Services";
request.KeepAlive = true;
request.Method = "GET";
request.Headers.Add("x-ms-version", "2009-09-19");
request.Headers.Add("x-ms-date", string.Format("{0} GMT", DateTime.UtcNow.ToString ("ddd, dd MMM yyyy HH:mm:ss")));
request.Headers.Add("Authorization", string.Format("SharedKey {0}:{1}", account, key));
request.Accept = "application/atom+xml,application/xml";
request.Headers.Add("Accept-Charset", "UTF-8");
request.Headers.Add("DataServiceVersion", "1.0;NetFx");
request.Headers.Add("MaxDataServiceVersion", "1.0;NetFx");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
谁编辑我的标签:伙计!为什么只是天青石? Windows Azure非常大......并且只与存储帐户中的表有关...... – sebagomez 2010-03-02 14:06:45
不幸的是,Microsoft此时没有为表存储提供REST级别的API(我已经抱怨过了,请参阅http:// vermorel .com/journal/2010/1/15/fat-entities-for-table-storage-in-lokadcloud.html),而ADO.NET客户端不是通用类型。在这一点上,我建议放弃并等到微软提供一个体面的客户端库。 – 2010-03-02 16:40:43