Insert Entity

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

Richiesta

È possibile costruire la Insert Entity richiesta come indicato di seguito. È consigliato il protocollo HTTPS. Sostituire myaccount con il nome dell'account di archiviazione e mytable con il nome della tabella.

Metodo URI richiesta Versione HTTP
POST https://myaccount.table.core.windows.net/mytable HTTP/1.1

URI del servizio di archiviazione emulato

Quando si effettua una richiesta per il servizio di archiviazione emulato, specificare il nome host dell'emulatore e la porta di archiviazione tabelle di Azure come 127.0.0.1:10002, seguito dal nome dell'account di archiviazione emulato.

Metodo URI richiesta Versione HTTP
POST http://127.0.0.1:10002/devstoreaccount1/mytable HTTP/1.1

Archiviazione tabelle nell'emulatore di archiviazione differisce da Archiviazione tabelle di Azure in diversi modi. Per altre informazioni, vedere Differenze tra l'emulatore di archiviazione e i servizi di archiviazione di Azure.

Parametri URI

È possibile specificare i parametri aggiuntivi seguenti nell'URI della richiesta.

Parametro Descrizione
timeout Facoltativa. Il parametro timeout viene espresso in secondi. Per altre informazioni, vedere Impostazione dei timeout per le operazioni di archiviazione tabelle.

Intestazioni della richiesta

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

Intestazione della richiesta Descrizione
Authorization Obbligatorio. Specifica lo schema di autorizzazione, il nome dell'account e la firma. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
Date o x-ms-date Obbligatorio. Specifica la data per la richiesta nel fuso orario UTC (Coordinated Universal Time). Per altre informazioni, vedere Autorizzare le richieste ad 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 di archiviazione di Azure.
Content-Type Obbligatorio. Specifica il tipo di contenuto del payload. I valori possibili sono application/atom+xml (versioni precedenti solo alla versione 2015-12-11) e application/json.

Per altre informazioni sui tipi di contenuto validi, vedere Formato del payload per le operazioni di archiviazione tabelle.
Content-Length Obbligatorio. Lunghezza del corpo della richiesta.
Accept facoltativo. Specifica il tipo di contenuto accettato del payload di risposta. I valori possibili sono:

- application/atom+xml (solo versioni precedenti alla versione 2015-12-11)
- application/json;odata=nometadata
- application/json;odata=minimalmetadata
- application/json;odata=fullmetadata

Per altre informazioni, vedere Formato del payload per le operazioni di archiviazione tabelle.
Prefer facoltativo. 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 to manage response echo on insert operations .For more information, see Setting the Prefer header to manage response echo on insert operations.
x-ms-client-request-id facoltativo. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log al momento della configurazione della registrazione. È consigliabile usare questa intestazione per correlare le attività lato client alle richieste ricevute dal server. Per altre informazioni, vedere Monitorare l'archiviazione tabelle di Azure.

Testo della richiesta

L'operazione Insert Entity invia l'entità da inserire come OData entità, ovvero un feed JSON o Atom. Per altre informazioni, vedere Inserimento e aggiornamento di entità.

Nota

JSON è il formato di payload consigliato ed è l'unico formato supportato per la versione 2015-12-11 e successive.

JSON (versione 2013-08-15 e successive)

Ecco un corpo della richiesta JSON di esempio 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"  
}  

Feed Atom (versioni precedenti alla versione 2015-12-11)

Ecco un corpo di richiesta Atom di esempio 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="https://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>  

Risposta

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

Codice stato

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 se è impostata su return-content, un'operazione con esito positivo restituisce il codice di stato 201 (Created). Per altre informazioni, vedere Impostazione dell'intestazione Prefer to manage response echo on insert operations .For more information, see Setting the Prefer header to manage response echo on insert operations.

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

Intestazioni di risposta

Nella risposta sono incluse le intestazioni seguenti. La risposta può includere anche intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

Intestazione risposta Descrizione
x-ms-request-id Identifica in modo univoco la richiesta effettuata e può essere usata per la risoluzione dei problemi della richiesta. Per altre informazioni, vedere Risoluzione dei problemi relativi alle operazioni api.
x-ms-version Indica la versione di Archiviazione tabelle utilizzata per eseguire la richiesta. Questa intestazione viene restituita per le richieste effettuate nella versione 2009-09-19 e successive.
Date Valore di data/ora UTC che indica l'ora in cui è stata avviata la risposta. Il servizio genera questo valore.
ETag Oggetto ETag per l'entità.
Preference-Applied Indica se l'intestazione della richiesta Prefer è stata rispettata. Se la risposta non include questa intestazione, 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 to manage response echo on insert operations .For more information, see Setting the Prefer header to manage response echo on insert operations.
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 payload per le operazioni di archiviazione tabelle.
x-ms-client-request-id Può essere usato per risolvere i problemi relativi alle richieste e alle risposte corrispondenti. Il valore di questa intestazione è uguale al valore dell'intestazione x-ms-client-request-id , se presente nella richiesta. Il valore è al massimo 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, non sarà presente nella risposta.

Corpo della risposta

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 OData set di entità.

Nota

JSON è il formato payload consigliato ed è l'unico formato supportato per la versione 2015-12-11 e versioni successive.

JSON (versione 2013-08-15 e versioni successive)

Ecco una risposta JSON di esempio per ogni 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"  
}  

Feed Atom (versioni precedenti al 2015-12-11)

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/"0x5B168C7B6E589D2"" xmlns="https://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>  

Autorizzazione

Il proprietario dell'account può eseguire questa operazione. Inoltre, chiunque abbia l'autorizzazione per eseguire questa operazione può essere eseguita da chiunque con una firma di accesso condiviso.

Commenti

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

Entrambi i PartitionKey valori e RowKey devono essere valori stringa. PartitionKey e RowKey i valori possono essere fino a 1024 caratteri di dimensioni. Se si usa un valore intero per il valore della chiave, è necessario convertire l'intero in una stringa a larghezza fissa, perché sono ordinati in modo canonico. Ad esempio, convertire il valore 1 in 0000001, per garantire l'ordinamento corretto.

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

L'archiviazione tabelle non crea null valori per le proprietà persistenti. La specifica di una proprietà con un null valore equivale a omettere tale proprietà nella richiesta.

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

Vedi anche

Autorizzare le richieste ad Archiviazione di Azure
Impostazione delle intestazioni della versione del servizio dati OData
Inserimento e aggiornamento di entità
Stato e codici errore
Codici di errore di Archiviazione tabelle