Domanda

Così ho questa applicazione che ha bisogno di soggetti di query dalla memoria Tabelle Azure dalle tabelle non so lo schema di.

1) C'è un modo per farlo con il Storageclient involucro?
2) Io non sono indovinare, così ho provato con l'API REST e ho sempre ottenere il 403 Forbidden quando interrogo per le entità.

Questo è il mio codice.

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();
È stato utile?

Soluzione

Sì, è possibile farlo. C'è una voce di buona su come in: http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/481afa1b-03a9-42d9-ae79-9d5dc33b9297/

Si dà un esempio di codice buono, quindi non mi dilungherò su di esso. Questo codice è più o meno quello che uso nel mio AzureTableQuery progetto per scoprire le proprietà di un'entità. Se si guarda il codice, controlla la GenericTableContext.cs GenericEntity.cs classi

Altri suggerimenti

Le tabelle di Windows Azure sono interrogabile tramite il protocollo OData (odata.org). Il modo più semplice è quello di avere il PartitionKey e la RowKey dell'entità che vogliono ottenere / aggiornamento / merge / cancellare.

Tutti esempi REST ci sono (per la domanda tavoli e le entità query): http://msdn.microsoft.com/en-us/library/dd179423. aspx

Il mio problema iniziale era dovuta al fatto che il mio colpo di testa Autorization non era giusto.
Stavo semplicemente aggiungendo la chiave e c'è in realtà un paio di cose che devi fare con la chiave, firmare una stringa e aggiungere che per l'header Autorization.
Maggiori informazioni qui .

Allora, perché ho mark @ risposta di Jason come valido? Perché le mie supposizioni erano sbagliate. C'è un modo per entità di query nelle tabelle Azure, anche se non si conosce lo schema delle tabelle. E il post di Jason mostrato il mio modo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top