Pregunta

Así que tengo esta aplicación que requiere a las entidades de consulta desde el almacenamiento de las tablas Tablas Azure no sé el esquema de.

1) ¿Hay alguna manera de hacer eso con el Storageclient envoltorio?
2) Estoy sin tener que adivinar, así que probé con la API REST y siempre me sale el 403 Prohibida cuando la consulta para las entidades.

Este es mi código.

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();
¿Fue útil?

Solución

Sí, puede hacerlo. Hay una entrada buena sobre cómo en: http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/481afa1b-03a9-42d9-ae79-9d5dc33b9297/

Se da un ejemplo de código bien, así que no voy a elaborar sobre ella. Este código es más o menos lo que yo uso en mi AzureTableQuery proyecto para averiguar las propiedades de una entidad. Si nos fijamos en el código, echa un vistazo a la GenericTableContext.cs GenericEntity.cs clases

Otros consejos

Las tablas de Windows Azure son consultables a través del protocolo OData (odata.org). La forma más fácil es tener la PartitionKey y la rowKey de la entidad que quieren obtener / actualización / fusión / eliminar.

ejemplos se basan todos están ahí (para tablas de consulta y entidades de consulta): http://msdn.microsoft.com/en-us/library/dd179423. aspx

Mi problema inicial se debió al hecho de que mi cabecera Autorization no estaba bien.
Estaba añadiendo la clave y en realidad hay unos pocos que tiene que ver con la llave, firmar una cadena y añadir que a la cabecera Autorization.
Más información aquí .

Así que ¿por qué me marca @ respuesta de Jason como válido? Debido a que mis suposiciones eran erróneas. Hay una manera de entidades de consulta en las Tablas Azure incluso si usted no sabe el esquema de las tablas. Y después de Jason mostró mi camino.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top