Infoga entitet
Åtgärden Insert Entity
infogar en ny entitet i en tabell.
Förfrågan
Du kan skapa begäran på Insert Entity
följande sätt. HTTPS rekommenderas. Ersätt myaccount med namnet på ditt lagringskonto och mytable med namnet på tabellen.
Metod | URI för förfrågan | HTTP-version |
---|---|---|
POST |
https://myaccount.table.core.windows.net/mytable |
HTTP/1.1 |
Emulerad lagringstjänst-URI
När du gör en begäran mot den emulerade lagringstjänsten anger du emulatorns värdnamn och Azure Table Storage-porten som 127.0.0.1:10002
följt av namnet på det emulerade lagringskontot.
Metod | URI för förfrågan | HTTP-version |
---|---|---|
POST |
http://127.0.0.1:10002/devstoreaccount1/mytable |
HTTP/1.1 |
Table Storage i Storage-emulatorn skiljer sig från Azure Table Storage på flera olika sätt. Mer information finns i Skillnader mellan Storage-emulatorn och Azure Storage-tjänsterna.
URI-parametrar
Du kan ange följande ytterligare parametrar för begärande-URI:n.
Parameter | Beskrivning |
---|---|
timeout |
Valfritt. Parametern timeout uttrycks i sekunder. Mer information finns i Ställa in tidsgränser för Table Storage-åtgärder. |
Begärandehuvuden
I följande tabell beskrivs obligatoriska och valfria begärandehuvuden.
Begärandehuvud | Beskrivning |
---|---|
Authorization |
Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage. |
Date eller x-ms-date |
Krävs. Anger Coordinated Universal Time (UTC) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage. |
x-ms-version |
Valfritt. Anger vilken version av åtgärden som ska användas för den här begäran. Mer information finns i Versionshantering för Azure Storage-tjänsterna. |
Content-Type |
Krävs. Anger nyttolastens innehållstyp. Möjliga värden är application/atom+xml (endast versioner före 2015-12-11) och application/json .Mer information om giltiga innehållstyper finns i Nyttolastformat för Table Storage-åtgärder. |
Content-Length |
Krävs. Längden på begärandetexten. |
Accept |
Valfritt. Anger den godkända innehållstypen för svarsnyttolasten. Möjliga värden: - application/atom+xml (endast versioner före 2015-12-11)- application/json;odata=nometadata - application/json;odata=minimalmetadata - application/json;odata=fullmetadata Mer information finns i Nyttolastformat för Table Storage-åtgärder. |
Prefer |
Valfritt. Anger om svaret ska innehålla den infogade entiteten i nyttolasten. Möjliga värden är return-no-content och return-content . Mer information finns i Ange prefer-huvudet för att hantera svarseko vid infogningsåtgärder. |
x-ms-client-request-id |
Valfritt. Tillhandahåller ett klientgenererat, täckande värde med en teckengräns på 1 kibibyte (KiB) som registreras i loggarna när loggning har konfigurerats. Vi rekommenderar starkt att du använder det här huvudet för att korrelera aktiviteter på klientsidan med begäranden som servern tar emot. Mer information finns i Övervaka Azure Table Storage. |
Begärandetext
Åtgärden Insert Entity
skickar entiteten som ska infogas som en entitet OData
, som antingen är en JSON- eller en Atom-feed. Mer information finns i Infoga och uppdatera entiteter.
Anteckning
JSON är det rekommenderade nyttolastformatet och är det enda format som stöds för version 2015-12-11 och senare.
JSON (version 2013-08-15 och senare)
Här är ett exempel på en JSON-begärandetext för Insert Entity
åtgärden:
{
"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"
}
Atomfeed (versioner före 2015-12-11)
Här är ett exempel på en Atom-begärandetext för åtgärden 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>
Svarsåtgärder
Svaret innehåller en HTTP-statuskod, en uppsättning svarshuvuden och en svarstext.
Statuskod
Statuskoden beror på värdet för Prefer
rubriken. Om rubriken är inställd return-no-content
på Prefer
returnerar en lyckad åtgärd statuskod 204 (No Content
). Om huvudet Prefer
inte har angetts, eller om det är inställt på return-content
, returnerar en lyckad åtgärd statuskod 201 (Created
). Mer information finns i Ange prefer-huvudet för att hantera svarseko vid infogningsåtgärder.
Information om statuskoder finns i Status och felkoder och Tabelltjänstens felkoder.
Svarshuvuden
Svaret innehåller följande rubriker. Svaret kan även innehålla ytterligare STANDARD HTTP-huvuden. Alla standardhuvuden överensstämmer med http/1.1-protokollspecifikationen.
Svarsrubrik | Description |
---|---|
x-ms-request-id |
Identifierar den begäran som gjordes unikt och kan användas för att felsöka begäran. Mer information finns i Felsöka API-åtgärder. |
x-ms-version |
Anger vilken version av Table Storage som användes för att köra begäran. Det här huvudet returneras för begäranden som görs mot version 2009-09-19 och senare. |
Date |
Ett datum-/tidsvärde för UTC som anger den tid då svaret initierades. Tjänsten genererar det här värdet. |
ETag |
ETag för entiteten. |
Preference-Applied |
Anger om Prefer begärandehuvudet har respekterats. Om svaret inte innehåller det här huvudet Prefer har rubriken inte respekterats. Om det här huvudet returneras blir dess värde antingen return-content eller return-no-content .Mer information finns i Ange prefer-huvudet för att hantera svarseko vid infogningsåtgärder. |
Content-Type |
Anger nyttolastens innehållstyp. Värdet beror på det värde som angetts för begärandehuvudet Accept . Möjliga värden:- application/atom+xml - application/json;odata=nometadata - application/json;odata=minimalmetadata - application/json;odata=fullmetadata Mer information om innehållstyper finns i Nyttolastformat för Table Storage-åtgärder. |
x-ms-client-request-id |
Kan användas för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet för x-ms-client-request-id huvudet, om det finns i begäran. Värdet är högst 1 024 synliga ASCII-tecken. Om rubriken x-ms-client-request-id inte finns i begäran finns den inte i svaret. |
Själva svaret
Om begäran innehåller Prefer
huvudet med värdet return-no-content
returneras ingen svarstext. Annars är svarstexten en entitetsuppsättning OData
.
Anteckning
JSON är det rekommenderade nyttolastformatet och är det enda format som stöds för version 2015-12-11 och senare.
JSON (version 2013-08-15 och senare)
Här är ett exempel på JSON-svar för varje metadatanivå:
Inga 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"
}
Minimala 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"
}
Fullständiga 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"
}
Atomfeed (versioner före 2015-12-11)
Här är ett exempel på Atom-svarstext för åtgärden 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>
Auktorisering
Kontoägaren kan utföra den här åtgärden. Dessutom kan alla med en signatur för delad åtkomst som har behörighet att utföra den här åtgärden göra det.
Kommentarer
När du infogar en entitet i en tabell måste du ange värden för PartitionKey
- och RowKey
-systemegenskaperna. Tillsammans utgör dessa egenskaper primärnyckeln och måste vara unika i tabellen.
PartitionKey
Både värdena och RowKey
måste vara strängvärden.
PartitionKey
och RowKey
värden kan vara upp till 1 024 tecken stora. Om du använder ett heltalsvärde för nyckelvärdet bör du konvertera heltalet till en sträng med fast bredd, eftersom de är kanoniskt sorterade. Konvertera till exempel värdet 1
till 0000001
för att säkerställa korrekt sortering.
Om du uttryckligen vill ange en egenskap anger du lämplig OData
datatyp genom att ange m:type
attributet i egenskapsdefinitionen i Atom-feeden. Mer information om hur du skriver egenskaper finns i Infoga och uppdatera entiteter.
Table Storage gör null
inte värden för egenskaper beständiga. Att ange en egenskap med ett null
värde motsvarar att utelämna egenskapen i begäran.
Information om hur du utför batchinfogningsåtgärder finns i Utföra entitetsgrupptransaktioner.
Se även
Auktorisera begäranden till Azure Storage
Ange versionshuvuden för OData-datatjänsten
Infoga och uppdatera entiteter
Status- och felkoder
Felkoder för Table Storage