Sdílet prostřednictvím


Vložit entitu

Operace Insert Entity vloží novou entitu do tabulky.

Žádost

Požadavek můžete sestavit Insert Entity následujícím způsobem. Doporučuje se https. Nahraďte myaccount názvem vašeho účtu úložiště a mytable názvem vaší tabulky.

Metoda Identifikátor URI žádosti Verze PROTOKOLU HTTP
POST https://myaccount.table.core.windows.net/mytable HTTP/1.1

Identifikátor URI služby emulovaného úložiště

Když vytvoříte požadavek na službu emulovaného úložiště, zadejte název hostitele emulátoru a port Azure Table Storage jako 127.0.0.1:10002a za ním název emulovaného účtu úložiště.

Metoda Identifikátor URI žádosti Verze PROTOKOLU HTTP
POST http://127.0.0.1:10002/devstoreaccount1/mytable HTTP/1.1

Table Storage v emulátoru úložiště se od Azure Table Storage liší několika způsoby. Další informace najdete v tématu Rozdíly mezi emulátorem úložiště a službami Azure Storage.

Parametry identifikátoru URI

V identifikátoru URI požadavku můžete zadat následující další parametry.

Parametr Popis
timeout Nepovinný parametr. Parametr se timeout vyjadřuje v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace služby Table Storage.

Hlavičky požadavku

Následující tabulka popisuje požadované a volitelné hlavičky požadavků.

Hlavička požadavku Popis
Authorization Povinná hodnota. Určuje schéma autorizace, název účtu a podpis. Další informace najdete v tématu Autorizace požadavků do služby Azure Storage.
Date nebo x-ms-date Povinná hodnota. Určuje formát UTC (Coordinated Universal Time). Další informace najdete v tématu Autorizace požadavků do služby Azure Storage.
x-ms-version Nepovinný parametr. Určuje verzi operace, která se má pro tento požadavek použít. Další informace najdete v tématu Správa verzí pro služby Azure Storage.
Content-Type Povinná hodnota. Určuje typ obsahu datové části. Možné hodnoty jsou application/atom+xml (pouze verze starší než 2015-12-11) a application/json.

Další informace o platných typech obsahu najdete v tématu Formát datové části pro operace služby Table Storage.
Content-Length Povinná hodnota. Délka textu požadavku.
Accept Nepovinný parametr. Určuje akceptované typy obsahu datové části odpovědi. Možné hodnoty:

- application/atom+xml (pouze verze před 11. 12. 2015)
- application/json;odata=nometadata
- application/json;odata=minimalmetadata
- application/json;odata=fullmetadata

Další informace najdete v tématu Formát datové části pro operace služby Table Storage.
Prefer Nepovinný parametr. Určuje, jestli má odpověď obsahovat vloženou entitu v datové části. Možné hodnoty jsou return-no-content a return-content. Další informace najdete v tématu Nastavení hlavičky Prefer pro správu odezvy odpovědi při operacích vložení.
x-ms-client-request-id Nepovinný parametr. Poskytuje klientem vygenerovanou neprůselnou hodnotu s limitem počtu znaků 1 kibibajt (KiB), který je zaznamenán v protokolech při konfiguraci protokolování. Důrazně doporučujeme použít tuto hlavičku ke korelaci aktivit na straně klienta s požadavky, které server přijímá. Další informace najdete v tématu Monitorování služby Azure Table Storage.

Text požadavku

Operace Insert Entity odešle entitu, která se má vložit jako entita OData , což je buď JSON, nebo informační kanál Atom. Další informace najdete v tématu Vkládání a aktualizace entit.

Poznámka

Json je doporučený formát datové části a je jediným podporovaným formátem pro verzi 2015-12-11 a novější.

JSON (verze 2013-08-15 a novější)

Tady je ukázkový text požadavku JSON pro operaci Insert Entity :

{  
   "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,  
   "NumberOfOrders@odata.type":"Edm.Int64",  
   "NumberOfOrders":"255",  
   "PartitionKey":"mypartitionkey",  
   "RowKey":"myrowkey"  
}  

Informační kanál Atom (verze před 11. 12. 2015)

Tady je ukázkový text požadavku Atom pro operaci Insert Entity .

<?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 />  
  <updated>2013-09-18T23:46:19.3857256Z</updated>  
  <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>  

Odpověď

Odpověď obsahuje stavový kód HTTP, sadu hlaviček odpovědi a tělo odpovědi.

Stavový kód

Stavový kód závisí na hodnotě hlavičky Prefer . Pokud je hlavička Prefer nastavená na return-no-content, úspěšná operace vrátí stavový kód 204 (No Content). Pokud hlavička Prefer není zadaná nebo pokud je nastavená na return-content, úspěšná operace vrátí stavový kód 201 (Created). Další informace najdete v tématu Nastavení hlavičky Prefer pro správu odezvy odpovědi při operacích vložení.

Informace o stavových kódech najdete v tématech Kódy stavů a chyb a Kódy chyb služby Table Service.

Hlavičky odpovědi

Odpověď obsahuje následující hlavičky. Odpověď může také obsahovat další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.

Hlavička odpovědi Description
x-ms-request-id Jednoznačně identifikuje požadavek, který byl proveden, a lze ho použít k řešení potíží s požadavkem. Další informace najdete v tématu Řešení potíží s operacemi rozhraní API.
x-ms-version Označuje verzi služby Table Storage použitou ke spuštění požadavku. Tato hlavička se vrátí pro požadavky provedené proti verzi 2009-09-19 a novější.
Date Hodnota data a času UTC, která označuje čas, kdy byla odpověď zahájena. Tato služba vygeneruje tuto hodnotu.
ETag Pro ETag entitu.
Preference-Applied Určuje, jestli byla hlavička Prefer požadavku dodržena. Pokud odpověď neobsahuje tuto hlavičku, znamená to Prefer , že se hlavička nedodrží. Pokud se vrátí tato hlavička, její hodnota bude return-contentreturn-no-contentnebo .

Další informace najdete v tématu Nastavení hlavičky Prefer pro správu odezvy odpovědi při operacích vložení.
Content-Type Označuje typ obsahu datové části. Hodnota závisí na hodnotě zadané pro hlavičku Accept požadavku. Možné hodnoty:

- application/atom+xml
- application/json;odata=nometadata
- application/json;odata=minimalmetadata
- application/json;odata=fullmetadata

Další informace o typech obsahu najdete v tématu Formát datové části pro operace služby Table Storage.
x-ms-client-request-id Dá se použít k řešení potíží s požadavky a odpovídajícími odpověďmi. Hodnota této hlavičky se rovná hodnotě x-ms-client-request-id hlavičky, pokud se nachází v požadavku. Hodnota je maximálně 1 024 viditelných znaků ASCII. Pokud se hlavička x-ms-client-request-id v požadavku nenachází, v odpovědi se nezobrazí.

Text odpovědi

Pokud požadavek obsahuje hlavičku Prefer s hodnotou return-no-content, nevrátí se žádné tělo odpovědi. V opačném případě je OData tělo odpovědi sadou entit.

Poznámka

Json je doporučený formát datové části a je jediným podporovaným formátem pro verzi 2015-12-11 a novější.

JSON (verze 2013-08-15 a novější)

Tady je ukázková odpověď JSON pro jednotlivé úrovně metadat:

Žádná metadata:

{  
   "PartitionKey":"mypartitionkey",  
   "RowKey":"myrowkey",  
   "Timestamp":"2013-08-22T01:12:06.2608595Z",  
   "Address":"Mountain View",  
   "Age":23,  
   "AmountDue":200.23,  
   "CustomerCode":"c9da6455-213d-42c9-9a79-3e9149a57833",  
   "CustomerSince":"2008-07-10T00:00:00",  
   "IsActive":true,  
   "NumberOfOrders":"255"  
}  
  

Minimální metadata:

{  
   "odata.metadata":"https://myaccount.table.core.windows.net/Customer/$metadata#Customers/@Element",  
   "PartitionKey":"mypartitionkey",  
   "RowKey":"myrowkey",  
   "Timestamp":"2013-08-22T01:12:06.2608595Z",  
   "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,  
   "NumberOfOrders@odata.type":"Edm.Int64",  
   "NumberOfOrders":"255"  
}  
  

Úplná metadata:

{  
   "odata.metadata":"https://myaccount.table.core.windows.net/Customer/$metadata#Customers/@Element",  
   "odata.type":"myaccount.Customers",  
   "odata.id":" https://myaccount.table.core.windows.net/Customers(PartitionKey='mypartitionkey',RowKey='myrowkey')",  
   "odata.etag":"W/\"0x5B168C7B6E589D2\"",  
   "odata.editLink":"Customers(PartitionKey='mypartitionkey',RowKey='myrowkey')",  
   "PartitionKey":"mypartitionkey",  
   "RowKey":"myrowkey",  
   "Timestamp@odata.type":"Edm.DateTime",  
   "Timestamp":"2013-08-22T01:12:06.2608595Z",  
   "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,  
   "NumberOfOrders@odata.type":"Edm.Int64",  
   "NumberOfOrders":"255"  
}  

Informační kanál Atom (verze před 11. 12. 2015)

Tady je ukázkový text odpovědi Atom pro operaci Insert Entity .

<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<entry xml:base="https://myaccount.table.core.windows.net/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:etag="W/"0x5B168C7B6E589D2"" xmlns="https://www.w3.org/2005/Atom">  
  <id>https://myaccount.table.core.windows.net/mytable(PartitionKey='mypartitionkey',RowKey='myrowkey1')</id>  
  <title type="text"></title>  
  <updated>2008-09-18T23:46:19.3857256Z</updated>  
  <author>  
    <name />  
  </author>  
  <link rel="edit" title="mytable" href="mytable(PartitionKey='mypartitionkey',RowKey='myrowkey1')" />  
  <category term="myaccount.Tables" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />  
  <content type="application/xml">  
    <m:properties>  
      <d:PartitionKey>mypartitionkey</d:PartitionKey>  
      <d:RowKey>myrowkey1</d:RowKey>  
      <d:Timestamp m:type="Edm.DateTime">2008-09-18T23:46:19.4277424Z</d:Timestamp>  
      <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: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>  
    </m:properties>  
  </content>  
</entry>  

Autorizace

Tuto operaci může provést vlastník účtu. Navíc to může udělat každý se sdíleným přístupovým podpisem, který má oprávnění k provedení této operace.

Poznámky

Při vkládání entity do tabulky je nutné zadat hodnoty pro PartitionKey systémové vlastnosti a RowKey . Tyto vlastnosti společně tvoří primární klíč a musí být v rámci tabulky jedinečné.

PartitionKey Hodnoty i RowKey musí být řetězcové. PartitionKey a RowKey mohou mít velikost až 1024 znaků. Pokud jako hodnotu klíče použijete celočíselnou hodnotu, měli byste celé číslo převést na řetězec s pevnou šířkou, protože jsou seřazené kanonicky. Například hodnotu převeďte na 10000001, aby se zajistilo správné řazení.

Pokud chcete explicitně zadat vlastnost, zadejte příslušný OData datový typ nastavením m:type atributu v definici vlastnosti v informačním kanálu Atom. Další informace o zadávání vlastností najdete v tématu Vkládání a aktualizace entit.

Table Storage nedává null hodnoty vlastností jako trvalé. Zadání vlastnosti s null hodnotou je ekvivalentem vynechání této vlastnosti v požadavku.

Informace o provádění operací dávkového vložení najdete v tématu Provádění transakcí skupin entit.

Viz také

Autorizace požadavků do Služby Azure Storage
Nastavení hlaviček verzí datové služby OData
Vkládání a aktualizace entit
Stavové kódy a kódy chyb
Kódy chyb služby Table Storage