Azure functions 如何使用java在Cosmos DB中设置重试策略?

Azure functions 如何使用java在Cosmos DB中设置重试策略?,azure-functions,azure-cosmosdb,azure-java-sdk,Azure Functions,Azure Cosmosdb,Azure Java Sdk,如何使用java设置将记录推送到cosmosDB的重试策略 如果第一次推送记录失败,我想重试推送记录。我想在间隔2秒后重试推送5次 如何在java中进行这样的更改我阅读了java中的ConnectionPolicy,但无法理解它如何满足我的需求 参考链接: 代码: 您可以使用方法并使用as5和as10创建的实例(2秒x 5次重试尝试).你能不能再看一次上面的问题代码?在这里,我们设置了10,如何知道它必须等待2秒,然后重试?我找不到RetryOptions的源代码,但我在这里找到了Resourc

如何使用java设置将记录推送到cosmosDB的重试策略

如果第一次推送记录失败,我想重试推送记录。我想在间隔2秒后重试推送5次

如何在java中进行这样的更改我阅读了java中的ConnectionPolicy,但无法理解它如何满足我的需求

参考链接:

代码:


您可以使用方法并使用as
5
和as
10
创建的实例(2秒x 5次重试尝试).

你能不能再看一次上面的问题代码?在这里,我们设置了10,如何知道它必须等待2秒,然后重试?我找不到
RetryOptions
的源代码,但我在这里找到了
ResourceThrottleRetryPolicy
的代码:。这应该会让您了解如何在SDK中实现重试。确定没有确切了解他们在做什么,但是如果我将setMaxRetryWaitTimeInSeconds设置为10,那么每隔2秒重试一次?如果5次尝试后无法推送记录,是否返回任何错误代码?documentClient.createDocument(collectionLink,document,null,false)像这样我正在创建文档它尝试推送记录并执行所有重试它会返回任何代码以便我们可以比较记录发送成功吗?大约200个状态码,因此并非所有的错误码都是可重试的。在这种情况下,只有在出现节流错误(429状态代码)时,才会重试该操作。还需要注意的是,响应中出现了header,它告诉您应该在多长时间后重试操作(x-ms-retry-after-ms)。此外,您可以从这里下载SDK的源代码:(1.8.0)并确切了解它是如何实现的。
retryOptions = new RetryOptions();
retryOptions.setMaxRetryAttemptsOnThrottledRequests(5);
retryOptions.setMaxRetryWaitTimeInSeconds(10);
connectionPolicy = new ConnectionPolicy();
connectionPolicy.setRetryOptions(retryOptions);
documentClient = new DocumentClient(END_POINT,
                MASTER_KEY, connectionPolicy,
                ConsistencyLevel.Session);