Insert Entity
L'opération Insert Entity
insère une nouvelle entité dans une table.
Requête
Vous pouvez construire la Insert Entity
requête comme suit. 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 |
URI du service de stockage émulé
Lorsque vous effectuez une demande auprès du service de stockage émulé, spécifiez le nom d’hôte de l’émulateur et le port de stockage Table Azure en tant que 127.0.0.1:10002
, suivis du nom du compte de stockage émulé.
Méthode | URI de demande | Version HTTP |
---|---|---|
POST |
http://127.0.0.1:10002/devstoreaccount1/mytable |
HTTP/1.1 |
Le stockage table dans l’émulateur de stockage diffère de Stockage Table Azure de plusieurs façons. Pour plus d’informations, consultez Différences entre l’émulateur de stockage et les services de stockage Azure.
Paramètres URI
Vous pouvez spécifier les paramètres supplémentaires suivants sur l’URI de requête.
Paramètre | Description |
---|---|
timeout |
facultatif. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définition des délais d’expiration pour les opérations de stockage table. |
En-têtes de requête
Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.
En-tête de requête | Description |
---|---|
Authorization |
Obligatoire. Spécifie le schéma d’autorisation, le nom du compte et la signature. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure. |
Date ou x-ms-date |
Obligatoire. Spécifie la date/heure en temps universel coordonné (UTC) pour la requête. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure. |
x-ms-version |
facultatif. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure. |
Content-Type |
Obligatoire. Spécifie le type de contenu de la charge utile. Les valeurs possibles sont application/atom+xml (versions antérieures à 2015-12-11 uniquement), et application/json .Pour plus d’informations sur les types de contenu valides, consultez Format de charge utile pour les opérations de stockage 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 (versions antérieures à 2015-12-11 uniquement)- 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 de stockage 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 Définition de l’en-tête Prefer pour gérer l’écho de réponse lors des 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ères de 1 kibioctet (Kio) enregistrée dans les journaux lors de la configuration de la journalisation. Nous vous recommandons vivement d’utiliser cet en-tête pour mettre en corrélation les activités côté client avec les demandes que le serveur reçoit. Pour plus d’informations, consultez Surveiller le Stockage Table Azure. |
Corps de la demande
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.
Notes
JSON est le format de charge utile recommandé et est le seul format pris en charge pour la version 2015-12-11 et ultérieure.
JSON (version 2013-08-15 et ultérieures)
Voici un exemple de corps de requête JSON pour l’opération 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"
}
Flux Atom (versions antérieures à 2015-12-11)
Voici un exemple de corps de requête 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="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>
response
La réponse inclut un code d'état HTTP, un ensemble d'en-têtes de réponse et un corps de réponse.
Code d’état
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 s’il est défini sur return-content
, une opération réussie retourne status code 201 (Created
). Pour plus d’informations, consultez Définition de l’en-tête Prefer pour gérer l’écho de réponse lors des opérations d’insertion.
Pour plus d’informations sur les codes status, consultez Codes d’état et d’erreur et Codes d’erreur du service de table.
En-têtes de réponse
Cette réponse comprend les en-têtes suivants. La réponse peut également 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 |
Identifie de manière unique la requête qui a été effectuée et peut être utilisée pour la résolution des problèmes de la demande. Pour plus d’informations, consultez Résolution des problèmes liés aux opérations d’API. |
x-ms-version |
Indique la version de Stockage Table utilisée pour exécuter la requête. Cet en-tête est renvoyé pour les demandes effectuées avec la version 2009-09-19 ou une version ultérieure. |
Date |
Valeur de date/heure UTC qui indique l’heure à laquelle la réponse a été lancée. Le service génère cette valeur. |
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 n’a Prefer pas été respecté. Si cet en-tête est renvoyé, sa valeur est return-content ou return-no-content .Pour plus d’informations, consultez Définition de l’en-tête Prefer pour gérer l’écho de réponse lors des 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 de stockage table. |
x-ms-client-request-id |
Peut être utilisé pour résoudre les problèmes liés aux demandes et aux réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id , s’il est présent dans la requête. La valeur est au maximum de 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la demande, il ne sera pas présent dans la réponse. |
Response body
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 ensemble d’entités OData
.
Notes
JSON est le format de charge utile recommandé et est le seul format pris en charge pour la version 2015-12-11 et ultérieure.
JSON (version 2013-08-15 et ultérieures)
Voici un exemple de réponse JSON pour chaque niveau de métadonnées :
Aucune métadonnées :
{
"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"
}
Flux Atom (versions antérieures à 2015-12-11)
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/"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>
Autorisation
Le propriétaire du compte peut effectuer cette opération. En outre, toute personne disposant d’une signature d’accès partagé qui est autorisée à effectuer cette opération peut le faire.
Remarques
Lorsque vous insérez une entité dans une table, vous devez spécifier des valeurs pour les PartitionKey
propriétés système et RowKey
. Ensemble, ces propriétés forment la clé primaire et doivent être uniques dans la table.
PartitionKey
Les valeurs et doivent RowKey
être des valeurs de chaîne.
PartitionKey
les valeurs et RowKey
peuvent avoir jusqu’à 1 024 caractères. Si vous utilisez une valeur entière pour la valeur de clé, vous devez convertir l’entier en chaîne à largeur fixe, car ils sont triés canoniquement. Par exemple, convertissez la valeur 1
en 0000001
, pour garantir un tri correct.
Pour taper explicitement une propriété, spécifiez le type de données approprié OData
en définissant l’attribut m:type
dans la définition de propriété dans le flux Atom. Pour plus d’informations sur la saisie des propriétés, consultez Insertion et mise à jour d’entités.
Le stockage table ne rend null
pas les valeurs des propriétés persistantes. La spécification d’une propriété avec une null
valeur revient à omettre cette propriété dans la requête.
Pour plus d’informations sur l’exécution d’opérations d’insertion par lots, consultez Exécution de transactions de groupe d’entités.
Voir aussi
Autoriser les demandes dans le Stockage Azure
Définition des en-têtes de version du service de données OData
Insertion et mise à jour d’entités
Codes d’état et d’erreur
Codes d’erreur stockage table