我正在开发Windows Phone 7应用程序。其中一部分是在笔记本电脑上创建一个webrole,用于在我已经完成的Windows Azure云上创建表。我正在Windows Phone 7上开发一个Silverlight应用程序,它需要访问云来查询表并更新它们。我在互联网的很多地方发现,这可以通过对Windows TAble存储进行RESTful调用来完成。但我无处可寻找任何示例代码。
任何人都可以发布一些示例代码来完成RESTful对Windows表存储的调用,以便我可以从客户端(Silverlight应用程序--Windows Phone 7)查询和更新表。任何链接和参考也是受欢迎的。
答案 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")