Silverlight RESTful Azure表访问

时间:2010-12-11 18:05:48

标签: silverlight windows-phone-7 azure azure-table-storage

我正在开发Windows Phone 7应用程序。其中一部分是在笔记本电脑上创建一个webrole,用于在我已经完成的Windows Azure云上创建表。我正在Windows Phone 7上开发一个Silverlight应用程序,它需要访问云来查询表并更新它们。我在互联网的很多地方发现,这可以通过对Windows TAble存储进行RESTful调用来完成。但我无处可寻找任何示例代码。

任何人都可以发布一些示例代码来完成RESTful对Windows表存储的调用,以便我可以从客户端(Silverlight应用程序--Windows Phone 7)查询和更新表。任何链接和参考也是受欢迎的。

1 个答案:

答案 0 :(得分:1)

这是关于对Windows表存储的RESTful调用的一些示例代码

列出表格:

http://<storageaccount>.table.core.windows.net/Tables

删除表格:

http://<storageaccount>.table.core.windows.net/Tables('TableName')

要创建新表,您必须为下一个Uri创建POST请求:

POST http://<storageaccount>.table.core.windows.net/Tables

这可能是您要求的主体:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns="http://www.w3.org/2005/Atom">
<title />
<updated>2010-11-18T11:48:34.9840639-07:00</updated>
<author>
<name/>
</author>
<id/>
<content type="application/xml">
<m:properties>
<d:TableName>ProductTable</d:TableName>
</m:properties>
</content>
</entry>

如果您需要INSERT一个新实体,您应该使用下一个Uri:

POST http://<storageaccountname>.table.core.windows.net/<TableName>

请求体如下面的Atom XML:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns="http://www.w3.org/2005/Atom">
<title />
<updated>2010-12-13T13:26:48.8875037Z</updated>
<author>
<name />
</author>
<id />
<content type="application/xml">
<m:properties>
<d:Description>My descripcion</d:Description>
<d:Name>Entity Name</d:Name>
<d:PartitionKey>Definitions</d:PartitionKey>
<d:RowKey>Things</d:RowKey>
<d:Timestamp m:type="Edm.DateTime">0001-01-01T00:00:00</d:Timestamp>
</m:properties>
</content>
</entry>

删除实体

http://<storageaccountname>.table.core.windows.net/<TableName>(PartitionKey="Definitions",
RowKey="Things")

使用REST API更新或合并数据实际上是DELETE和插入REST API的组合。 将本地实体更新或合并回表存储的URI与删除操作

的URI相同
http://<storageaccountname>.table.core.windows.net/<TableName>(PartitionKey="Definitions",
RowKey="Things")