Question

J'ai donc cette application qui a besoin d'interroger les entités du stockage des tables Azure de tables, je ne sais pas le schéma de.

1) Est-il possible que je peux le faire avec l'emballage StorageClient?
2) Je devine pas, alors j'ai essayé avec l'API REST et je reçois toujours la 403 Interdite quand je fais une recherche pour les entités.

Ceci est mon code.

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();
Était-ce utile?

La solution

Oui, vous pouvez le faire. Il y a une bonne entrée sur la façon au: http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/481afa1b-03a9-42d9-ae79-9d5dc33b9297/

Il donne un bon exemple de code je donc pas élaborer là-dessus. Ce code est à peu près ce que je l'utilise dans mon AzureTableQuery projet pour connaître les propriétés d'une entité. Si vous regardez le code, consultez le GenericTableContext.cs GenericEntity.cs cours

Autres conseils

Tables Windows Azure sont interrogeables via le protocole OData (odata.org). La façon la plus simple est d'avoir le PartitionKey et la RowKey de l'entité qui veulent obtenir / mise à jour / fusion / supprimer.

Tous les exemples sont là REST (pour les tables requête et entités requête): http://msdn.microsoft.com/en-us/library/dd179423. aspx

Mon problème initial était dû au fait que mon en-tête de autorization n'était pas juste.
Je viens de la clé et ajoutais il y a en fait quelques chose que vous devez faire avec la clé, signer une chaîne et l'ajouter à l'en-tête de autorization.
Plus d'infos .

Alors, pourquoi ai-je marque @ la réponse de Jason comme valide? Parce que mes hypothèses étaient erronées. Il y a une façon d'interroger des entités dans vos tableaux Azure même si vous ne connaissez pas le schéma de vos tables. Et le poste de Jason a montré mon chemin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top