使Cloudfront缓存无效

时间:2018-08-24 09:46:06

标签: amazon-web-services aws-lambda amazon-cloudfront aws-codepipeline

我想在代码管道的最后构建步骤中使cloudfront缓存无效。 我创建了lambda函数(节点):

exports.handler = (event, context, callback) => {
const aws = require('aws-sdk'),
cloudfront = new aws.CloudFront({apiVersion: '2018-06-18'}),
codepipeline = new aws.CodePipeline(),
jobId = event["CodePipeline.job"].id,
paramsCloudFront = {
  DistributionId: 'distr_id',
  InvalidationBatch: {
    CallerReference: `Date.now()`,
    Paths: {
      Quantity: 1,
      Items: ['/*',]
    }
  }
},
putJobSuccess = function(message) {
    var params = {
        jobId: jobId
    };
    codepipeline.putJobSuccessResult(params, (err, data) => {
        if(err) {
            context.fail(err);      
        } else {
            context.succeed(message);      
        }
    });
},
putJobFailure = function(message) {
    var params = {
        jobId: jobId,
        failureDetails: {
            message: JSON.stringify(message),
            type: 'JobFailed',
            externalExecutionId: context.invokeid
        }
    };
    codepipeline.putJobFailureResult(params, (err, data) => {
        context.fail(message);      
    });
}


cloudfront.createInvalidation(paramsCloudFront, (err, data) => {
  if (err) {
    putJobFailure(err)
  } else {
    putJobSuccess(data)
  }
});

};

Codepipeline报告阶段已成功完成,但是在Cloudfront中没有创建任何无效操作。 cloudwatch中没有错误。 在IAM中,我完全访问了lambda和codepipeline的cloudfront。 什么是w?

0 个答案:

没有答案