Delen via


Entiteit invoegen

Met Insert Entity de bewerking wordt een nieuwe entiteit in een tabel ingevoegd.

Aanvraag

U kunt de Insert Entity aanvraag als volgt samenstellen. HTTPS wordt aanbevolen. Vervang myaccount door de naam van uw opslagaccount en mytable door de naam van uw tabel.

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

Geëmuleerde opslagservice-URI

Wanneer u een aanvraag indient voor de geëmuleerde opslagservice, geeft u de hostnaam van de emulator en de Azure Table Storage-poort op als 127.0.0.1:10002, gevolgd door de naam van het geëmuleerde opslagaccount.

Methode Aanvraag-URI HTTP-versie
POST http://127.0.0.1:10002/devstoreaccount1/mytable HTTP/1.1

Table Storage in de Opslagemulator verschilt op verschillende manieren van Azure Table Storage. Zie Verschillen tussen de Opslagemulator en Azure Storage-services voor meer informatie.

URI-parameters

U kunt de volgende aanvullende parameters opgeven voor de aanvraag-URI.

Parameter Beschrijving
timeout Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs instellen voor Table Storage-bewerkingen voor meer informatie.

Aanvraagheaders

In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven.

Aanvraagheader Beschrijving
Authorization Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
Date of x-ms-date Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
x-ms-version Optioneel. Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. Zie Versiebeheer voor de Azure Storage-services voor meer informatie.
Content-Type Vereist. Hiermee geeft u het inhoudstype van de payload op. Mogelijke waarden zijn application/atom+xml (alleen versies ouder dan 2015-12-11), en application/json.

Zie Payload-indeling voor Table Storage-bewerkingen voor meer informatie over geldige inhoudstypen.
Content-Length Vereist. De lengte van de aanvraagtekst.
Accept Optioneel. Hiermee geeft u het geaccepteerde inhoudstype van de nettolading van het antwoord op. Mogelijke waarden zijn:

- application/atom+xml (alleen versies ouder dan 2015-12-11)
- application/json;odata=nometadata
- application/json;odata=minimalmetadata
- application/json;odata=fullmetadata

Zie Payload-indeling voor Table Storage-bewerkingen voor meer informatie.
Prefer Optioneel. Hiermee geeft u op of het antwoord de ingevoegde entiteit in de nettolading moet bevatten. Mogelijke waarden zijn return-no-content en return-content. Zie De voorkeursheader instellen voor het beheren van antwoordecho bij invoegbewerkingen voor meer informatie.
x-ms-client-request-id Optioneel. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 kibibyte (KiB) die wordt vastgelegd in de logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt. Zie Azure Table Storage bewaken voor meer informatie.

Aanvraagbody

De Insert Entity bewerking verzendt de entiteit die moet worden ingevoegd als een OData entiteit, die een JSON- of een Atom-feed is. Zie Entiteiten invoegen en bijwerken voor meer informatie.

Notitie

JSON is de aanbevolen nettoladingindeling en is de enige indeling die wordt ondersteund voor versie 2015-12-11 en hoger.

JSON (versie 2013-08-15 en hoger)

Hier volgt een voorbeeld van een JSON-aanvraagbody voor de Insert Entity bewerking:

{  
   "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 (versies ouder dan 2015-12-11)

Hier volgt een voorbeeld van een Atom-aanvraagbody voor de Insert Entity bewerking.

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

Antwoord

Het antwoord bevat een HTTP-statuscode, een set antwoordheaders en een antwoordtekst.

Statuscode

De statuscode is afhankelijk van de waarde van de Prefer header. Als de Prefer header is ingesteld op return-no-content, retourneert een geslaagde bewerking statuscode 204 (No Content). Als de Prefer header niet is opgegeven of als deze is ingesteld op return-content, retourneert een geslaagde bewerking statuscode 201 (Created). Zie De voorkeursheader instellen voor het beheren van antwoordecho bij invoegbewerkingen voor meer informatie.

Zie Status- en foutcodes enFoutcodes tabelservice voor meer informatie over statuscodes.

Antwoordheaders

Het antwoord bevat de volgende headers. Het antwoord kan ook extra, standaard HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Antwoordheader Description
x-ms-request-id Identificeert op unieke wijze de aanvraag die is gedaan en kan worden gebruikt voor het oplossen van problemen met de aanvraag. Zie Problemen met API-bewerkingen oplossen voor meer informatie.
x-ms-version Geeft de versie van Table Storage aan die wordt gebruikt om de aanvraag uit te voeren. Deze header wordt geretourneerd voor aanvragen die zijn gedaan in versie 2009-09-19 en hoger.
Date Een UTC-datum/tijd-waarde die de tijd aangeeft waarop het antwoord is gestart. De service genereert deze waarde.
ETag De ETag voor de entiteit.
Preference-Applied Geeft aan of de Prefer aanvraagheader is gehonoreerd. Als het antwoord deze header niet bevat, wordt de Prefer header niet gehonoreerd. Als deze header wordt geretourneerd, is return-content de waarde van de header of return-no-content.

Zie De voorkeursheader instellen voor het beheren van antwoordecho bij invoegbewerkingen voor meer informatie.
Content-Type Geeft het inhoudstype van de nettolading aan. De waarde is afhankelijk van de waarde die is opgegeven voor de Accept aanvraagheader. Mogelijke waarden zijn:

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

Zie Payload-indeling voor Table Storage-bewerkingen voor meer informatie over inhoudstypen.
x-ms-client-request-id Kan worden gebruikt om problemen met aanvragen en bijbehorende antwoorden op te lossen. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header, als deze aanwezig is in de aanvraag. De waarde is maximaal 1024 zichtbare ASCII-tekens. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze niet aanwezig in het antwoord.

Hoofdtekst van de reactie

Als de aanvraag de Prefer header met de waarde return-no-contentbevat, wordt er geen antwoordtekst geretourneerd. Anders is de hoofdtekst van het antwoord een OData entiteitsset.

Notitie

JSON is de aanbevolen nettoladingindeling en is de enige indeling die wordt ondersteund voor versie 2015-12-11 en hoger.

JSON (versie 2013-08-15 en hoger)

Hier volgt een voorbeeld van een JSON-antwoord voor elk metagegevensniveau:

Geen metagegevens:

{  
   "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 metagegevens:

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

Volledige metagegevens:

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

Atom feed (versies ouder dan 2015-12-11)

Hier volgt een voorbeeld van een Atom-antwoordtekst voor de Insert Entity bewerking.

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

Autorisatie

De accounteigenaar kan deze bewerking uitvoeren. Bovendien kan iedereen met een shared access signature die gemachtigd is om deze bewerking uit te voeren, dit doen.

Opmerkingen

Wanneer u een entiteit in een tabel invoegt, moet u waarden opgeven voor de PartitionKey systeemeigenschappen en RowKey . Deze eigenschappen vormen samen de primaire sleutel en moeten uniek zijn binnen de tabel.

Zowel de PartitionKey waarden als RowKey moeten tekenreekswaarden zijn. PartitionKey en RowKey waarden kunnen maximaal 1024 tekens groot zijn. Als u een geheel getal gebruikt voor de sleutelwaarde, moet u het gehele getal converteren naar een tekenreeks met vaste breedte, omdat deze canoniek zijn gesorteerd. Converteer bijvoorbeeld de waarde 1 naar 0000001, om een juiste sortering te garanderen.

Als u expliciet een eigenschap wilt typen, geeft u het juiste OData gegevenstype op door het kenmerk in te m:type stellen binnen de eigenschapsdefinitie in de Atom-feed. Zie Entiteiten invoegen en bijwerken voor meer informatie over het typen van eigenschappen.

Table Storage maakt null waarden voor eigenschappen niet permanent. Het opgeven van een eigenschap met een null waarde is gelijk aan het weglaten van die eigenschap in de aanvraag.

Zie Entiteitsgroeptransacties uitvoeren voor meer informatie over het uitvoeren van batchinvoegbewerkingen.

Zie ook

Aanvragen autoriseren voor Azure Storage
De headers van de OData-gegevensserviceversie instellen
Entiteiten invoegen en bijwerken
Status en foutcodes
Table Storage-foutcodes