Insert Entity
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Insert Entity

 

Tramite l'operazione Insert Entity viene inserita una nuova entità in una tabella.

La richiesta Insert Entity può essere costruita come segue. È consigliato il protocollo HTTPS. Sostituire myaccount con il nome dell'account di archiviazione e mytable con il nome della tabella:

Metodo

URI della richiesta

Versione HTTP

POST

https://myaccount.table.core.windows.net/mytable

HTTP/1.1

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 della richiesta

Versione HTTP

POST

http://127.0.0.1:10002/devstoreaccount1/mytable

HTTP/1.1

Il servizio tabelle nell'emulatore di archiviazione differisce dal servizio tabelle di Microsoft® Azure™ sotto diversi aspetti. Per ulteriori informazioni, vedere differenze tra l'emulatore di archiviazione e servizi di archiviazione Azure.

Nella seguente tabella vengono descritte le intestazioni di richiesta obbligatorie e facoltative.

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 o 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

Facoltativa. 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.

Accept

Facoltativa. Specifica il tipo di contenuto accettato del payload di risposta. I valori possibili sono:

  • application/atom+xml

  • application/json;odata=nometadata

  • application/json;odata=minimalmetadata

  • application/json;odata=fullmetadata

Per altre informazioni, vedere Formato di payload per le operazioni del servizio tabelle.

Prefer

Facoltativa. Specifica se la risposta deve includere nel payload l'entità inserita. I valori possibili sono return-no-content e return-content. Per altre informazioni, vedere Impostazione dell'intestazione Prefer per gestire la restituzione di risposte nelle operazioni di inserimento.

x-ms-client-request-id

Facoltativa. Fornisce un valore un opaco generato dal client con limite di caratteri pari a 1 KB che viene registrato nei log di analisi quando la registrazione di Analisi archiviazione è abilitata. L'uso di questa intestazione è fortemente consigliato per la correlazione delle attività lato client con le richieste ricevute dal server. Per ulteriori informazioni, vedere Informazioni sulla registrazione di Analisi archiviazione e la registrazione di Azure: Utilizzo dei log per tenere traccia delle richieste di archiviazione.

Tramite questa operazione Insert Entity è possibile inviare l'entità da inserire come entità OData, vale a dire un formato JSON o un feed Atom. Per altre informazioni, vedere Inserimento e aggiornamento di entità.

Di seguito è riportato un esempio di corpo di richiesta Atom per l'operazione 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="http://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>

Di seguito è riportato un esempio di corpo di richiesta JSON per l'operazione Insert Entity.

{ "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" }

Nella risposta sono inclusi un codice di stato HTTP, un set di intestazioni per la risposta e il corpo di una risposta.

Il codice di stato dipende dal valore dell'intestazione Prefer. Se l'intestazione Prefer è impostata su return-no-content, un'operazione completata restituisce il codice di stato 204 (No Content). Se l'intestazione Prefer non è specificata o è impostata su return-content, un'operazione completata restituisce il codice di stato 201 (Created). Per altre informazioni, vedere Impostazione dell'intestazione Prefer per gestire la restituzione di risposte nelle operazioni di inserimento.

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

Nella risposta sono incluse le intestazioni seguenti. inoltre, possono essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

Intestazione della risposta

Descrizione

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.

ETag

Valore ETag per l'entità.

Preference-Applied

Indica se l'intestazione della richiesta Prefer è stata rispettata. Se la risposta non include questa intestazione significa che l'intestazione Prefer non è stata rispettata. Se questa intestazione viene restituita, il valore sarà return-content o return-no-content.

Per altre informazioni, vedere Impostazione dell'intestazione Prefer per gestire la restituzione di risposte nelle operazioni di inserimento.

Content-Type

Indica il tipo di contenuto del payload. Il valore dipende dal valore specificato per l'intestazione della richiesta Accept. I valori possibili sono:

  • application/atom+xml

  • application/json;odata=nometadata

  • application/json;odata=minimalmetadata

  • application/json;odata=fullmetadata

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

Se la richiesta include l'intestazione Prefer con il valore return-no-content, non viene restituito alcun corpo di risposta. In caso contrario, il corpo della risposta è un set di entità OData.

Di seguito è riportato un esempio di corpo della risposta Atom per l'operazione 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/&quot;0x5B168C7B6E589D2&quot;" xmlns="http://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>

Di seguito è riportata una risposta JSON di esempio per ciascun livello di metadati:

Senza metadati:

{ "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" }

Metadati minimi:

{ "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" }

Metadati completi:

{ "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" }

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.

Quando si inserisce un'entità in una tabella, è necessario specificare i valori per le proprietà di sistema PartitionKey e RowKey. Insieme, queste proprietà formano la chiave primaria e devono essere univoche all'interno della tabella.

I valori PartitionKey e RowKey devono essere entrambi valori stringa; le dimensioni di ogni valore chiave non possono superare 64 KB. Se si usa un valore intero per il valore chiave, è necessario convertirlo in una stringa a larghezza fissa, perché l'ordinamento è canonico. Ad esempio, è necessario convertire il valore 1 in 0000001 per garantire l'ordinamento corretto.

Per tipizzare una proprietà in modo esplicito, specificare il tipo di dati OData appropriato impostando l'attributo m:type nella definizione della proprietà nel feed Atom. Per altre informazioni sulla tipizzazione di proprietà, vedere Inserimento e aggiornamento di entità.

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

Mostra:
© 2016 Microsoft