Vault(AWS Glacier)を削除する方法
この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 / ArchivesIdsを取得する
$ aws glacier get-job-output --job-id YOUR_JOB_ID --vault-name YOUR_VAULT_NAME --region YOUR_REGION ./output.json
見る。Amazon GlacierでのVaultインベントリのダウンロード
ファイル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 - }
Python
@robweberから
ijson、代わりにファイルをストリームとして読み込みます。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
@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 ;
}
マーク:アーカイブを削除した後、すぐにボールトインベントリをダウンロードすると、Amazon Glacierがボールトインベントリを1日に1回しか準備しないため、削除されたアーカイブがリストに含まれる場合があります。
見る。Amazon Glacierでアーカイブを削除する
ステップ4 / Vaultを削除する
$ aws glacier delete-vault --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
元は@Remiiiの要点
わかりましたので、数年前にアカウントを閉鎖し、数か月前にアカウントを再開しました。Amazonに3TBがまだアカウントに残っていると推測し、ここ数か月間請求されました。
だから私はこの質問に戻って、それを見つけました:
- mt-aws-glacierは最新のubuntuでセットアップすることはほとんど不可能で、12.04に行きましたawscliはそこにありません、その後14.04に私の署名に関するエラーが出ました...
- ArqアンサーはArq 5ではもはや関係ありません
- 次に、上記の要点を見つけて、ここにコピーしました
- クラウドベリーを試してみましたが、うまくいくようです。ここで4〜10時間後に更新します。