如何确保幂等性工作

学习如何确保通过砖REST API不重复的提交工作如果有请求超时后重试。

写的亚当Pavlacka

去年发表在:2022年5月11日

当你提交工作通过砖工作REST API,幂等性是没有保证的。如果客户机请求超时和客户重新提交相同的请求,你可能最终得到重复的工作运行。

确保工作幂等性当你提交工作通过API,您可以使用一个幂等性标记来定义一个独特的价值为一个特定的工作运行。如果同样的工作必须重审此案,因为客户没有收到回复,由于网络错误,客户端可以使用相同的幂等性令牌重新工作,确保重复工作运行不触发。

这里是一个REST API的示例JSON负载的运行提交API使用idempotency_token123年的价值:

{“run_name”:“我的火星任务”,“new_cluster”: {“spark_version”:“5.5.x-scala2.11”、“node_type_id”:“r5。超大”、“aws_attributes”:{“可用性”:“ON_DEMAND”},“num_workers”: 10},“库”:[{“罐子”:“dbfs: /我罐里。jar”}, {maven:{“坐标”:“org.jsoup: jsoup: 1.7.2”}}],“spark_jar_task”: {“main_class_name”:“com.databricks。ComputeModels“}”, idempotency_token ": " 123 "}

所有请求相同的幂等性令牌应该返回200运行相同的ID。

这篇文章有用吗?