Control de simultaneidad
Nota
Las API de Cloud Partner Portal se integran con y seguirán trabajando en el Centro de partners. La transición introduce pequeños cambios. Revise los cambios enumerados en Referencia de la API de Cloud Partner Portal para asegurarse de que el código sigue funcionando después de la transición al Centro de partners. Las API de CPP solo deben usarse para los productos existentes que ya estaban integrados antes de la transición al Centro de partners; los nuevos productos deben usar las API de envío del Centro de partners.
Todas las llamadas a las API de publicación de Cloud Partner Portal deben especificar explícitamente qué estrategia de control de simultaneidad se va a usar. Si no se proporciona la encabezado If-Match, se producirá una respuesta de error HTTP 400. Ofrecemos dos estrategias para el control de simultaneidad.
- optimista: el cliente que realiza la actualización comprueba si los datos han cambiado desde que leyó los datos por última vez.
- Último gana: el cliente actualiza directamente los datos, independientemente de si otra aplicación la ha modificado desde la última hora de lectura.
Flujo de trabajo de simultaneidad optimista
Se recomienda usar la estrategia de simultaneidad optimista, con el siguiente flujo de trabajo, para garantizar que no se realicen modificaciones inesperadas en los recursos.
- Recupere una entidad mediante las API. La respuesta incluye un valor ETag que identifica la versión almacenada actualmente de la entidad (en el momento de la respuesta).
- En el momento de la actualización, incluya este mismo valor ETag en el encabezado de solicitud If-Match obligatorio.
- La API compara el valor ETag recibido en la solicitud con el valor ETag actual de la entidad en una transacción atómica.
- Si los valores de ETag son diferentes, la API devuelve un
412 Precondition Failed
respuesta HTTP. Este error indica que otro proceso ha actualizado la entidad desde que el cliente la recuperó por última vez o que el valor de ETag especificado en la solicitud es incorrecto. - Si los valores de ETag son los mismos, o el encabezado If-Match contiene el carácter de asterisco comodín (
*
), la API realiza la operación solicitada. La operación de API también actualiza el valor ETag almacenado de la entidad.
- Si los valores de ETag son diferentes, la API devuelve un
Nota
Al especificar el carácter comodín (*) en la encabezado If-Match, la API usa la estrategia de simultaneidad Last-one-wins. En este caso, la comparación de ETag no se produce y el recurso se actualiza sin ninguna comprobación.