Entität einfügen

Der Insert Entity-Vorgang fügt eine neue Entität in eine Tabelle ein.

Anforderung

Sie können die Insert Entity Anforderung wie folgt erstellen. HTTPS wird empfohlen. Ersetzen Sie myaccount durch den Namen Ihres Speicherkontos und mytable durch den Namen Ihrer Tabelle.

Methode Anforderungs-URI HTTP-Version
POST https://myaccount.table.core.windows.net/mytable HTTP/1.1

Emulierter Speicherdienst-URI

Wenn Sie eine Anforderung an den emulierten Speicherdienst stellen, geben Sie den Emulatorhostnamen und den Azure Table Storage-Port als 127.0.0.1:10002an, gefolgt vom Namen des emulierten Speicherkontos.

Methode Anforderungs-URI HTTP-Version
POST http://127.0.0.1:10002/devstoreaccount1/mytable HTTP/1.1

Table Storage im Speicheremulator unterscheidet sich auf verschiedene Weise von Azure Table Storage. Weitere Informationen finden Sie unter Unterschiede zwischen dem Speicheremulator und den Azure Storage-Diensten.

URI-Parameter

Sie können die folgenden zusätzlichen Parameter für den Anforderungs-URI angeben.

Parameter BESCHREIBUNG
timeout Optional. Der timeout-Parameter wird in Sekunden angegeben. Weitere Informationen finden Sie unter Festlegen von Timeouts für Table Storage-Vorgänge.

Anforderungsheader

In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.

Anforderungsheader BESCHREIBUNG
Authorization Erforderlich. Gibt das Autorisierungsschema, den Kontonamen und die Signatur an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage.
Date oder x-ms-date Erforderlich. Gibt die koordinierte Weltzeit (Coordinated Universal Time, UTC) für die Anforderung an. Weitere Informationen finden Sie unter Autorisieren von Anforderungen an Azure Storage.
x-ms-version Optional. Gibt die Version des für die Anforderung zu verwendenden Vorgangs an. Weitere Informationen finden Sie unter Versionsverwaltung für die Azure-Speicherdienste.
Content-Type Erforderlich. Gibt den Inhaltstyp der Nutzlast an. Mögliche Werte sind application/atom+xml (nur Versionen vor 2015-12-11) und application/json.

Weitere Informationen zu gültigen Inhaltstypen finden Sie unter Nutzlastformat für Table Storage-Vorgänge.
Content-Length Erforderlich. Die Länge des Anforderungstexts.
Accept Optional. Gibt den akzeptierten Inhaltstyp der Antwortnutzlast an. Mögliche Werte:

- application/atom+xml (nur Versionen vor 2015-12-11)
- application/json;odata=nometadata
- application/json;odata=minimalmetadata
- application/json;odata=fullmetadata

Weitere Informationen finden Sie unter Nutzlastformat für Table Storage-Vorgänge.
Prefer Optional. Gibt an, ob die Antwort die eingefügte Entität in der Nutzlast enthalten soll. Mögliche Werte sind return-no-content und return-content. Weitere Informationen finden Sie unter Festlegen des Headers Prefer zum Verwalten des Antwortechos bei Einfügevorgängen.
x-ms-client-request-id Optional. Stellt einen vom Client generierten, undurchsichtigen Wert mit einem Zeichenlimit von 1 Kibibyte (KiB) bereit, der in den Protokollen aufgezeichnet wird, wenn die Protokollierung konfiguriert ist. Es wird dringend empfohlen, diesen Header zu verwenden, um clientseitige Aktivitäten mit Anforderungen zu korrelieren, die der Server empfängt. Weitere Informationen finden Sie unter Überwachen von Azure Table Storage.

Anforderungstext

Der Insert Entity Vorgang sendet die Entität, die eingefügt werden soll, als OData Entität, bei der es sich entweder um einen JSON- oder einen Atom-Feed handelt. Weitere Informationen finden Sie unter Einfügen und Aktualisieren von Entitäten.

Hinweis

JSON ist das empfohlene Nutzlastformat und das einzige Format, das für Version 2015-12-11 und höher unterstützt wird.

JSON (Version 2013-08-15 und höher)

Hier sehen Sie ein Beispiel für den JSON-Anforderungstext für den Insert Entity Vorgang:

{  
   "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"  
}  

Atom-Feed (Versionen vor 2015-12-11)

Hier sehen Sie ein Beispiel für den Atom-Anforderungstext für den Insert Entity Vorgang.

<?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>  

Antwort

Die Antwort enthält den HTTP-Statuscode, einen Satz von Antwortheadern und einen Antworttext.

Statuscode

Der Statuscode hängt vom Wert des Prefer-Headers ab. Wenn der Prefer-Header auf return-no-content festgelegt ist, wird bei einem erfolgreichen Vorgang der Statuscode 204 (No Content) zurückgegeben. Wenn der Prefer Header nicht angegeben oder auf return-contentfestgelegt ist, gibt ein erfolgreicher Vorgang status Code 201 (Created) zurück. Weitere Informationen finden Sie unter Festlegen des Headers Prefer zum Verwalten des Antwortechos bei Einfügevorgängen.

Informationen zu status Codes finden Sie unter Status- und Fehlercodes und Tabellendienstfehlercodes.

Antwortheader

Die Antwort enthält die folgenden Header. Die Antwort kann auch zusätzliche HTTP-Standardheader enthalten. Alle Standardheader entsprechen der HTTP/1.1-Protokollspezifikation.

Antwortheader BESCHREIBUNG
x-ms-request-id Identifiziert die durchgeführte Anforderung eindeutig und kann für die Problembehandlung der Anforderung verwendet werden. Weitere Informationen finden Sie unter Problembehandlung für API-Vorgänge.
x-ms-version Gibt die Version von Table Storage an, die zum Ausführen der Anforderung verwendet wird. Dieser Header wird für Anforderungen zurückgegeben, die für Version 2009-09-19 und höher erfolgen.
Date Ein UTC-Datums-/Uhrzeitwert, der den Zeitpunkt angibt, zu dem die Antwort initiiert wurde. Der Dienst generiert diesen Wert.
ETag Die ETag für die Entität.
Preference-Applied Gibt an, ob der Prefer-Anforderungsheader berücksichtigt wurde. Wenn die Antwort diesen Header nicht enthält, wurde der Prefer Header nicht berücksichtigt. Wenn der Header zurückgegeben wird, lautet der zugehörige Wert entweder return-content oder return-no-content.

Weitere Informationen finden Sie unter Festlegen des Headers Prefer zum Verwalten des Antwortechos bei Einfügevorgängen.
Content-Type Gibt den Inhaltstyp der Nutzlast an. Der Wert hängt von dem Wert ab, der für den Accept-Anforderungsheader angegeben wurde. Mögliche Werte:

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

Weitere Informationen zu Inhaltstypen finden Sie unter Nutzlastformat für Tabellenspeichervorgänge.
x-ms-client-request-id Kann zur Problembehandlung von Anforderungen und entsprechenden Antworten verwendet werden. Der Wert dieses Headers ist gleich dem Wert des x-ms-client-request-id Headers, wenn er in der Anforderung vorhanden ist. Der Wert ist höchstens 1.024 sichtbare ASCII-Zeichen. Wenn der x-ms-client-request-id Header in der Anforderung nicht vorhanden ist, ist er in der Antwort nicht vorhanden.

Antworttext

Wenn die Anforderung den Prefer-Header mit dem Wert return-no-content einschließt, wird kein Antworttext zurückgegeben. Andernfalls ist der Antworttext ein Entitätssatz OData .

Hinweis

JSON ist das empfohlene Nutzlastformat und das einzige Format, das für Version 2015-12-11 und höher unterstützt wird.

JSON (Version 2013-08-15 und höher)

Hier sehen Sie eine JSON-Beispielantwort für jede Metadatenebene:

Keine Metadaten:

{  
   "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"  
}  
  

Minimale Metadaten:

{  
   "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"  
}  
  

Vollständige Metadaten:

{  
   "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"  
}  

Atomvorschub (Versionen vor 11.12.2015)

Das folgende Beispiel zeigt einen Atom-Antworttext für den Insert Entity-Vorgang.

<?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>  

Authorization

Der Kontobesitzer kann diesen Vorgang ausführen. Darüber hinaus kann dies jeder benutzer mit einer freigegebenen Zugriffssignatur tun, die über die Berechtigung zum Ausführen dieses Vorgangs verfügt.

Hinweise

Wenn Sie eine Entität in eine Tabelle einfügen, müssen Sie Werte für die PartitionKey Systemeigenschaften und RowKey angeben. Zusammen bilden diese Eigenschaften den Primärschlüssel und müssen innerhalb der Tabelle eindeutig sein.

Sowohl die PartitionKey Werte als RowKey auch müssen Zeichenfolgenwerte sein. PartitionKey und RowKey können bis zu 1024 Zeichen groß sein. Wenn Sie einen ganzzahligen Wert für den Schlüsselwert verwenden, sollten Sie die ganze Zahl in eine Zeichenfolge mit fester Breite konvertieren, da sie kanonisch sortiert sind. Konvertieren Sie beispielsweise den Wert 1 in 0000001, um eine ordnungsgemäße Sortierung sicherzustellen.

Um eine Eigenschaft explizit einzugeben, geben Sie den entsprechenden OData Datentyp an, indem Sie das m:type Attribut innerhalb der Eigenschaftendefinition im Atom-Feed festlegen. Weitere Informationen zum Eingeben von Eigenschaften finden Sie unter Einfügen und Aktualisieren von Entitäten.

Tabellenspeicher macht null Werte für Eigenschaften nicht persistent. Das Angeben einer Eigenschaft mit einem null Wert entspricht dem Weglassen dieser Eigenschaft in der Anforderung.

Informationen zum Ausführen von Batcheinfügevorgängen finden Sie unter Durchführen von Entitätsgruppentransaktionen.

Weitere Informationen

Autorisieren von Anforderungen an Azure Storage
Festlegen der OData-Datendienstversionsheader
Einfügen und Aktualisieren von Entitäten
Status- und Fehlercodes
Tabellenspeicherfehlercodes