Repetibilidade de solicitações

Aplica-se a: ACS Email (API de Envio Email), Salas do ACS

AS APIs POST não são idempotentes por definição. Para que eles se comportem de maneira idempotente, damos suporte a solicitações repetíveis de acordo com a especificação OASIS Repeatable Requests Versão 1.0 . Para dar suporte a isso, os clientes precisam especificar dois cabeçalhos obrigatórios em sua solicitação POST:

  • Repeatability-Request-Id
  • Capacidade de repetição-enviada pela primeira vez

Cabeçalho Repeatability-Request-Id

O valor desse cabeçalho identifica a solicitação exclusivamente com um GUID.

Cabeçalho Repeatability-First-Sent

O valor desse cabeçalho representa o carimbo de data/hora quando a solicitação original foi enviada pela primeira vez. O valor deve ser especificado em UTC no formato de correção do FMI. Controlamos apenas as solicitações por uma duração especificada (atualmente, a duração rastreada é de 5 minutos). Todas as solicitações com um valor enviado pela primeira vez antes disso são consideradas potencialmente inseguras para executar novamente e retornarão um erro 412 (falha na pré-condição).

Repetibilidade em SDKs do ACS

Os cabeçalhos de repetibilidade são gerados, adicionados e enviados automaticamente à API ao usar qualquer uma de nossas bibliotecas do SDK do ACS.

Códigos de resposta de solicitação repetíveis

Informações detalhadas sobre vários códigos de status para solicitações repetíveis estão incluídas na tabela abaixo.

Repeatability-Request-ID Capacidade de repetição-enviada pela primeira vez Resultado da repetição Código de status de resposta
GUID válido Formato inválido Rejeitado 400
Formato inválido Data válida Rejeitado 400
Formato inválido Formato inválido Rejeitado 400
Válido Duração do acompanhamento externo Rejeitado 412 (falha na pré-condição)
Solicitação nova/não registrada válida Dentro da duração do acompanhamento Aceito Código de status da execução normal
Solicitação repetida válida Dentro da duração do rastreamento, mas não corresponde à solicitação anterior Rejeitado 400
Solicitação repetida válida Dentro da duração do rastreamento, corresponde à solicitação anterior Aceito Na API de envio de Email:
- Se a solicitação original ainda estiver em andamento: 409
- Se o código status da solicitação original for 2xx ou 4xx, retorne esse código status.
- Se o código status da solicitação original for 5xx, retorne status código da re-execução da solicitação.

Solução de problemas

Se você enviou uma solicitação com um primeiro carimbo de data/hora enviado que está dentro dos últimos 5 minutos, mas ainda recebe um erro 412 (falha na pré-condição) com a mensagem "A repetição do cabeçalho enviado pela primeira vez não estava na janela de 5 minutos". Em seguida, certifique-se de marcar que o relógio do computador cliente está sincronizado com o servidor de horário.

Consulte Também

Para obter informações adicionais sobre Serviços de Comunicação do Azure, você também pode examinar nossas outras fontes de documentação: