Insert Entity (Вставка сущности )
Операция Insert Entity
вставляет новую сущность в таблице.
Запрос
Запрос можно создать Insert Entity
следующим образом. Рекомендуется использовать протокол HTTPS. Замените myaccount именем вашей учетной записи хранения, а mytable — именем таблицы.
Метод | Универсальный код ресурса (URI) запроса | параметр "Версия HTTP" |
---|---|---|
POST |
https://myaccount.table.core.windows.net/mytable |
HTTP/1.1 |
URI эмулированной службы хранилища
При выполнении запроса к эмулированной службе хранилища укажите имя узла эмулятора и порт хранилища таблиц Azure в качестве 127.0.0.1:10002
, а затем имя эмулированной учетной записи хранения.
Метод | Универсальный код ресурса (URI) запроса | параметр "Версия HTTP" |
---|---|---|
POST |
http://127.0.0.1:10002/devstoreaccount1/mytable |
HTTP/1.1 |
Хранилище таблиц в эмуляторе хранения отличается от хранилища таблиц Azure несколькими способами. Дополнительные сведения см. в статье Различия между эмулятором хранения и службами хранилища Azure.
Параметры универсального кода ресурса (URI)
В URI запроса можно указать следующие дополнительные параметры.
Параметр | Описание |
---|---|
timeout |
Необязательный элемент. Параметр timeout указывается в секундах. Дополнительные сведения см. в разделе Настройка времени ожидания для операций хранилища таблиц. |
Заголовки запросов
В следующей таблице перечислены обязательные и необязательные заголовки запросов.
Заголовок запроса | Описание |
---|---|
Authorization |
Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure. |
Date или x-ms-date |
Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure. |
x-ms-version |
Необязательный элемент. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure. |
Content-Type |
Обязательный. Указывает тип содержимого для полезных данных. Возможные значения: application/atom+xml (только версии до 2015-12-11) и application/json .Дополнительные сведения о допустимых типах контента см. в разделе Формат полезных данных для операций хранилища таблиц. |
Content-Length |
Обязательный. Длина текста запроса. |
Accept |
Необязательный элемент. Указывает приемлемый тип содержимого полезных данных ответа. Возможны следующие значения: - application/atom+xml (только версии до 11.12.2015)- application/json;odata=nometadata - application/json;odata=minimalmetadata - application/json;odata=fullmetadata Дополнительные сведения см. в разделе Формат полезных данных для операций хранилища таблиц. |
Prefer |
Необязательный элемент. Указывает, должен ли ответ включать сущность, вставленную в полезные данные. Возможные значения: return-no-content и return-content . Дополнительные сведения см. в разделе Настройка заголовка Prefer для управления эхом ответа при операциях вставки. |
x-ms-client-request-id |
Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в статье Мониторинг хранилища таблиц Azure. |
Текст запроса
Операция Insert Entity
отправляет сущность для вставки в OData
виде сущности, которая является каналом JSON или Atom. Дополнительные сведения см. в разделе Вставка и обновление сущностей.
Примечание
JSON — это рекомендуемый формат полезных данных, который поддерживается только для версии 2015-12-11 и более поздних версий.
JSON (версия 2013-08-15 и более поздние версии)
Ниже приведен пример текста запроса JSON для 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"
}
Веб-канал Atom (версии до 11.12.2015)
Ниже приведен пример текста запроса Atom для 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>
Ответ
Ответ включает код состояния HTTP, набор заголовков ответа и текст ответа.
Код состояния
Код состояния зависит от значения заголовка Prefer
. Если заголовок Prefer
имеет значение return-no-content
, то успешная операция возвращает код состояния 204 (No Content
).
Prefer
Если заголовок не указан или для него задано значение return-content
, то успешная операция возвращает код состояния 201 (Created
). Дополнительные сведения см. в разделе Настройка заголовка Prefer для управления эхом ответа при операциях вставки.
Сведения о кодах состояния см. в разделах Коды состояний и ошибок и Коды ошибок службы таблиц.
Заголовки ответов
Ответ содержит следующие заголовки. Ответ также может содержать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.
Заголовок ответа | Описание |
---|---|
x-ms-request-id |
Уникально идентифицирует выполненный запрос и может использоваться для устранения неполадок с запросом. Дополнительные сведения см. в разделе Устранение неполадок с операциями API. |
x-ms-version |
Указывает версию хранилища таблиц, используемую для выполнения запроса. Этот заголовок возвращается для запросов к версии 2009-09-19 и более поздним версиям. |
Date |
Значение даты и времени в формате UTC, указывающее время, когда был инициирован ответ. Служба создает это значение. |
ETag |
Объект ETag для сущности. |
Preference-Applied |
Указывает, был ли учтен заголовок запроса Prefer . Если ответ не содержит этот заголовок, то заголовок Prefer не учитывается. Если этот заголовок возвращен, то он будет иметь значение return-content или return-no-content .Дополнительные сведения см. в разделе Настройка заголовка Prefer для управления эхом ответа при операциях вставки. |
Content-Type |
Указывает тип содержимого полезных данных. Значение зависит от значения, указанного для заголовка запроса Accept . Возможны следующие значения:- application/atom+xml - application/json;odata=nometadata - application/json;odata=minimalmetadata - application/json;odata=fullmetadata Дополнительные сведения о типах контента см. в разделе Формат полезных данных для операций хранилища таблиц. |
x-ms-client-request-id |
Может использоваться для устранения неполадок с запросами и соответствующими ответами. Значение этого заголовка равно значению заголовка x-ms-client-request-id , если он присутствует в запросе. Значение равно не более 1024 видимых символов ASCII. Если заголовок x-ms-client-request-id отсутствует в запросе, он не будет присутствовать в ответе. |
Текст ответа
Если запрос содержит заголовок Prefer
со значением return-no-content
, то текст ответа возвращен не будет. В противном случае текст ответа является набором сущностей OData
.
Примечание
JSON — это рекомендуемый формат полезных данных, который поддерживается только для версии 2015-12-11 и более поздних версий.
JSON (версия 2013-08-15 и более поздние версии)
Ниже приведен пример ответа JSON для каждого уровня метаданных:
Метаданные отсутствуют.
{
"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"
}
Минимальные метаданные:
{
"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"
}
Полные метаданные:
{
"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"
}
Веб-канал Atom (версии до 11.12.2015)
Ниже приведен пример текста ответа Atom для операции 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>
Авторизация
Владелец учетной записи может выполнить эту операцию. Кроме того, это может сделать любой пользователь с подписанным URL-адресом, имеющий разрешение на выполнение этой операции.
Комментарии
При вставке сущности в таблицу необходимо указать значения для системных PartitionKey
свойств и RowKey
. Вместе эти свойства образуют первичный ключ и должны быть уникальными в пределах таблицы.
PartitionKey
Значения и RowKey
должны быть строковыми значениями.
PartitionKey
Значения и RowKey
могут содержать до 1024 символов. Если для значения ключа используется целочисленное значение, следует преобразовать целое число в строку фиксированной ширины, так как они отсортированы канонически. Например, преобразуйте значение 1
в 0000001
, чтобы обеспечить правильную сортировку.
Чтобы явно ввести свойство, укажите соответствующий OData
тип данных, задав m:type
атрибут в определении свойства в веб-канале Atom. Дополнительные сведения о вводе свойств см. в разделе Вставка и обновление сущностей.
Хранилище таблиц не делает null
значения свойств постоянными. Указание свойства со значением null
эквивалентно пропуску этого свойства в запросе.
Сведения о выполнении операций пакетной вставки см. в разделе Выполнение транзакций группы сущностей.
См. также раздел
Авторизация запросов к службе хранилища Azure
Настройка заголовков версии службы данных OData
Вставка и обновление сущностей
Коды состояний и ошибок
Коды ошибок хранилища таблиц