वॉल्ट (AWS ग्लेशियर) कैसे हटाएं
यह Gist निकालने के लिए कुछ सुझाव देता है AWS Glacier Vault
AWS CLI (यानी। Https://aws.amazon.com/en/cli/ ) के साथ ।
चरण 1 / सूची को फिर से लिखना
$ aws glacier initiate-job --job-parameters "{\"Type\": \"inventory-retrieval\"}" --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
3/5 घंटे के दौरान प्रतीक्षा करें: --(
नए चरण के लिए आपको प्राप्त करने की आवश्यकता है JobId
। जब इन्वेंट्री इन्वेंट किया जाता है तो आप इसे निम्न कमांड के साथ प्राप्त कर सकते हैं:aws glacier list-jobs --vault-name YOUR_VAULT_NAME --region YOUR_REGION
चरण 2 / अभिलेखागार प्राप्त करें
$ aws glacier get-job-output --job-id YOUR_JOB_ID --vault-name YOUR_VAULT_NAME --region YOUR_REGION ./output.json
देख। अमेज़न ग्लेशियर में एक वॉल्ट इन्वेंटरी डाउनलोड करना
आप सभी प्राप्त कर सकते हैं ArchiveId
./output.json
फ़ाइल में ।
चरण 3 / अभिलेखागार हटाएँ
शक्ति कोशिका
से @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 - }
अजगर
से @robweber
ijson , जो एक स्ट्रीम के बजाय फाइल में पढ़ता है। आप इसे पाइप से स्थापित कर सकते हैं
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()
पीएचपी
से @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 ;
}
मार्क: एक आर्काइव को हटाने के बाद, यदि आप तुरंत वॉल्ट इन्वेंट्री डाउनलोड करते हैं, तो यह सूची में हटाए गए संग्रह को शामिल कर सकता है क्योंकि अमेज़ॅन ग्लेशियर दिन में केवल एक बार वॉल्ट इन्वेंट्री तैयार करता है।
देख। अमेज़न ग्लेशियर में एक पुरालेख को हटाना
चरण 4 / एक तिजोरी हटाएँ
$ aws glacier delete-vault --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
मूल रूप से @Remiii द्वारा दें
ठीक है तो कुछ साल पहले मैंने अपना खाता बंद कर दिया था और अभी कुछ महीने पहले इसे फिर से खोल दिया और अंदाज़ा लगाया कि अमेजन अभी भी मेरे खाते में 3TB है और अब मैं उनके लिए पिछले कुछ महीनों से बिल जमा कर रहा हूं।
इसलिए मैं इस सवाल पर वापस आया और पाया कि:
- mt-aws-glacier को नवीनतम ubuntu पर सेटअप करना लगभग असंभव है फिर 12.04 पर चला गया awscli नहीं है, फिर जब 14.04 को मेरे हस्ताक्षर के बारे में त्रुटि मिली ...
- Arq उत्तर अब Arq 5 में प्रासंगिक नहीं है
- फिर मुझे उक्त गेस मिली और इसे यहां कॉपी किया क्योंकि यह समुदाय के लिए बेहतर है
- क्लाउडबेरी की कोशिश की और ऐसा लग रहा है कि यह काम करना चाहिए मैं यहां 4 ~ 10 घंटे में अपडेट करूंगा