Comment supprimer Vault (AWS Glacier)
Ce Gist donne quelques conseils pour supprimer AWS Glacier Vault
avec AWS CLI (c'est-à-dire https://aws.amazon.com/en/cli/ ).
Étape 1 / Retrouver l'inventaire
$ aws glacier initiate-job --job-parameters "{\"Type\": \"inventory-retrieval\"}" --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
Attendez 3/5 heures… :-(
Pour la nouvelle étape, vous devez obtenir le JobId
. Une fois l'inventaire retrive terminé, vous pouvez l'obtenir avec la commande suivante:aws glacier list-jobs --vault-name YOUR_VAULT_NAME --region YOUR_REGION
Étape 2 / Obtenez les archivesIds
$ aws glacier get-job-output --job-id YOUR_JOB_ID --vault-name YOUR_VAULT_NAME --region YOUR_REGION ./output.json
Voir. Téléchargement d'un inventaire Vault dans Amazon Glacier
Vous pouvez obtenir tout le ArchiveId
contenu du ./output.json
fichier.
Étape 3 / Supprimer les archives
Powershell
de @vinyar
$input_file_name = 'output.json'
$vault_name = 'my_vault'
# $account_id = 'AFDKFKEKF9EKALD' #not used. using - instead
$a = ConvertFrom-Json $(get-content $input_file_name)
$a.ArchiveList.archiveid | %{
write "executing: aws glacier delete-archive --archive-id=$_ --vault-name $vault_name --account-id -"
aws glacier delete-archive --archive-id=$_ --vault-name $vault_name --account-id - }
Python
de @robweber
ijson , qui lit le fichier en tant que flux à la place. Vous pouvez l'installer avec pip
import ijson, subprocess
input_file_name = 'output.json'
vault_name = ''
account_id = ''
f = open(input_file_name)
archive_list = ijson.items(f,'ArchiveList.item')
for archive in archive_list:
print("Deleting archive " + archive['ArchiveId'])
command = "aws glacier delete-archive --archive-id='" + archive['ArchiveId'] + "' --vault-name " + vault_name + " --acc$
subprocess.run(command, shell=True, check=True)
f.close()
PHP
de @Remiii
<?php
$file = './output.json' ;
$accountId = 'YOUR_ACCOUNT_ID' ;
$region = 'YOUR_REGION' ;
$vaultName = 'YOUR_VAULT_NAME' ;
$string = file_get_contents ( $file ) ;
$json = json_decode($string, true ) ;
foreach ( $json [ 'ArchiveList' ] as $jsonArchives )
{
echo 'Delete Archive: ' . $jsonArchives [ 'ArchiveId' ] . "\n" ;
exec ( 'aws glacier delete-archive --archive-id="' . $jsonArchives [ 'ArchiveId' ] . '" --vault-name ' . $vaultName . ' --account-id ' . $accountId . ' --region ' . $region , $output ) ;
echo $output ;
}
Marque: Après avoir supprimé une archive, si vous téléchargez immédiatement l'inventaire du coffre-fort, il peut inclure l'archive supprimée dans la liste car Amazon Glacier ne prépare l'inventaire du coffre-fort qu'une fois par jour environ.
Voir. Suppression d'une archive dans Amazon Glacier
Étape 4 / Supprimer un coffre-fort
$ aws glacier delete-vault --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
Gist à l'origine par @Remiii
Ok donc il y a quelques années, j'ai fermé mon compte et je l'ai rouvert il y a quelques mois et devinez quoi amazon a encore mes 3 To sur mon compte et maintenant je les ai facturés pour les derniers mois.
Je suis donc revenu à cette question et j'ai constaté que:
- mt-aws-glacier est presque impossible à installer sur le dernier ubuntu puis est passé au 12.04 awscli n'est pas là, puis quand au 14.04 j'ai eu une erreur sur ma signature ...
- La réponse Arq n'est plus pertinente dans Arq 5
- Ensuite, j'ai trouvé l' essentiel ci - dessus et l' ai copié ici parce que c'est mieux pour la communauté
- Cloudberry essayé et il semble que cela devrait fonctionner, je mettrai à jour ici dans 4 ~ 10 heures