VENTES: 1-800-867-1389

Insertion d'entité

Mis à jour: mai 2015

L'opération Insert Entity insère une nouvelle entité dans une table.

La demande Insert Entity peut être construite comme indiqué ci-dessous. HTTPS est recommandé. Remplacez myaccount par le nom de votre compte de stockage et mytable par le nom de votre table :

 

Méthode URI de demande Version HTTP

POST

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

HTTP/1.1

Lorsque vous élaborez une demande pour le service de stockage émulé, spécifiez le nom d'hôte de l'émulateur et le port de service de Table sous la forme 127.0.0.1:10002, suivi du nom de compte de stockage émulé :

 

Méthode URI de demande Version HTTP

POST

http://127.0.0.1:10002/devstoreaccount1/mytable

HTTP/1.1

Le service Table dans l'émulateur de stockage et le service Table de Windows® Azure™ diffèrent sur plusieurs points. Pour plus d'informations, consultez Differences between Development Storage and Cloud Storage Services.

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.

 

En-tête de demande Description

Authorization

Obligatoire. Spécifie le schéma d'authentification, le nom du compte et la signature. Pour plus d'informations, consultez Authentification pour les services Azure Storage.

Date ou x-ms-date

Obligatoire. Spécifie le temps universel coordonné (UTC) pour la demande. Pour plus d'informations, consultez Authentification pour les services Azure Storage.

x-ms-version

Facultatif. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez Contrôle de version des services BLOB, de File d'attente et de Table dans Windows Azure.

Content-Type

Obligatoire. Spécifie le type de contenu de la charge utile. Les valeurs possibles sont application/atom+xml et application/json.

Pour plus d'informations sur les types de contenu valides, consultez Format de charge utile pour les opérations du service Table.

Content-Length

Obligatoire. Longueur du corps de la demande.

Accept

Facultatif. Spécifie le type de contenu accepté de la charge utile de réponse. Les valeurs possibles sont les suivantes :

  • application/atom+xml

  • application/json;odata=nometadata

  • application/json;odata=minimalmetadata

  • application/json;odata=fullmetadata

Pour plus d'informations, consultez Format de charge utile pour les opérations du service Table.

Prefer

Facultatif. Indique si la réponse doit inclure l'entité insérée dans la charge utile. Les valeurs possibles sont return-no-content et return-content. Pour plus d'informations, consultez Affectation de la valeur Manage Response Echo à l'en-tête Prefer sur les opérations d'insertion.

x-ms-client-request-id

Facultatif. Fournit une valeur opaque générée par le client avec une limite de caractère de 1 Ko qui est enregistrée dans les journaux d'analyse quand la journalisation de l'analyse de stockage est activée. L'utilisation de cet en-tête est recommandée pour la corrélation des activités côté client avec les demandes reçues par le serveur. Pour plus d'informations, consultez À propos de la journalisation Storage Analytics et Journalisation du stockage Azure : utilisation des journaux pour suivre les demandes de stockage.

L'opération Insert Entity envoie l'entité à insérer en tant qu'entité OData, qui est un flux JSON ou Atom. Pour plus d'informations, consultez Insertion et mise à jour d'entités.

Voici un exemple de corps de demande Atom pour l'opération 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>

Voici un exemple de corps de demande JSON pour les opérations 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"
}

La réponse inclut un code d'état HTTP, un ensemble d'en-têtes de réponse et un corps de réponse.

Le code d'état dépend de la valeur de l'en-tête Prefer. Si l'en-tête Prefer a la valeur return-no-content, une opération réussie renvoie le code d'état 204 (No Content). Si l'en-tête Prefer n'est pas spécifié ou a la valeur return-content, une opération réussie renvoie le code d'état 201 (Created). Pour plus d'informations, consultez Affectation de la valeur Manage Response Echo à l'en-tête Prefer sur les opérations d'insertion.

Pour plus d'informations sur les codes d'état, consultez Codes d'état et d'erreur et Codes d'erreur de service de Table.

Cette réponse comprend les en-têtes suivants. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

 

En-tête de réponse Description

x-ms-request-id

Cet en-tête identifie de façon unique la demande qui a été effectuée et peut être utilisé pour résoudre les problèmes de la demande. Pour plus d'informations, consultez Dépannage des opérations de l'API.

x-ms-version

Indique la version du service de Table utilisée pour exécuter la demande. Cet en-tête est renvoyé pour les demandes effectuées avec la version 2009-09-19 ou une version ultérieure.

Date

Une valeur de date/heure UTC générée par le service qui indique le moment auquel la réponse a été initiée.

ETag

ETag pour l'entité.

Preference-Applied

Indique si l'en-tête de demande Prefer a été respecté. Si la réponse n'inclut pas cet en-tête, l'en-tête Prefer n'a pas été respecté. Si cet en-tête est renvoyé, sa valeur est return-content ou return-no-content.

Pour plus d'informations, consultez Affectation de la valeur Manage Response Echo à l'en-tête Prefer sur les opérations d'insertion.

Content-Type

Indique le type de contenu de la charge utile. La valeur de cet en-tête dépend de la valeur spécifiée pour l'en-tête de demande Accept. Les valeurs possibles sont les suivantes :

  • application/atom+xml

  • application/json;odata=nometadata

  • application/json;odata=minimalmetadata

  • application/json;odata=fullmetadata

Pour plus d'informations sur les types de contenu, consultez Format de charge utile pour les opérations du service Table.

Si la demande inclut l'en-tête Prefer avec la valeur return-no-content, aucun corps de réponse n'est renvoyé. Sinon, le corps de la réponse est un jeu d'entités OData.

Voici un exemple de corps de réponse Atom pour l'opération 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>

Voici un exemple de réponse JSON pour chaque niveau de métadonnées :

Aucune métadonnée :

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

Métadonnées minimales :

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

Métadonnées complètes :

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

Cette opération peut être exécutée par le propriétaire du compte et par toute personne qui dispose d'une signature d'accès partagé qui a l'autorisation d'exécuter cette opération.

Lors de l'insertion d'une entité dans une table, vous devez spécifier des valeurs pour les propriétés système PartitionKey et RowKey. Ces propriétés forment la clé primaire et doivent être uniques au sein de la table.

Les valeurs PartitionKey et RowKey doivent être des valeurs de chaîne ; chaque valeur de clé doit avoir une taille de 64 Ko maximum. Si vous utilisez une valeur entière pour la valeur de clé, vous devez convertir l'entier en une chaîne de largeur fixe, car elles sont triées de façon canonique. Par exemple, vous devez convertir la valeur 1 en 0000001 pour garantir un tri correct.

Pour typer explicitement une propriété, spécifiez le type de données OData approprié en définissant l'attribut m:type au sein de la définition de la propriété dans le flux Atom. Pour plus d'informations sur les propriétés de typage, consultez Insertion et mise à jour d'entités.

Pour plus d'informations sur l'exécution d'opération d'insertion par lots, consultez Exécution de transactions de groupe d'entités.

Voir aussi

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2015 Microsoft