Entiteit samenvoegen
Met de Merge Entity
bewerking wordt een bestaande entiteit bijgewerkt door de eigenschappen van de entiteit bij te werken. Deze bewerking vervangt de bestaande entiteit niet, zoals de bewerking Entiteit bijwerken wel.
U kunt de Merge Entity
aanvraag als volgt samenstellen. HTTPS wordt aanbevolen. Vervang myaccount door de naam van uw opslagaccount en mytable door de naam van uw tabel. Vervang myPartitionKey en myRowKey door de naam van de partitiesleutel en rijsleutel die de entiteit identificeren die moet worden bijgewerkt.
Methode | Aanvraag-URI | HTTP-versie |
---|---|---|
MERGE |
https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
Het adres van de entiteit die moet worden bijgewerkt, kan een aantal vormen hebben op de aanvraag-URI. Zie het OData-protocol voor meer informatie.
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 |
---|---|---|
MERGE |
http://127.0.0.1:10002/devstoreaccount1/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
Table Storage in de opslagemulator verschilt op verschillende manieren van de Azure Table Storage. Zie Verschillen tussen de opslagemulator en Azure Storage-services voor meer informatie.
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. |
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 en application/json .Zie Payload-indeling voor Table Storage-bewerkingen voor meer informatie over geldige inhoudstypen. |
Content-Length |
Vereist. De lengte van de aanvraagtekst. |
If-Match |
Vereist. De client kan de ETag opgeven voor de entiteit in de aanvraag, om te vergelijken met de ETag die door de service wordt onderhouden met het oog op optimistische gelijktijdigheid. De updatebewerking wordt alleen uitgevoerd als de ETag verzonden door de client overeenkomt met de waarde die door de server wordt onderhouden. Deze overeenkomst geeft aan dat de entiteit niet is gewijzigd sinds deze is opgehaald door de client.Als u een onvoorwaardelijke update wilt afdwingen, stelt u If-Match in op het jokerteken (*). |
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. |
De Merge Entity
bewerking verzendt de entiteit die moet worden bijgewerkt als een OData
entiteit, die een JSON- of een Atom-feed kan zijn. Zie Entiteiten invoegen en bijwerken voor meer informatie.
Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.
Een geslaagde bewerking retourneert statuscode 204 (Geen inhoud). Zie Status- en foutcodes enTable Storage-foutcodes voor meer informatie over statuscodes.
Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook extra, standaard HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.
Antwoordheader | Beschrijving |
---|---|
ETag |
De ETag voor de entiteit. |
x-ms-request-id |
Deze header 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. |
x-ms-client-request-id |
U kunt deze header gebruiken 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 header niet aanwezig in het antwoord. |
Geen.
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
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.
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. Alleen eigenschappen met niet-waardennull
worden bijgewerkt door de Merge Entity
bewerking.
U kunt een eigenschap niet verwijderen met een Merge Entity
bewerking. Als u dit wilt doen, vervangt u de entiteit door de bewerking Entiteit bijwerken aan te roepen.
Wanneer u een entiteit samenvoegt, moet u de PartitionKey
systeemeigenschappen en RowKey
opgeven als onderdeel van de samenvoegbewerking.
Een entiteit ETag
biedt standaard optimistische gelijktijdigheid voor samenvoegbewerkingen. De ETag
waarde is ondoorzichtig en mag niet worden gelezen of vertrouwd. Voordat een samenvoegbewerking wordt uitgevoerd, controleert Table Storage of de huidige ETag
waarde van de entiteit identiek is aan de ETag
waarde die is opgenomen in de aanvraag in de If-Match
header. Als de waarden identiek zijn, bepaalt Table Storage dat de entiteit niet is gewijzigd sinds deze is opgehaald en wordt de samenvoegbewerking voortgezet.
Als de entiteit ETag
verschilt van die die is opgegeven met de samenvoegaanvraag, mislukt de samenvoegbewerking met statuscode 412 (voorwaarde mislukt). Deze fout geeft aan dat de entiteit is gewijzigd op de server sinds deze is opgehaald. U kunt deze fout oplossen door de entiteit op te halen en de aanvraag opnieuw uit te geven.
Als u een onvoorwaardelijke samenvoegbewerking wilt afdwingen, stelt u de waarde van de If-Match
koptekst in op het jokerteken (*) voor de aanvraag. Als u deze waarde doorgeeft aan de bewerking, wordt de standaardinstelling, optimistische gelijktijdigheid overschreven en worden eventuele niet-overeenkomende ETag
waarden genegeerd.
Als de If-Match
header ontbreekt in de aanvraag in versie 2011-08-18 en hoger, voert de service een bewerking Entiteit invoegen of samenvoegen (upsert) uit. In versies vóór 2011-08-18 retourneert de service statuscode 400 (Ongeldige aanvraag).
Elke toepassing die een HTTP MERGE
aanvraag kan autoriseren en verzenden, kan een entiteit samenvoegen. Zie Entiteiten toevoegen, wijzigen en verwijderen voor meer informatie over het maken van een query met behulp HTTP MERGE
van .
Zie Entiteitsgroepstransacties uitvoeren voor meer informatie over het uitvoeren van batchsamenvoegbewerkingen.
Entiteit bijwerken
Aanvragen voor Azure Storage autoriseren
De headers van de OData-gegevensserviceversie instellen
Status en foutcodes
Table Storage-foutcodes