Esporta (0) Stampa
Espandi tutto

Merge Entity

Aggiornamento: aprile 2015

Tramite l'operazione Merge Entity viene aggiornata un'entità esistente aggiornando le proprietà dell'entità stessa. Questa operazione non comporta la sostituzione dell'entità esistente, come l'operazione Aggiornamento di entità.

La richiesta Merge Entity può essere costruita come segue. HTTPS is recommended. Sostituire myaccount con il nome dell'account di archiviazione, mytable con il nome della tabella e myPartitionKey e myRowKey con il nome della chiave di partizione e la chiave di riga che identificano l'entità da aggiornare:

 

Metodo URI richiesta Versione HTTP

MERGE

https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey')

HTTP/1.1

L'indirizzo dell'entità da aggiornare può presentare diversi formati nell'URI richiesta. Per informazioni aggiuntive, vedere la pagina relativa al protocollo OData.

Quando si effettua una richiesta nel servizio di archiviazione emulato, specificare il nome host dell'emulatore e la porta del servizio tabelle come 127.0.0.1:10002, seguiti dal nome dell'account di archiviazione emulato:

 

Metodo URI richiesta Versione HTTP

MERGE

http://127.0.0.1:10002/devstoreaccount1/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey')

HTTP/1.1

Il servizio tabelle nell'emulatore di archiviazione differisce dal servizio tabelle di Microsoft® Azure™ sotto diversi aspetti. Per altre informazioni, vedere Differences between Development Storage and Cloud Storage Services.

Nessuno.

La tabella seguente descrive le intestazioni obbligatorie e facoltative della richiesta.

 

Intestazione della richiesta Descrizione

Authorization

Obbligatorio. Specifica lo schema di autenticazione, il nome dell'account e la firma. Per altre informazioni, vedere Autenticazione per i servizi di archiviazione di Azure.

Date oppure x-ms-date

Obbligatorio. Specifica l'ora UTC (Coordinated Universal Time) per la richiesta. Per altre informazioni, vedere Autenticazione per i servizi di archiviazione di Azure.

x-ms-version

Facoltativo. Specifica la versione dell'operazione da usare per questa richiesta. Per altre informazioni, vedere Controllo delle versioni per i servizi Blob, di accodamento e tabelle in Windows Azure.

Content-Type

Obbligatorio. Specifica il tipo di contenuto del payload. I valori possibili sono application/atom+xml e application/json.

Per altre informazioni sui tipi di contenuto validi, vedere Formato di payload per le operazioni del servizio tabelle.

Content-Length

Obbligatorio. Lunghezza del corpo della richiesta.

If-Match

Obbligatorio. Il client può specificare il valore ETag per l'entità nella richiesta al fine di confrontarlo con il valore ETag gestito dal servizio a scopo di concorrenza ottimistica. L'operazione di aggiornamento verrà eseguita solo se il valore ETag inviato dal client corrisponde a quello gestito dal server. Questa corrispondenza indica che l'entità non è stata modificata dall'ultima volta in cui è stata recuperata dal client.

Per forzare un aggiornamento incondizionale, impostare If-Match sul carattere jolly (*).

x-ms-client-request-id

Facoltativo. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 KB che viene registrato nei log di analisi quando la registrazione di Analisi archiviazione è abilitata. L'uso di questa intestazione è consigliato per la correlazione tra le attività sul lato client e le richieste ricevute dal server. Per altre informazioni vedere Informazioni sulla registrazione di Analisi archiviazione e l'articolo relativo all'uso di log per tenere traccia delle richiesta di archiviazione nella registrazione di Azure.

Tramite questa operazione Merge Entity è possibile inviare l'entità da aggiornare come entità OData, che potrebbe essere un formato JSON o un feed Atom. Per altre informazioni, vedere Inserimento e aggiornamento di entità.

Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la risposta.

Un'operazione completata correttamente restituisce il codice di stato 204 (Nessun contenuto).

Per informazioni sui codici di stato, vedere Codici di stato e di errore e Codici di errore del servizio tabelle.

Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; inoltre, possono essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

 

Intestazione risposta Descrizione

ETag

Valore ETag per l'entità.

x-ms-request-id

Questa intestazione identifica in modo univoco la richiesta effettuata e può essere usata per risolvere i problemi relativi alla richiesta. Per altre informazioni, vedere Risoluzione dei problemi relativi alle operazioni dell'API.

x-ms-version

Indica la versione del servizio tabelle usata per eseguire la richiesta. Questa intestazione viene restituita per le richieste effettuate nella versione 2009-09-19 e successive.

Date

Valore data/ora UTC generato dal servizio che indica l'ora in cui è stata avviata la risposta.

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

Questa operazione può essere eseguita dal proprietario dell'account e da qualsiasi altro utente che usa una firma di accesso condiviso con l'autorizzazione di esecuzione di questa operazione.

Tutte le proprietà con valori null vengono ignorate dall'operazione Merge Entity. Tutte le altre proprietà verranno aggiornate.

Una proprietà non può essere rimossa con un'operazione Merge Entity. Per rimuovere una proprietà da un'entità, sostituire l'entità chiamando l'operazione Aggiornamento di entità.

Quando si unisce un'entità, è necessario specificare le proprietà di sistema PartitionKey e RowKey come parte dell'operazione di unione.

Il valore ETag di un'entità fornisce la concorrenza ottimistica predefinita per le operazioni di unione. Il valore ETag è opaco e non deve essere letto, né è possibile basarsi su di esso. Prima che venga eseguita un'operazione di unione, il servizio tabelle verifica che il valore ETag corrente dell'entità sia identico al valore ETag incluso nella richiesta nell'intestazione If-Match. Se i valori sono identici, il servizio tabelle determina che l'entità non è stata modificata dopo che è stata recuperata e l'operazione di unione continua.

Se il valore ETag dell'entità è diverso da quello specificato nella richiesta di unione, l'operazione di unione ha esito negativo e restituisce il codice di stato 412 (Condizione preliminare non riuscita). Questo errore indica che l'entità è stata modificata nel server dopo che è stata recuperata. Per risolvere questo errore, recuperare nuovamente l'entità e riemettere la richiesta.

Per forzare un'operazione di unione incondizionale, impostare il valore dell'intestazione If-Match sul carattere jolly (*) nella richiesta. Il passaggio di questo valore all'operazione comporta l'override della concorrenza ottimistica predefinita, di conseguenza eventuali valori ETag non corrispondenti verranno ignorati.

Se l'intestazione If-Match non è inclusa nella richiesta, il servizio restituisce il codice di stato 400 (Richiesta non valida). Anche una richiesta con un formato non corretto può restituire il codice di stato 400. Per altre informazioni, vedere Codici di errore del servizio tabelle.

Qualsiasi applicazione in grado di autenticare e inviare una richiesta MERGE HTTP può unire un'entità. Per altre informazioni sulla creazione di una query mediante HTTP MERGE, vedere Procedura: aggiungere, modificare ed eliminare entità (WCF Data Services).

Per informazioni sull'esecuzione di operazioni di unione batch, vedere Esecuzione di transazioni di gruppi di entità.

Vedere anche

Mostra:
© 2015 Microsoft