Cara menghapus Vault (AWS Glacier)
Intisari ini memberikan beberapa kiat untuk dihapus AWS Glacier Vault
dengan AWS CLI (mis. Https://aws.amazon.com/en/cli/ ).
Langkah 1 / Retrive inventaris
$ aws glacier initiate-job --job-parameters "{\"Type\": \"inventory-retrieval\"}" --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
Tunggu selama 3/5 jam ... :-(
Untuk langkah baru, Anda perlu mendapatkan JobId
. Ketika inventaris retrive selesai, Anda bisa mendapatkannya dengan perintah berikut:aws glacier list-jobs --vault-name YOUR_VAULT_NAME --region YOUR_REGION
Langkah 2 / Dapatkan ArchivesIds
$ aws glacier get-job-output --job-id YOUR_JOB_ID --vault-name YOUR_VAULT_NAME --region YOUR_REGION ./output.json
Lihat. Mengunduh Inventaris Vault di Amazon Glacier
Anda bisa mendapatkan semua ArchiveId
dalam ./output.json
file.
Langkah 3 / Hapus Arsip
Powershell
dari @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
dari @robweber
ijson , yang dibaca sebagai file sebagai gantinya. Anda dapat menginstalnya dengan 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
dari @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 ;
}
Tandai: Setelah Anda menghapus arsip, jika Anda segera mengunduh inventaris vault, itu mungkin termasuk arsip yang dihapus dalam daftar karena Amazon Glacier menyiapkan inventaris vault hanya sekali sehari.
Lihat. Menghapus Arsip di Gletser Amazon
Langkah 4 / Hapus Vault
$ aws glacier delete-vault --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
Intinya awalnya oleh @Remiii
Ok Jadi beberapa tahun yang lalu saya menutup akun saya dan membukanya kembali beberapa bulan yang lalu dan coba tebak amazon apa yang masih memiliki 3TB saya di akun saya dan sekarang saya ditagih untuk mereka selama beberapa bulan terakhir.
Jadi saya kembali ke pertanyaan ini dan menemukan bahwa:
- mt-aws-gletser hampir tidak mungkin untuk melakukan setup pada ubuntu terbaru kemudian pergi ke 12,04 awscli tidak ada, maka ketika ke 14,04 mendapat kesalahan tentang tanda tangan saya ...
- Jawaban Arq tidak lagi relevan di Arq 5
- Kemudian saya menemukan intisari di atas dan menyalinnya di sini karena lebih baik untuk komunitas
- Mencoba cloudberry dan sepertinya itu akan berhasil, saya akan memperbarui di sini dalam 4 ~ 10 jam