Bagikan melalui


Sisipkan Entitas

Operasi Insert Entity menyisipkan entitas baru ke dalam tabel.

Minta

Anda dapat membuat Insert Entity permintaan sebagai berikut. HTTPS disarankan. Ganti myaccount dengan nama akun penyimpanan Anda, dan mytable dengan nama tabel Anda.

Metode Meminta URI Versi HTTP
POST https://myaccount.table.core.windows.net/mytable HTTP/1.1

URI layanan penyimpanan yang ditimulasi

Saat Anda membuat permintaan terhadap layanan penyimpanan yang ditimulasi, tentukan nama host emulator dan port Azure Table Storage sebagai 127.0.0.1:10002, diikuti dengan nama akun penyimpanan yang ditimulasi.

Metode Meminta URI Versi HTTP
POST http://127.0.0.1:10002/devstoreaccount1/mytable HTTP/1.1

Table Storage di emulator Storage berbeda dari Azure Table Storage dalam beberapa cara. Untuk informasi selengkapnya, lihat Perbedaan antara emulator Penyimpanan dan layanan Azure Storage.

Parameter URI

Anda dapat menentukan parameter tambahan berikut pada URI permintaan.

Parameter Deskripsi
timeout Opsional. Parameter timeout dinyatakan dalam hitung detik. Untuk informasi selengkapnya, lihat Mengatur batas waktu untuk operasi Table Storage.

Header permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Meminta kop Deskripsi
Authorization Wajib diisi. Menentukan skema otorisasi, nama akun, dan tanda tangan. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
Date atau x-ms-date Wajib diisi. Menentukan Waktu Universal Terkoordinasi (UTC) untuk permintaan tersebut. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
x-ms-version Pilihan. Menentukan versi operasi yang akan digunakan untuk permintaan ini. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage.
Content-Type Wajib diisi. Menentukan jenis konten payload. Nilai yang mungkin adalah application/atom+xml (versi sebelum 2015-12-11 saja), dan application/json.

Untuk formasi selengkapnya tentang jenis konten yang valid, lihat Format payload untuk operasi Table Storage.
Content-Length Wajib diisi. Panjang isi permintaan.
Accept Opsional. Menentukan jenis konten yang diterima dari payload respons. Potensi nilai:

- application/atom+xml (hanya versi sebelum 2015-12-11)
- application/json;odata=nometadata
- application/json;odata=minimalmetadata
- application/json;odata=fullmetadata

Untuk informasi selengkapnya, lihat Format payload untuk operasi Table Storage.
Prefer Pilihan. Menentukan apakah respons harus menyertakan entitas yang disisipkan dalam payload. Nilai yang mungkin adalah return-no-content dan return-content. Untuk informasi selengkapnya, lihat Mengatur header Prefer untuk mengelola gema respons pada operasi penyisipan.
x-ms-client-request-id Opsional. Menyediakan nilai buram yang dihasilkan klien dengan batas karakter 1 kibibyte (KiB) yang dicatat dalam log saat pengelogan dikonfigurasi. Kami sangat menyarankan Anda menggunakan header ini untuk menghubungkan aktivitas sisi klien dengan permintaan yang diterima server. Untuk informasi selengkapnya, lihat Memantau Azure Table Storage.

Isi permintaan

Operasi Insert Entity mengirim entitas untuk dimasukkan sebagai OData entitas, yang merupakan JSON atau umpan Atom. Untuk informasi selengkapnya, lihat Menyisipkan dan memperbarui entitas.

Catatan

JSON adalah format payload yang direkomendasikan, dan merupakan satu-satunya format yang didukung untuk versi 2015-12-11 dan yang lebih baru.

JSON (versi 2013-08-15 dan yang lebih baru)

Berikut adalah contoh isi permintaan JSON untuk operasi: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"  
}  

Umpan atom (versi sebelum 2015-12-11)

Berikut adalah contoh isi permintaan Atom untuk operasi tersebut 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>  

Respons

Respons mencakup kode status HTTP, sekumpulan header respons, dan isi respons.

Kode status

Kode status bergantung pada nilai Prefer header. Prefer Jika header diatur ke return-no-content, maka operasi yang berhasil mengembalikan kode status 204 (No Content). Prefer Jika header tidak ditentukan, atau jika diatur ke return-content, maka operasi yang berhasil mengembalikan kode status 201 (Created). Untuk informasi selengkapnya, lihat Mengatur header Prefer untuk mengelola gema respons pada operasi penyisipan.

Untuk informasi tentang kode status, lihat Kode status dan kesalahan dan Kode Kesalahan Layanan Tabel.

Header respons

Respons mencakup header berikut. Respons juga dapat mencakup header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1.

Header respons Deskripsi
x-ms-request-id Secara unik mengidentifikasi permintaan yang dibuat dan dapat digunakan untuk memecahkan masalah permintaan. Untuk informasi selengkapnya, lihat Pemecahan masalah operasi API.
x-ms-version Menunjukkan versi Table Storage yang digunakan untuk menjalankan permintaan. Header ini dikembalikan untuk permintaan yang dibuat terhadap versi 2009-09-19 dan yang lebih baru.
Date Nilai tanggal/waktu UTC yang menunjukkan waktu di mana respons dimulai. Layanan menghasilkan nilai ini.
ETag ETag untuk entitas.
Preference-Applied Menunjukkan apakah Prefer header permintaan dihormati. Jika respons tidak menyertakan header ini, maka Prefer header tidak dihormati. Jika header ini dikembalikan, nilainya akan menjadi return-content atau return-no-content.

Untuk informasi selengkapnya, lihat Mengatur header Prefer untuk mengelola gema respons pada operasi penyisipan.
Content-Type Menunjukkan jenis konten payload. Nilai tergantung pada nilai yang ditentukan untuk Accept header permintaan. Potensi nilai:

- application/atom+xml
- application/json;odata=nometadata
- application/json;odata=minimalmetadata
- application/json;odata=fullmetadata

Untuk informasi selengkapnya tentang jenis konten, lihat Format payload untuk operasi Table Storage.
x-ms-client-request-id Dapat digunakan untuk memecahkan masalah permintaan dan respons yang sesuai. Nilai header ini sama dengan nilai x-ms-client-request-id header, jika ada dalam permintaan. Nilainya paling banyak 1.024 karakter ASCII yang terlihat. x-ms-client-request-id Jika header tidak ada dalam permintaan, header tidak akan ada dalam respons.

Isi Respons

Jika permintaan menyertakan Prefer header dengan nilai return-no-content, tidak ada isi respons yang dikembalikan. Jika tidak, isi respons adalah OData set entitas.

Catatan

JSON adalah format payload yang direkomendasikan, dan merupakan satu-satunya format yang didukung untuk versi 2015-12-11 dan yang lebih baru.

JSON (versi 2013-08-15 dan yang lebih baru)

Berikut adalah contoh respons JSON untuk setiap tingkat metadata:

Tidak ada metadata:

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

Metadata minimal:

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

Metadata lengkap:

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

Umpan atom (versi sebelum 2015-12-11)

Berikut adalah contoh isi respons Atom untuk operasi tersebut 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>  

Authorization

Pemilik akun dapat melakukan operasi ini. Selain itu, siapa pun dengan tanda tangan akses bersama yang memiliki izin untuk melakukan operasi ini dapat melakukannya.

Keterangan

Saat Anda menyisipkan entitas ke dalam tabel, Anda harus menentukan nilai untuk PartitionKey properti sistem dan RowKey . Bersama-sama, properti ini membentuk kunci primer, dan harus unik dalam tabel.

PartitionKey Nilai dan RowKey harus berupa nilai string. PartitionKey dan RowKey nilai dapat berukuran hingga 1024 karakter. Jika Anda menggunakan nilai bilangan bulat untuk nilai kunci, Anda harus mengonversi bilangan bulat menjadi string lebar tetap, karena diurutkan secara kanonis. Misalnya, konversikan nilai 1 ke 0000001, untuk memastikan pengurutan yang tepat.

Untuk mengetik properti secara eksplisit, tentukan jenis data yang sesuai OData dengan mengatur m:type atribut dalam definisi properti di umpan Atom. Untuk informasi selengkapnya tentang mengetik properti, lihat Menyisipkan dan memperbarui entitas.

Table Storage tidak membuat null nilai untuk properti persisten. Menentukan properti dengan nilai setara dengan null menghilangkan properti tersebut dalam permintaan.

Untuk informasi tentang melakukan operasi penyisipan batch, lihat Melakukan transaksi grup entitas.

Lihat juga

Mengotorisasi permintaan ke Azure Storage
Mengatur header versi layanan data OData
Menyisipkan dan memperbarui entitas
Status dan kode galat
Kode kesalahan Table Storage