Node.js 如何使NodeJS中S3上的特定文件夹的cloudfrontcahce无效?
我想使节点js中s3存储桶中的一个文件夹(及其子文件夹)无效。 这是我目前使用的脚本:Node.js 如何使NodeJS中S3上的特定文件夹的cloudfrontcahce无效?,node.js,amazon-s3,aws-sdk,amazon-cloudfront,cache-invalidation,Node.js,Amazon S3,Aws Sdk,Amazon Cloudfront,Cache Invalidation,我想使节点js中s3存储桶中的一个文件夹(及其子文件夹)无效。 这是我目前使用的脚本: var clearCloudfrontCache = function() { console.log("clearCloudfrontCache function started"); var cloudfront = new AWS.CloudFront(); var currentTimeStamp = new Date().getTime(); va
var clearCloudfrontCache = function() {
console.log("clearCloudfrontCache function started");
var cloudfront = new AWS.CloudFront();
var currentTimeStamp = new Date().getTime();
var params = {
DistributionId: distribution_ID,
InvalidationBatch: {
CallerReference: currentTimeStamp.toString(),
Paths: {
Quantity: NumberOfFiles,
Items: FormerFiles
}
}
};
cloudfront.createInvalidation(params, function(err, data) {
if (err) {
console.log("Error came while cloudfront cache removal",err);
}
else {
console.log("Cloudfront cache removed",data);
}
});
这就是我得到的答案:
Error came while cloudfront cache removal InvalidArgument: Your request contains one or more invalid invalidation paths.
at Request.extractError (/app/node_modules/aws-sdk/lib/protocol/rest_xml.js:53:29)
at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
at Request.emit (/app/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
at Request.emit (/app/node_modules/aws-sdk/lib/request.js:688:14)
at Request.transition (/app/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/app/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /app/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/app/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/app/node_modules/aws-sdk/lib/request.js:690:12)
at Request.callListeners (/app/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
cloudfront缓存删除无效参数时出错:您的请求包含一个或多个无效无效路径。
at Request.extractError(/app/node_modules/aws sdk/lib/protocol/rest_xml.js:53:29)
at Request.callListeners(/app/node_modules/aws sdk/lib/sequential_executor.js:106:20)
at Request.emit(/app/node_modules/aws sdk/lib/sequential_executor.js:78:10)
at Request.emit(/app/node_modules/aws sdk/lib/Request.js:688:14)
at Request.transition(/app/node_modules/aws sdk/lib/Request.js:22:10)
在AcceptorStateMachine.runTo(/app/node_modules/aws sdk/lib/state_machine.js:14:12)
at/app/node_modules/aws sdk/lib/state_machine.js:26:10
应要求。(/app/node_modules/aws sdk/lib/request.js:38:9)
应要求。(/app/node_modules/aws sdk/lib/request.js:690:12)
at Request.callListeners(/app/node_modules/aws sdk/lib/sequential_executor.js:116:18)
您要传递的文件的值是多少?您可能需要在它前面加一个/
@BaluVyamajala,它是一个文件夹路径,如“/testfolder/*”