Come eliminare Vault (AWS Glacier)
Questa panoramica fornisce alcuni suggerimenti per la rimozione AWS Glacier Vault
con l'interfaccia della riga di comando di AWS (es. Https://aws.amazon.com/en/cli/ ).
Passaggio 1 / Ritirare l'inventario
$ aws glacier initiate-job --job-parameters "{\"Type\": \"inventory-retrieval\"}" --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
Attendere durante 3/5 ore ... :-(
Per il nuovo passaggio è necessario ottenere il JobId
. Al termine dell'inventario di recupero è possibile ottenerlo con il comando seguente:aws glacier list-jobs --vault-name YOUR_VAULT_NAME --region YOUR_REGION
Passaggio 2 / Ottieni gli archivi
$ aws glacier get-job-output --job-id YOUR_JOB_ID --vault-name YOUR_VAULT_NAME --region YOUR_REGION ./output.json
Vedere. Download di un inventario di Vault in Amazon Glacier
Puoi ottenere tutto ArchiveId
nel ./output.json
file.
Passaggio 3 / Elimina archivi
PowerShell
da @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 - }
Pitone
da @robweber
ijson , che invece legge nel file come flusso. Puoi installarlo con 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
da @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 ;
}
Contrassegno: dopo aver eliminato un archivio, se scarichi immediatamente l'inventario del Vault, potrebbe includere l'archivio eliminato nell'elenco perché Amazon Glacier prepara l'inventario del Vault solo una volta al giorno.
Vedere. Eliminazione di un archivio in Amazon Glacier
Passaggio 4 / Elimina un Vault
$ aws glacier delete-vault --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
Gist originariamente di @Remiii
Ok Quindi alcuni anni fa ho chiuso il mio account e l'ho appena riaperto qualche mese fa e indovino quale Amazon ha ancora il mio 3 TB lì sul mio account e ora mi sono stati fatturati per questi ultimi mesi.
Quindi sono tornato a questa domanda e ho scoperto che:
- mt-aws-glacier è quasi impossibile da installare sull'ultimo Ubuntu quindi è andato su 12.04 awscli non è lì, quindi quando a 14.04 ho ricevuto un errore sulla mia firma ...
- La risposta Arq non è più rilevante in Arq 5
- Poi ho trovato l' essenza sopra e l'ho copiata qui perché è meglio per la comunità
- Ho provato cloudberry e sembra che dovrebbe funzionare, aggiornerò qui tra 4 ~ 10 ore