Comment puis-je supprimer un dossier sur s3 avec node.js?
Oui, je sais. Il n'y a pas de dossier sur la notion de stockage s3. mais j'ai vraiment envie de supprimer un dossier spécifique à partir de s3 avec node.js. J'ai essayé les deux solutions, mais les deux n'ont pas de travail.
Mon code est ci-dessous:
Solution 1:
Suppression d'un dossier directement.
var key='level/folder1/folder2/';
var strReturn;
var params = {Bucket: MyBucket};
var s3 = new AWS.S3(params);
s3.client.listObjects({
Bucket: MyBucket,
Key: key
}, function (err, data) {
if(err){
strReturn="{\"status\":\"1\"}";
}else{
strReturn=+"{\"status\":\"0\"}";
}
res.send(returnJson);
console.log('error:'+err+' data:'+JSON.stringify(data));
});
En fait, j'ai beaucoup de fichiers sous dossier2. Je peux aussi supprimer le fichier à partir de folder2 si je définir clés comme ceci:
var key='level/folder1/folder2/file1.txt" mais il ne fonctionne pas quand j'ai supprimé un dossier(key='niveau/dossier1/dossier2/').
Solution 2:
J'ai essayé de régler la date d'expiration d'un objet lorsque j'ai téléchargé ce fichier ou un dossier à s3. le code est ci-dessous:
s3.client.putObject({
Bucket: Camera_Bucket,
Key: key,
ACL:'public-read',
Expires: 60
}
Mais il n'a pas non plus. Après avoir terminé le téléchargement, j'ai vérifié les propriétés de ce fichier. il a montré il n'y avait rien de valeur pour la date de péremption:
Expiry Date:none
Expiration Rule:N/A
Comment puis-je supprimer le dossier sur s3 avec node.js?
source d'informationauteur user3034559
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser aws sdk module de suppression de dossier. Cause vous pouvez supprimer un dossier quand il est vide, vous devez supprimer les fichiers. Je suis en train de faire comme ça.
Ici est une mise en œuvre dans l'ES7 avec un
async
la fonction et l'utilisation delistObjectsV2
(la version révisée de la Liste des Objets de l'API):L'appeler: