J'ai interagi avec Amazon S3 via S3Fox et je ne peux pas supprimer mes seaux. Je sélectionne un seau, appuie sur supprimer, confirme la suppression dans une fenêtre contextuelle et... rien ne se passe. Y a-t-il un autre outil que je devrais utiliser ?
Réponses
Trop de publicités?Il est enfin possible de supprimer tous les fichiers en une seule fois en utilisant la nouvelle fonction de règles de cycle de vie (expiration). Vous pouvez même le faire depuis la console AWS.
Il suffit de cliquer avec le bouton droit sur le nom du compartiment dans la console AWS, sélectionnez "Propriétés" puis dans la ligne des onglets en bas de la page sélectionnez "cycle de vie" et "ajouter une règle". Créez une règle de cycle de vie avec le champ "Préfixe" laissé vide (vide signifie tous les fichiers dans le compartiment, ou vous pourriez le définir sur "a" pour supprimer tous les fichiers dont les noms commencent par "a"). Définissez le champ "Jours" sur "1". C'est tout. Fait. En supposant que les fichiers aient plus d'un jour, ils devraient tous être supprimés, ensuite vous pouvez supprimer le compartiment.
Je viens juste d'essayer ceci pour la première fois alors j'attends toujours de voir à quelle vitesse les fichiers sont supprimés (ce n'était pas instantané mais cela devrait théoriquement se produire dans les 24 heures) et si je vais être facturé pour une commande de suppression ou pour 50 millions de commandes de suppression... croisons les doigts !
N'oubliez pas que les seaux S3 doivent être vides avant de pouvoir être supprimés. La bonne nouvelle est que la plupart des outils tiers automatisent ce processus. Si vous rencontrez des problèmes avec S3Fox, je recommande d'essayer S3FM pour une interface graphique ou S3Sync pour la ligne de commande. Amazon a un excellent article décrivant comment utiliser S3Sync. Après avoir configuré vos variables, la commande clé est
./s3cmd.rb deleteall
Supprimer des seaux avec beaucoup de fichiers individuels a tendance à faire planter beaucoup d'outils S3 car ils essaient d'afficher une liste de tous les fichiers dans le répertoire. Vous devez trouver un moyen de supprimer par lots. Le meilleur outil graphique que j'ai trouvé à cette fin est Bucket Explorer. Il supprime les fichiers dans un seau S3 par tranches de 1000 fichiers et ne plante pas lors de l'ouverture de grands seaux comme s3Fox et S3FM.
J'ai également trouvé quelques scripts que vous pouvez utiliser à cette fin. Je n'ai pas encore essayé ces scripts mais ils semblent assez simples.
RUBY
require 'aws/s3'
AWS::S3::Base.establish_connection!(
:access_key_id => 'votre clé d'accès',
:secret_access_key => 'votre clé secrète'
)
seau = AWS::S3::Bucket.find('le nom du seau')
while(!seau.empty?)
begin
puts "Suppression des objets dans le seau"
seau.objects.each do |object|
object.delete
puts "Il reste #{seau.objects.size} objets dans le seau"
end
puts "Objets supprimés"
rescue SocketError
puts "Erreur de socket"
end
end
PERL
#!/usr/bin/perl
use Net::Amazon::S3;
my $aws_access_key_id = 'votre clé d'accès';
my $aws_secret_access_key = 'votre clé d'accès secrète';
my $increment = 50; # 50 à la fois
my $nom_seau = 'nom_du_seau';
my $s3 = Net::Amazon::S3->new({aws_access_key_id => $aws_access_key_id, aws_secret_access_key => $aws_secret_access_key, retry => 1, });
my $seau = $s3->bucket($nom_seau);
print "Suppression progressive du contenu de $nom_seau\n";
my $supprime = 1;
my $total_supprime = 0;
while ($supprime > 0) {
print "Chargement jusqu'à $increment clés...\n";
$response = $seau->list({'max-keys' => $increment, }) or die $s3->err . ": " . $s3->errstr . "\n";
$supprime = scalar(@{ $response->{keys} }) ;
$total_supprime += $supprime;
print "Suppression de $supprime clés($total_supprime au total)...\n";
foreach my $key ( @{ $response->{keys} } ) {
my $nom_cle = $key->{key};
$seau->delete_key($key->{key}) or die $s3->err . ": " . $s3->errstr . "\n";
}
}
print "Suppression du seau...\n";
$seau->delete_bucket or die $s3->err . ": " . $s3->errstr;
print "Terminé.\n";
SOURCE: Tarkblog
J'espère que cela vous aidera!
SpaceBlock facilite également la suppression des buckets s3 - cliquez avec le bouton droit sur le bucket, supprimez, attendez que le travail se termine dans la vue des transferts, c'est tout.
C'est le frontend Windows s3 gratuit et open source que je maintiens, donc avertissement de plug sans vergogne, etc.
- Réponses précédentes
- Plus de réponses