Sammanfoga entitet
Åtgärden Merge Entity
uppdaterar en befintlig entitet genom att uppdatera entitetens egenskaper. Den här åtgärden ersätter inte den befintliga entiteten, som åtgärden Uppdatera entitet gör.
Förfrågan
Du kan skapa begäran på Merge Entity
följande sätt. HTTPS rekommenderas. Ersätt myaccount med namnet på ditt lagringskonto och mytable med namnet på tabellen. Ersätt myPartitionKey och myRowKey med namnet på partitionsnyckeln och radnyckeln som identifierar entiteten som ska uppdateras.
Metod | URI för förfrågan | HTTP-version |
---|---|---|
MERGE |
https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
Adressen för den entitet som ska uppdateras kan ta ett antal formulär på begärande-URI:n. Mer information finns i OData Protocol .
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 |
---|---|---|
MERGE |
http://127.0.0.1:10002/devstoreaccount1/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
Table Storage i lagringsemulatorn skiljer sig från Azure Table Storage på flera sätt. Mer information finns i Skillnader mellan lagringsemulatorn och Azure Storage-tjänster.
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 Ange 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 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. |
If-Match |
Krävs. Klienten kan ange ETag för entiteten på begäran, så att den kan jämföras med tjänstens ETag underhåll för optimistisk samtidighet. Uppdateringsåtgärden utförs endast om den ETag som skickas av klienten matchar värdet som upprätthålls av servern. Den här matchningen anger att entiteten inte har ändrats sedan den hämtades av klienten.Om du vill framtvinga en ovillkorlig uppdatering anger du If-Match jokertecknet (*). |
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 loggningen 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 Merge Entity
skickar entiteten som ska uppdateras som en entitet OData
, som kan vara antingen en JSON eller en Atom-feed. Mer information finns i Infoga och uppdatera entiteter.
Svarsåtgärder
Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.
Statuskod
En lyckad åtgärd returnerar statuskoden 204 (inget innehåll). Information om statuskoder finns i Status- och felkoder och Tabelllagringsfelkoder.
Svarshuvuden
Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare standard-HTTP-huvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.
Svarsrubrik | Description |
---|---|
ETag |
För ETag entiteten. |
x-ms-request-id |
Det här huvudet identifierar unikt den begäran som gjordes 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änds för att köra begäran. Det här huvudet returneras för begäranden mot version 2009-09-19 och senare. |
Date |
Ett UTC-datum/tid-värde som anger den tid då svaret initierades. Tjänsten genererar det här värdet. |
x-ms-client-request-id |
Du kan använda det här huvudet 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.
x-ms-client-request-id Om rubriken inte finns i begäran visas inte det här huvudet i svaret. |
Själva svaret
Inga.
Exempelsvar
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Connection: Keep-Alive
Content-Length: 0
Cache-Control: no-cache
Date: Mon, 25 Nov 2013 19:06:47 GMT
ETag: W/"0x5B168C7B6E589D2"
x-ms-version: 2013-08-15
DataServiceVersion: 1.0;NetFx
MaxDataServiceVersion: 2.0;NetFx
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
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
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. Endast egenskaper med icke-värdennull
uppdateras av åtgärden Merge Entity
.
Du kan inte ta bort en egenskap med en Merge Entity
åtgärd. Om du behöver göra detta ersätter du entiteten genom att anropa åtgärden Uppdatera entitet .
När du sammanfogar en entitet måste du ange systemegenskaperna PartitionKey
och RowKey
som en del av sammanslagningsåtgärden.
En entitet ger ETag
standardoptimistisk samtidighet för sammanslagningsåtgärder. Värdet ETag
är ogenomskinlig och bör inte läsas eller användas. Innan en sammanslagningsåtgärd inträffar verifierar Table Storage att entitetens aktuella ETag
värde är identiskt med det ETag
värde som ingår i begäran i If-Match
rubriken. Om värdena är identiska avgör Table Storage att entiteten inte har ändrats sedan den hämtades och sammanfogningsåtgärden fortsätter.
Om entiteten skiljer sig från den som anges med sammanslagningsbegäran ETag
misslyckas sammanslagningsåtgärden med statuskoden 412 (villkoret misslyckades). Det här felet anger att entiteten har ändrats på servern sedan den hämtades. Lös det här felet genom att hämta entiteten och skicka begäran igen.
Om du vill framtvinga en ovillkorlig sammanslagningsåtgärd anger du värdet If-Match
för rubriken till jokertecknet (*) i begäran. Om du skickar det här värdet till åtgärden åsidosätter du standardinställningen optimistisk samtidighet och ignorerar eventuella matchningsfel i ETag
värden.
If-Match
Om rubriken saknas i begäran i version 2011-08-18 och senare utför tjänsten en infognings- eller sammanslagningsåtgärd (upsert). I versioner före 2011-08-18 returnerar tjänsten statuskoden 400 (felaktig begäran).
Alla program som kan auktorisera och skicka en HTTP MERGE
begäran kan sammanfoga en entitet. Mer information om hur du skapar en fråga med hjälp av finns HTTP MERGE
i Lägga till, ändra och ta bort entiteter.
Information om hur du utför batchsammanslagningsåtgärder finns i Utföra entitetsgrupptransaktioner.
Se även
Uppdatera entitet
Auktorisera begäranden till Azure Storage
Ange versionshuvuden för OData-datatjänsten
Status- och felkoder
Felkoder för Table Storage