如何在 AmazonS3EncryptionClient 中配置重试



我想创建和使用 AmazonS3EncryptionClient 来存储和检索从 S3 在客户端加密的对象,但是根据 AWS 文档,用于创建具有手动配置重试的此类对象的 API 已弃用

现在建议使用 AmazonS3EncryptionClientBuilder 来构建AmazonS3EncryptionClient。但是,构建器文档没有提供任何用于添加具有重试策略的客户端配置的 API...它只有加密配置,似乎不支持重试配置。

有什么方法可以在客户端本身的 S3 上设置重试策略,还是需要在代码库中手动实现它?

你可以通过使用类似的东西来实现这一点

//Step 1: Create a clientBuilder first
AmazonS3EncryptionClientBuilder builder = AmazonS3EncryptionClientBuilder.standard()
        .withEncryptionMaterials(new StaticEncryptionMaterialsProvider(encryptionMaterials))
        .withCredentials(new ProfileCredentialsProvider());
//Step 2: Create your custom client configuration for retry policy
    ClientConfiguration clientConfiguration = new ClientConfiguration();
    //clientConfiguration.setMaxErrorRetry(10);
    clientConfiguration.setRetryPolicy(new RetryPolicy(RetryPolicy.RetryCondition.NO_RETRY_CONDITION,
        RetryPolicy.BackoffStrategy.NO_DELAY, 10, true));
//Step3: set client Configuration in builder
    builder.setClientConfiguration(clientConfiguration);
//Step 4: build AWSEncryptionClient
    AmazonS3Encryption client = builder.build();

我想知道可能有一种更简单(更简单(的方法可以做到这一点。但它应该解决你的问题,我已经用过了。

AWS

文档并不总是更新,详细介绍是否支持提供的所有内容而无需在 AWS 控制台中进行任何更改有点痛苦。

我希望它有所帮助。干杯!!

最新更新