你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

插入和更新实体

若要插入或更新实体,请在请求中包含一个 OData ATOM 或 OData JSON 实体,该实体指定实体的属性和数据。 有关有效负载格式的详细信息,请参阅 Azure 表存储操作的有效负载格式

“插入实体”操作插入具有唯一主键的新实体,该实体由分区键和行键的组合组成。 “更新实体”操作将现有实体替换为相同的 PartitionKeyRowKey合并实体操作更新现有实体的属性,但不替换实体。

插入或合并实体操作使用唯一主键创建新实体,或更新现有实体的属性,但不替换实体。 “插入或替换实体”操作使用唯一主键创建新实体,或替换现有实体。

构造 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"  
}  
  

另请参阅

表存储概念
对实体的操作