Kontrol Konkurensi
Catatan
API Portal Mitra Cloud terintegrasi dengan dan akan terus bekerja di Pusat Mitra. Transisi memperkenalkan perubahan kecil. Tinjau perubahan yang tercantum di Referensi API Portal Mitra Cloud untuk memastikan kode Anda terus berfungsi setelah transisi ke Pusat Mitra. API CPP hanya boleh digunakan untuk produk yang sudah terintegrasi sebelum transisi ke Pusat Mitra. Produk baru harus menggunakan API pengiriman Pusat Mitra.
Setiap panggilan ke API penerbitan Cloud Partner Portal harus secara eksplisit menentukan strategi kontrol konkurensi mana yang akan digunakan. Kegagalan untuk menyediakan header If-Match akan menghasilkan respons kesalahan HTTP 400. Kami menawarkan dua strategi untuk kontrol konkurensi.
- Optimis - Klien yang melakukan pembaruan memverifikasi apakah data telah berubah sejak terakhir kali membaca data.
- Yang terakhir menang - Klien secara langsung memperbarui data, terlepas dari apakah aplikasi lain telah memodifikasinya sejak waktu baca terakhir.
Alur kerja konkurensi optimis
Sebaiknya gunakan strategi konkurensi optimis, dengan alur kerja berikut, untuk menjamin bahwa tidak ada pengeditan tak terduga yang dilakukan pada sumber daya Anda.
- Mengambil entitas menggunakan API. Respons mencakup nilai ETag yang mengidentifikasi versi entitas yang saat ini disimpan (pada saat respons).
- Pada saat pembaruan, sertakan nilai ETag yang sama ini di header permintaan If-Match wajib.
- API membandingkan nilai ETag yang diterima dalam permintaan dengan nilai ETag entitas saat ini dalam transaksi atom.
- Jika nilai ETag berbeda, API akan mengembalikan
412 Precondition Failed
respons HTTP. Kesalahan ini menunjukkan bahwa salah satu proses lain telah memperbarui entitas sejak klien terakhir mengambilnya, atau bahwa nilai ETag yang ditentukan dalam permintaan tidak benar. - Jika nilai ETag sama, atau header If-Match berisi karakter tanda bintang wildcard (
*
), API melakukan operasi yang diminta. Operasi API juga memperbarui nilai ETag yang tersimpan dari entitas.
- Jika nilai ETag berbeda, API akan mengembalikan
Catatan
Menentukan karakter wildcard (*) dalam hasil header If-Match di API menggunakan strategi konkurensi Last-one-wins. Dalam hal ini, perbandingan ETag tidak terjadi dan sumber daya diperbarui tanpa pemeriksaan apa pun.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk