Compartilhar via


Controle de simultaneidade

Nota

As APIs do Portal do Cloud Partner são integradas e continuarão trabalhando no Partner Center. A transição apresenta pequenas alterações. Examine as alterações listadas no de Referência da API do Portal do Cloud Partner para garantir que seu código continue funcionando após a transição para o Partner Center. As APIs do CPP só devem ser usadas para produtos existentes que já estavam integrados antes da transição para o Partner Center; Novos produtos devem usar APIs de envio do Partner Center.

Cada chamada para as APIs de publicação do Portal do Cloud Partner deve especificar explicitamente qual estratégia de controle de simultaneidade usar. A falha ao fornecer o cabeçalho If-Match resultará em uma resposta de erro HTTP 400. Oferecemos duas estratégias para controle de simultaneidade.

  • otimista – o cliente que executa a atualização verifica se os dados foram alterados desde a última leitura dos dados.
  • Último ganha – o cliente atualiza diretamente os dados, independentemente de outro aplicativo ter modificado desde o último tempo de leitura.

Fluxo de trabalho de simultaneidade otimista

É recomendável usar a estratégia de simultaneidade otimista, com o fluxo de trabalho a seguir, para garantir que não sejam feitas edições inesperadas em seus recursos.

  1. Recupere uma entidade usando as APIs. A resposta inclui um valor ETag que identifica a versão armazenada atualmente da entidade (no momento da resposta).
  2. No momento da atualização, inclua esse mesmo valor de ETag no cabeçalho de solicitação obrigatório.
  3. A API compara o valor ETag recebido na solicitação com o valor ETag atual da entidade em uma transação atômica.
    • Se os valores ETag forem diferentes, a API retornará uma resposta HTTP 412 Precondition Failed. Esse erro indica que outro processo atualizou a entidade desde a última vez que o cliente a recuperou ou que o valor ETag especificado na solicitação está incorreto.
    • Se os valores ETag forem iguais ou se o cabeçalho If-Match contiver o caractere de asterisco curinga (*), a API executará a operação solicitada. A operação de API também atualiza o valor de ETag armazenado da entidade.

Nota

Especificar o caractere curinga (*) no cabeçalho If-Match resulta na API usando a estratégia de simultaneidade Last-one-wins. Nesse caso, a comparação de ETag não ocorre e o recurso é atualizado sem nenhuma verificação.