Delen via


Gelijktijdigheid beheren

Notitie

De Cloud Partner Portal-API's zijn geïntegreerd met en blijven werken in partnercentrum. De overgang introduceert kleine wijzigingen. Bekijk de wijzigingen die worden vermeld in de API-naslaginformatie voor de Cloud Partner-portal om ervoor te zorgen dat uw code blijft werken na de overgang naar Het Partnercentrum. CPP-API's mogen alleen worden gebruikt voor bestaande producten die al vóór de overgang naar partnercentrum zijn geïntegreerd; nieuwe producten moeten gebruikmaken van api's voor het indienen van partnercentrums.

Elke aanroep van de Cloud Partner Portal-publicatie-API's moet expliciet opgeven welke gelijktijdigheidsbeheerstrategie moet worden gebruikt. Fout bij het opgeven van de If-Match-header resulteert in een HTTP 400-foutantwoord. We bieden twee strategieën voor gelijktijdigheidsbeheer.

  • Optimistisch : de client die de update uitvoert, controleert of de gegevens zijn gewijzigd sinds de laatste leesbewerking van de gegevens.
  • Laatste wint : de client werkt de gegevens rechtstreeks bij, ongeacht of een andere toepassing deze heeft gewijzigd sinds de laatste leestijd.

Optimistische gelijktijdigheidswerkstroom

We raden u aan de optimistische gelijktijdigheidsstrategie te gebruiken, met de volgende werkstroom, om ervoor te zorgen dat er geen onverwachte wijzigingen worden aangebracht in uw resources.

  1. Een entiteit ophalen met behulp van de API's. Het antwoord bevat een ETag-waarde die de momenteel opgeslagen versie van de entiteit identificeert (op het moment van het antwoord).
  2. Neem op het moment van de update dezelfde ETag-waarde op in de verplichte If-Match-aanvraagheader .
  3. De API vergelijkt de ETag-waarde die in de aanvraag is ontvangen met de huidige ETag-waarde van de entiteit in een atomische transactie.
    • Als de ETag-waarden verschillen, retourneert de API een 412 Precondition Failed HTTP-antwoord. Deze fout geeft aan dat een ander proces de entiteit heeft bijgewerkt sinds de client deze voor het laatst heeft opgehaald of dat de ETag-waarde die is opgegeven in de aanvraag onjuist is.
    • Als de ETag-waarden hetzelfde zijn of als de If-Match-header het jokerteken sterretje (*) bevat, voert de API de aangevraagde bewerking uit. De API-bewerking werkt ook de opgeslagen ETag-waarde van de entiteit bij.

Notitie

Als u het jokerteken (*) opgeeft in de header If-Match , resulteert dit in de API met behulp van de gelijktijdigheidsstrategie last-one-wins. In dit geval wordt de ETag-vergelijking niet uitgevoerd en wordt de resource bijgewerkt zonder controles.