你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

请求的可重复性

适用于:ACS Email (Email 发送 API) 、ACS 会议室

根据定义,POST API 不是幂等的。 为了使它们以幂等方式运行,我们根据 OASIS 可重复请求版本 1.0 规范支持可重复请求 。 为了支持这一点,客户需要在 POST 请求中指定两个必需的标头:

  • Repeatability-Request-Id
  • Repeatability-First-Sent

Repeatability-Request-Id 标头

此标头的值使用 GUID 唯一标识请求。

Repeatability-First-Sent 标头

此标头的值表示首次发送原始请求时的时间戳。 该值应以 UTC 格式以 IMF 固定日期格式指定。 目前,我们只跟踪指定持续时间的请求 (,跟踪的持续时间为 5 分钟) 。 任何具有第一个发送值之前被视为可能不安全的请求重新执行,并将返回 412 (先决条件失败) 错误。

ACS SDK 中的可重复性

使用任何 ACS SDK 库时,自动生成、添加和发送到 API 的可重复性标头。

可重复的请求响应代码

下表包含有关可重复请求的各种状态代码的详细信息。

Repeatability-Request-ID Repeatability-First-Sent 可重复性结果 响应状态代码
有效的 GUID 格式无效 已拒绝 400
格式无效 有效日期 已拒绝 400
格式无效 格式无效 已拒绝 400
有效 外部跟踪持续时间 已拒绝 412 (前置条件失败)
有效的新建/未更新请求 在跟踪持续时间内 已接受 正常执行的状态代码
有效的重复请求 在跟踪持续时间内,但与以前的请求不匹配 已拒绝 400
有效的重复请求 在跟踪持续时间内, 匹配上一个请求 已接受 在 Email 发送 API 中:
- 如果原始请求仍在进行中:409
- 如果原始请求的状态代码为 2xx 或 4xx,则返回该状态代码。
- 如果原始请求的状态代码为 5xx,则从重新执行请求时返回状态代码。

故障排除

如果发送的请求的第一个发送时间戳在最近 5 分钟内,但仍收到“412 (前置条件失败”) 错误消息,并显示“可重复性第一次发送标头不在 5 分钟时段内”。,请确保检查客户端计算机的时钟已同步到时间服务器。

另请参阅

有关Azure 通信服务的其他信息,还可以查看我们的其他文档源:

  • Azure 通信服务产品概述 - 通信服务产品概述。
  • Azure 通信服务概念文档 - 通信服务概念文档,本文档将提供有关如何使用通信服务的其他信息,包括如何使用其可用 SDK。
  • Email发送 API - 电子邮件发送Azure 通信服务,本文档将提供有关通过 Azure 通信服务 发送电子邮件的 API 的其他信息。