如何使通过Java AWS开发工具包从Cloudfront CDN提供的文件(要刷新)无效? [英] How to invalidate a file(to be refreshed) served from Cloudfront CDN via Java AWS SDK?

查看:138
本文介绍了如何使通过Java AWS开发工具包从Cloudfront CDN提供的文件(要刷新)无效?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Java SDK将图像上传到S3,如何使CloudFront中的文件无效,以便从s3来源重新获取该文件。

I am using Java SDK to uploaded images to S3, How do I invalidate a file in CloudFront so that it is refetched from s3 origin. How to do it via Java SDK ?

推荐答案

import com.amazonaws.services.cloudfront;
import com.amazonaws.services.cloudfront.model.CreateInvalidationRequest;
import com.amazonaws.services.cloudfront.model.Paths;
import com.amazonaws.services.cloudfront.model.InvalidationBatch;
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;

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);

请注意,您只能同时出现三个无效指令;失效似乎需要10到30分钟。

Note you can only have three concurrent invalidations; an invalidation seems to take 10-30 minutes.

这篇关于如何使通过Java AWS开发工具包从Cloudfront CDN提供的文件(要刷新)无效?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆