Esporta (0) Stampa
Espandi tutto

Insert Entity (API REST)

Aggiornamento: novembre 2014

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

La richiesta Insert Entity può essere costruita nel modo seguente. Si consiglia di utilizzare 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 altre informazioni, vedere About Development Storage e Differenze tra l'emulatore di archiviazione e i Servizi di archiviazione Azure.

Nessuno.

Nella tabella seguente 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

Facoltativo. Specifica la versione dell'operazione da utilizzare 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

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

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 per gestire la restituzione di risposte nelle operazioni di inserimento.

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'utilizzo 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'utilizzo di log per tenere traccia delle richiesta di archiviazione nella registrazione di Azure.

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>
      <d:Timestamp m:type="Edm.DateTime">0001-01-01T00:00:00</d:Timestamp>
    </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 ed errori di stato 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 utilizzata 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 utilizzata 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.

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 utilizza 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 utilizza 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à.

Vedere anche

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft