我想在代码管道的最后构建步骤中使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?