0

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

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

4

1 回答 1

1

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

列表表:

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>

如果你需要插入一个新实体,你应该使用下一个 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")
于 2010-12-13T12:32:55.023 回答