所以我有這個應用程序需要從表我不知道模式的表從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