Megosztás a következőn keresztül:


Entitás egyesítése

A Merge Entity művelet frissíti a meglévő entitást az entitás tulajdonságainak frissítésével. Ez a művelet nem helyettesíti a meglévő entitást, ahogy az Update Entity (Entitás frissítése ) művelet is.

Kérés

A kérést a Merge Entity következőképpen hozhatja létre. A HTTPS használata ajánlott. Cserélje le a myaccount kifejezést a tárfiók nevére, a mytable értékét pedig a tábla nevére. Cserélje le a myPartitionKey és a myRowKey elemet a frissíteni kívánt entitást azonosító partíciókulcs és sorkulcs nevére.

Metódus Kérés URI-ja HTTP-verzió
MERGE https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

A frissíteni kívánt entitás címe számos űrlapot tartalmazhat a kérelem URI-ján. További részletekért tekintse meg az OData Protokollt .

Emulált tárolási szolgáltatás URI-ja

Amikor kérést küld az emulált tárolási szolgáltatásra, adja meg az emulátor gazdagépnevét és az Azure Table Storage-portot 127.0.0.1:10002, majd az emulált tárfiók nevét.

Metódus Kérés URI-ja HTTP-verzió
MERGE http://127.0.0.1:10002/devstoreaccount1/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

A Storage-emulátorBan található Table Storage többféleképpen különbözik az Azure Table Storage-tól. További információ: A táremulátor és az Azure Storage-szolgáltatások közötti különbségek.

URI-paraméterek

A kérelem URI-ján a következő további paramétereket adhatja meg.

Paraméter Leírás
timeout Választható. A timeout paraméter másodpercben van kifejezve. További információ: Időtúllépések beállítása a Table Storage-műveletekhez.

Kérésfejlécek

Az alábbi táblázat a szükséges és nem kötelező kérelemfejléceket ismerteti.

Kérelem fejléce Leírás
Authorization Kötelező. Megadja az engedélyezési sémát, a fióknevet és az aláírást. További információ: Kérések engedélyezése az Azure Storage-ba.
Date vagy x-ms-date Kötelező. Megadja a kérés egyezményes világidő (UTC) formátumban kifejezett időpontját. További információ: Kérések engedélyezése az Azure Storage-ba.
x-ms-version Választható. A kérelemhez használni kívánt művelet verzióját adja meg. További információ: Az Azure Storage-szolgáltatások verziószámozása.
Content-Type Kötelező. Megadja a hasznos adat tartalomtípusát. A lehetséges értékek a és application/jsona.application/atom+xml

Az érvényes tartalomtípusokról további információt a Table Storage-műveletek hasznos adatformátuma című témakörben talál.
Content-Length Kötelező. A kérelem törzsének hossza.
If-Match Kötelező. Az ügyfél megadhatja az ETag entitást a kérelemben, hogy összehasonlíthassa a ETag szolgáltatás által fenntartottval az optimista egyidejűség érdekében. A frissítési művelet csak akkor lesz végrehajtva, ha az ETag ügyfél által küldött érték megegyezik a kiszolgáló által kezelt értékkel. Ez az egyezés azt jelzi, hogy az entitást nem módosították, mióta az ügyfél lekérte.

Feltétel nélküli frissítés kényszerítéséhez állítsa If-Match be a helyettesítő karaktert (*).
x-ms-client-request-id Választható. Ügyfél által generált, átlátszatlan értéket biztosít egy 1 kib-os (KiB) karakterkorláttal, amelyet a naplózás konfigurálásakor rögzít a naplókban. Javasoljuk, hogy ezt a fejlécet használva korrelálja az ügyféloldali tevékenységeket a kiszolgáló által kapott kérésekkel. További információ: Az Azure Table Storage monitorozása.

A kérés törzse

A Merge Entity művelet elküldi az entitást, hogy entitásként OData frissítve legyen, amely lehet JSON vagy Atom-hírcsatorna. További információ: Entitások beszúrása és frissítése.

Reagálás

A válasz tartalmaz egy HTTP-állapotkódot és egy válaszfejléceket.

Állapotkód

A sikeres művelet a 204-ben (tartalom nélkül) visszaadott állapotkódot adja vissza. Az állapotkódokkal kapcsolatos információkért lásd: Állapot- és hibakódok és Table Storage-hibakódok.

Válaszfejlécek

A műveletre adott válasz a következő fejléceket tartalmazza. A válasz további szabványos HTTP-fejléceket is tartalmazhat. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának.

Válaszfejléc Description
ETag Az ETag entitáshoz tartozó.
x-ms-request-id Ez a fejléc egyedileg azonosítja a végrehajtott kérést, és a kérés hibaelhárításához használható. További információ: API-műveletek hibaelhárítása.
x-ms-version A Table Storage kérés futtatásához használt verzióját jelzi. A rendszer ezt a fejlécet adja vissza a 2009-09-19-es és újabb verzióval kapcsolatos kérésekhez.
Date Utc dátum/idő érték, amely a válasz indításának időpontját jelzi. A szolgáltatás létrehozza ezt az értéket.
x-ms-client-request-id Ezzel a fejlécmel elháríthatja a kéréseket és a megfelelő válaszokat. A fejléc értéke megegyezik a fejléc értékével x-ms-client-request-id , ha az szerepel a kérelemben. Az érték legfeljebb 1024 látható ASCII-karakter lehet. Ha a x-ms-client-request-id fejléc nem szerepel a kérelemben, akkor ez a fejléc nem jelenik meg a válaszban.

Választörzs

Nincsenek.

Mintaválasz

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  

Engedélyezés

A fióktulajdonos végrehajthatja ezt a műveletet. Emellett bárki, aki rendelkezik a művelet végrehajtásához engedéllyel rendelkező közös hozzáférésű jogosultsággal, megteheti.

Megjegyzések

A Table Storage nem teszi állandóvá null a tulajdonságok értékeit. Ha egy tulajdonságot értékként null ad meg, az egyenértékű azzal, hogy kihagyja a tulajdonságot a kérelemben. A művelet csak a nemnull értékekkel rendelkező tulajdonságokat frissíti Merge Entity .

Művelettel Merge Entity rendelkező tulajdonság nem távolítható el. Ha ezt meg kell tennie, cserélje le az entitást az Entitás frissítése művelet meghívásával.

Egy entitás egyesítésekor meg kell adnia a és RowKey a PartitionKey rendszer tulajdonságait az egyesítési művelet részeként.

Az entitások ETag alapértelmezett, optimista egyidejűséget biztosítanak az egyesítési műveletekhez. Az ETag érték átlátszatlan, és nem szabad elolvasni vagy támaszkodni rá. Az egyesítési művelet előtt a Table Storage ellenőrzi, hogy az entitás aktuális ETag értéke megegyezik-e a ETag kérelem fejlécében If-Match szereplő értékkel. Ha az értékek azonosak, a Table Storage megállapítja, hogy az entitás nem lett módosítva a lekérése óta, és az egyesítési művelet folytatódik.

Ha az entitás eltér ETag az egyesítési kérelemben megadotttól, az egyesítési művelet a 412-s állapotkóddal meghiúsul (az előfeltétel sikertelen). Ez a hiba azt jelzi, hogy az entitás a lekérése óta módosult a kiszolgálón. A hiba elhárításához kérje le az entitást, és adja ki újra a kérést.

Feltétel nélküli egyesítési művelet kényszerítéséhez állítsa a If-Match fejléc értékét a kérelem helyettesítő karakterére (*). Ha ezt az értéket átadja a műveletnek, felülbírálja az alapértelmezett, optimista egyidejűséget, és figyelmen kívül hagyja az ETag értékek eltéréseit.

Ha a If-Match fejléc hiányzik a kérésből a 2011-08-18-es és újabb verzióban, akkor a szolgáltatás végrehajt egy Entitás beszúrása vagy egyesítése (upsert) műveletet. A 2011-08-18 előtti verziókban a szolgáltatás a 400 -os állapotkódot adja vissza (Hibás kérés).

A kérést engedélyező és küldő HTTP MERGE alkalmazások egyesíthetik az entitásokat. További információ a lekérdezések a használatával HTTP MERGEtörténő felépítéséről: Entitások hozzáadása, módosítása és törlése.

A kötegegyesítési műveletek végrehajtásával kapcsolatos információkért lásd: Entitáscsoport-tranzakciók végrehajtása.

Lásd még

Entitás frissítése
Kérések engedélyezése az Azure Storage-ba
Az OData adatszolgáltatás verziófejléceinek beállítása
Állapot- és hibakódok
Table Storage-hibakódok