Я хочу сделать кэш облачного фронта недействительным как последний шаг сборки в коде.
Я создал лямбда-функцию (узел):
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 прошла успешно, но в облачной среде недействительность не создается. Нет ошибок в cloudwatch.
В IAM я дал полный доступ к облачному фронту как лямбде, так и к кодовой линии.
Что такое wrogn?