gpt4 book ai didi

java - 如何使用 Java SDK 使 Cloudfront 中的缓存失效

转载 作者:行者123 更新时间:2023-12-05 08:12:44 28 4
gpt4 key购买 nike

我正在尝试使用 JAVA SDK 使 AWS 云端的缓存失效,但我发现查找相关信息是一场噩梦。我已经创建了该项目,并且正在尝试弄清楚如何使用 com.amazonaws.services.cloudfront.AmazonCloudFrontClient 连接到云端并调用无效 api。

com.amazonaws.services.cloudfront.AmazonCloudFrontClient

我在 2016 年找到了一个类似于我的问题的答案,该答案推荐以下方法:

    AWSCredentials awsCredentials = new DefaultAWSCredentialsProviderChain().getCredentials();
AmazonCloudFrontClient client = new AmazonCloudFrontClient(awsCredentials);

Paths invalidation_paths = new Paths().withItems("/path/to/invalidate/foo.jpg", "/path/file2.txt").withQuantity(2);
InvalidationBatch invalidation_batch = new InvalidationBatch(invalidation_paths, "unique_id_like_a_date");
CreateInvalidationRequest invalidation = new CreateInvalidationRequest("distributionID", invalidation_batch);
CreateInvalidationResult ret = client.createInvalidation(invalidation);

但是,其中一些类现在已被弃用和/或不再存在。

有人可以帮助提供通过 JAVA 在 Cloudfront 中调用失效 API 的正确方法吗?

最佳答案

我使用 AWS Java SDK 2.x 成功地使某些路径的缓存无效:

        Paths invalidationPaths = Paths.builder()
.items("/thing.txt", "/foo/bar/*")
.quantity(2)
.build();

InvalidationBatch invalidationBatch = InvalidationBatch.builder()
.paths(invalidationPaths)
.callerReference("arcones")
.build();

CreateInvalidationRequest createInvalidationRequest = CreateInvalidationRequest.builder()
.distributionId(distributionID)
.invalidationBatch(invalidationBatch)
.build();

cloudFront.createInvalidation(createInvalidationRequest);

请记住,失效是异步的,因此当您运行它时它将被发布到您的 CloudFront 分配,并且需要一段时间来处理(您会注意到当状态变为 Completed 时失效已经完成)。

关于java - 如何使用 Java SDK 使 Cloudfront 中的缓存失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55616333/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com