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.
- 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).
- Neem op het moment van de update dezelfde ETag-waarde op in de verplichte If-Match-aanvraagheader .
- 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.
- Als de ETag-waarden verschillen, retourneert de API een
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.