Entitas Penggabungan
Operasi memperbarui Merge Entity
entitas yang ada dengan memperbarui properti entitas. Operasi ini tidak menggantikan entitas yang ada, seperti yang dilakukan operasi Perbarui Entitas .
Minta
Anda dapat membuat Merge Entity
permintaan sebagai berikut. HTTPS disarankan. Ganti myaccount dengan nama akun penyimpanan Anda, dan mytable dengan nama tabel Anda. Ganti myPartitionKey dan myRowKey dengan nama kunci partisi dan kunci baris yang mengidentifikasi entitas yang akan diperbarui.
Metode | Meminta URI | Versi HTTP |
---|---|---|
MERGE |
https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
Alamat entitas yang akan diperbarui dapat mengambil sejumlah formulir pada URI permintaan. Lihat Protokol OData untuk detail tambahan.
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 |
---|---|---|
MERGE |
http://127.0.0.1:10002/devstoreaccount1/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') |
HTTP/1.1 |
Table Storage di emulator penyimpanan 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 dan application/json .Untuk informasi selengkapnya tentang jenis konten yang valid, lihat Format payload untuk operasi Table Storage. |
Content-Length |
Wajib diisi. Panjang isi permintaan. |
If-Match |
Wajib diisi. Klien dapat menentukan ETag untuk entitas pada permintaan, untuk membandingkan dengan yang ETag dikelola oleh layanan untuk tujuan konkurensi optimis. Operasi pembaruan akan dilakukan hanya jika ETag yang dikirim oleh klien cocok dengan nilai yang dikelola oleh server. Kecocokan ini menunjukkan bahwa entitas belum dimodifikasi sejak diambil oleh klien.Untuk memaksa pembaruan tanpa syarat, atur If-Match ke karakter kartubebas (*). |
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 Merge Entity
mengirimkan entitas untuk diperbarui sebagai OData
entitas, yang dapat berupa JSON atau umpan Atom. Untuk informasi selengkapnya, lihat Menyisipkan dan memperbarui entitas.
Respons
Respons mencakup kode status HTTP dan sekumpulan header respons.
Kode status
Operasi yang berhasil mengembalikan kode status 204 (Tanpa Konten). Untuk informasi tentang kode status, lihat Kode status dan kesalahan serta kode kesalahan Table Storage.
Header respons
Respons untuk operasi ini mencakup header berikut. Respons juga dapat mencakup header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1.
Header respons | Deskripsi |
---|---|
ETag |
ETag untuk entitas. |
x-ms-request-id |
Header ini 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. |
x-ms-client-request-id |
Anda dapat menggunakan header ini untuk memecahkan masalah permintaan dan respons terkait. Nilai header ini sama dengan nilai x-ms-client-request-id header, jika ada dalam permintaan. Nilainya paling banyak 1024 karakter ASCII yang terlihat.
x-ms-client-request-id Jika header tidak ada dalam permintaan, header ini tidak akan ada dalam respons. |
Isi Respons
Tidak ada.
Respons sampel
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Connection: Keep-Alive
Content-Length: 0
Cache-Control: no-cache
Date: Mon, 25 Nov 2013 19:06:47 GMT
ETag: W/"0x5B168C7B6E589D2"
x-ms-version: 2013-08-15
DataServiceVersion: 1.0;NetFx
MaxDataServiceVersion: 2.0;NetFx
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
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
Table Storage tidak membuat null
nilai untuk properti persisten. Menentukan properti dengan nilai setara dengan null
menghilangkan properti tersebut dalam permintaan. Hanya properti dengan nilai non-yangnull
diperbarui oleh Merge Entity
operasi.
Anda tidak dapat menghapus properti dengan Merge Entity
operasi. Jika Anda perlu melakukan ini, ganti entitas dengan memanggil operasi Perbarui Entitas .
Saat menggabungkan entitas, Anda harus menentukan PartitionKey
properti sistem dan RowKey
sebagai bagian dari operasi penggabungan.
ETag
Entitas menyediakan konkurensi optimis default untuk operasi penggabungan. Nilainya ETag
buram, dan tidak boleh dibaca atau diandalkan. Sebelum operasi penggabungan terjadi, Table Storage memverifikasi bahwa nilai entitas saat ini ETag
identik dengan nilai yang ETag
disertakan dengan permintaan di If-Match
header. Jika nilainya identik, Table Storage menentukan bahwa entitas belum dimodifikasi sejak diambil, dan operasi penggabungan berlanjut.
Jika entitas ETag
berbeda dari yang ditentukan dengan permintaan penggabungan, operasi penggabungan gagal dengan kode status 412 (Prasyarat Gagal). Kesalahan ini menunjukkan bahwa entitas telah diubah di server sejak diambil. Untuk mengatasi kesalahan ini, ambil entitas dan terungkap kembali permintaan.
Untuk memaksa operasi penggabungan tanpa syarat, atur nilai If-Match
header ke karakter kartubebas (*) pada permintaan. Meneruskan nilai ini ke operasi akan menggantikan konkurensi optimis, default, dan mengabaikan ketidakcocokan dalam ETag
nilai.
If-Match
Jika header hilang dari permintaan dalam versi 2011-08-18 dan yang lebih baru, maka layanan melakukan operasi Sisipkan Atau Gabungkan Entitas (upsert). Dalam versi sebelum 2011-08-18, layanan mengembalikan kode status 400 (Permintaan Buruk).
Aplikasi apa pun yang dapat mengotorisasi dan mengirim HTTP MERGE
permintaan dapat menggabungkan entitas. Untuk informasi selengkapnya tentang membuat kueri dengan menggunakan HTTP MERGE
, lihat Menambahkan, memodifikasi, dan menghapus entitas.
Untuk informasi tentang melakukan operasi penggabungan batch, lihat Melakukan transaksi grup entitas.
Lihat juga
Perbarui Entitas
Mengotorisasi permintaan ke Azure Storage
Mengatur header versi layanan data OData
Status dan kode galat
Kode kesalahan Table Storage