Eşzamanlılık denetimi
Not
Bulut İş Ortağı Portalı API'leri ile tümleşiktir ve İş Ortağı Merkezi'nde çalışmaya devam edecektir. Geçiş küçük değişiklikler sağlar. İş Ortağı Merkezi'ne geçtikten sonra kodunuzun çalışmaya devam ettiğinden emin olmak için Bulut İş Ortağı Portalı API Başvurusu'nda listelenen değişiklikleri gözden geçirin. CPP API'leri yalnızca İş Ortağı Merkezi'ne geçiş öncesinde zaten tümleştirilmiş olan mevcut ürünler için kullanılmalıdır; yeni ürünler İş Ortağı Merkezi gönderim API'lerini kullanmalıdır.
Bulut İş Ortağı Portalı yayımlama API'lerine yapılan her çağrı, hangi eşzamanlılık denetimi stratejisinin kullanılacağını açıkça belirtmelidir. If-Match üst bilgisinin sağlanamaması http 400 hata yanıtına neden olur. Eşzamanlılık denetimi için iki strateji sunuyoruz.
- İyimser - Güncelleştirmeyi gerçekleştiren istemci, verileri son okuma tarihinden bu yana verilerin değişip değişmediğini doğrular.
- Son kazanan : İstemci, başka bir uygulamanın son okuma zamanından bu yana değiştirip değiştirmediğine bakılmaksızın verileri doğrudan güncelleştirir.
İyimser eşzamanlılık iş akışı
Kaynaklarınızda beklenmeyen düzenlemeler yapılmadığını garanti etmek için aşağıdaki iş akışıyla iyimser eşzamanlılık stratejisini kullanmanızı öneririz.
- API'leri kullanarak bir varlık alın. Yanıt, varlığın şu anda depolanan sürümünü (yanıt sırasında) tanımlayan bir ETag değeri içerir.
- Güncelleştirme sırasında, zorunlu If-Match istek üst bilgisine aynı ETag değerini ekleyin.
- API, istekte alınan ETag değerini atomik bir işlemdeki varlığın geçerli ETag değeriyle karşılaştırır.
- ETag değerleri farklıysa, API bir
412 Precondition Failed
HTTP yanıtı döndürür. Bu hata, istemcinin varlığı son aldığından bu yana başka bir işlemin varlığı güncelleştirdiğini veya istekte belirtilen ETag değerinin yanlış olduğunu gösterir. - ETag değerleri aynıysa veya If-Match üst bilgisi joker karakter ()
*
içeriyorsa, API istenen işlemi gerçekleştirir. API işlemi ayrıca varlığın depolanan ETag değerini de güncelleştirir.
- ETag değerleri farklıysa, API bir
Not
If-Match üst bilgisinde joker karakter (*) belirtilmesi, Son bir kazanan eşzamanlılık stratejisini kullanarak API'de sonuçlanır. Bu durumda, ETag karşılaştırması gerçekleşmez ve kaynak herhangi bir denetim olmadan güncelleştirilir.