你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
插入和更新实体
若要插入或更新实体,请在请求中包含一个 OData
ATOM 或 OData
JSON 实体,该实体指定实体的属性和数据。 有关有效负载格式的详细信息,请参阅 Azure 表存储操作的有效负载格式。
“插入实体”操作插入具有唯一主键的新实体,该实体由分区键和行键的组合组成。
“更新实体”操作将现有实体替换为相同的 PartitionKey
和 RowKey
。
合并实体操作更新现有实体的属性,但不替换实体。
插入或合并实体操作使用唯一主键创建新实体,或更新现有实体的属性,但不替换实体。 “插入或替换实体”操作使用唯一主键创建新实体,或替换现有实体。
构造 Atom 源
用于插入或更新操作的 Atom 馈送通过指定实体名称和数据类型来定义实体的属性,并设置这些属性的值。
content
元素包含实体的属性定义,这些定义在 m:properties
元素中指定。 属性类型由 m:type
特性指定。 有关属性类型的详细信息,请参阅 表存储操作的有效负载格式。
下面是 Insert Entity 操作的 Atom 源示例:
<?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="https://www.w3.org/2005/Atom">
<title />
<author>
<name />
</author>
<id />
<content type="application/xml">
<m:properties>
<d:Address>Mountain View</d:Address>
<d:Age m:type="Edm.Int32">23</d:Age>
<d:AmountDue m:type="Edm.Double">200.23</d:AmountDue>
<d:BinaryData m:type="Edm.Binary" m:null="true" />
<d:CustomerCode m:type="Edm.Guid">c9da6455-213d-42c9-9a79-3e9149a57833</d:CustomerCode>
<d:CustomerSince m:type="Edm.DateTime">2008-07-10T00:00:00</d:CustomerSince>
<d:IsActive m:type="Edm.Boolean">true</d:IsActive>
<d:NumOfOrders m:type="Edm.Int64">255</d:NumOfOrders>
<d:PartitionKey>mypartitionkey</d:PartitionKey>
<d:RowKey>myrowkey1</d:RowKey>
</m:properties>
</content>
</entry>
注意
原子有效负载仅在 2015-12-11 之前的版本中受支持。 从版本 2015-12-11 开始,有效负载必须采用 JSON。
构造 JSON 源
若要使用 OData
JSON 格式插入或更新实体,请创建一个 JSON 对象,该对象将属性名称作为键及其属性值。 如果无法通过 OData
JSON 类型检测启发法推断属性类型,则可能需要包含该属性类型。
与前面的 Atom 示例对应的 JSON 有效负载如下所示:
{
"Address":"Mountain View",
"Age":23,
"AmountDue":200.23,
"CustomerCode@odata.type":"Edm.Guid",
"CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",
"CustomerSince@odata.type":"Edm.DateTime",
"CustomerSince":"2008-07-10T00:00:00",
"IsActive":true,
"NumOfOrders@odata.type":"Edm.Int64",
"NumOfOrders":"255",
"PartitionKey":"mypartitionkey",
"RowKey":"myrowkey"
}