Aracılığıyla paylaş


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.

  1. 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.
  2. Güncelleştirme sırasında, zorunlu If-Match istek üst bilgisine aynı ETag değerini ekleyin.
  3. 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.

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.