如何使通过Java AWS SDK从Cloudfront CDN提供的文件无效(要刷新)?

Raj*_*pta 4 java amazon-web-services amazon-cloudfront

我正在使用Java SDK将图像上传到S3,如何使CloudFront中的文件无效,以便从s3源重新获取它.如何通过Java SDK实现?

ted*_*r42 9

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);
Run Code Online (Sandbox Code Playgroud)

请注意,您只能有三个并发失效; 失效似乎需要10-30分钟.