Cách xóa Vault (AWS Glacier)
Gist này đưa ra một số mẹo để xóa AWS Glacier Vault
bằng AWS CLI (ví dụ: https://aws.amazon.com/en/cli/ ).
Bước 1 / Lấy lại hàng tồn kho
$ aws glacier initiate-job --job-parameters "{\"Type\": \"inventory-retrieval\"}" --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
Đợi trong 3/5 giờ Trò chơi :-(
Đối với bước mới, bạn cần có được JobId
. Khi kiểm kê lại hoàn thành, bạn có thể lấy nó bằng lệnh sau:aws glacier list-jobs --vault-name YOUR_VAULT_NAME --region YOUR_REGION
Bước 2 / Nhận ArchivesIds
$ aws glacier get-job-output --job-id YOUR_JOB_ID --vault-name YOUR_VAULT_NAME --region YOUR_REGION ./output.json
Xem. Tải xuống kho Vault trong Amazon Glacier
Bạn có thể nhận được tất cả ArchiveId
trong các ./output.json
tập tin.
Bước 3 / Xóa tài liệu lưu trữ
Quyền hạn
từ @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 - }
Con trăn
từ @robweber
ijson , mà đọc trong tệp như một luồng thay thế. Bạn có thể cài đặt nó với 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
từ @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 ;
}
Đánh dấu: Sau khi bạn xóa kho lưu trữ, nếu bạn tải xuống ngay kho lưu trữ kho tiền, nó có thể bao gồm kho lưu trữ đã xóa trong danh sách vì Amazon Glacier chỉ chuẩn bị kho lưu trữ kho tiền khoảng một lần một ngày.
Xem. Xóa một Lưu trữ trong Amazon Glacier
Bước 4 / Xóa một Vault
$ aws glacier delete-vault --vault-name YOUR_VAULT_NAME --account-id YOUR_ACCOUNT_ID --region YOUR_REGION
Gist ban đầu bởi @Remiii
Ok Vì vậy, một vài năm trước tôi đã đóng tài khoản của mình và chỉ mở lại vài tháng trước và đoán xem amazon vẫn còn 3TB của tôi trên tài khoản của tôi và bây giờ tôi đã nhận được hóa đơn cho họ trong vài tháng qua.
Vì vậy, tôi đã trở lại câu hỏi này và thấy rằng:
- mt-aws-glacier gần như không thể thiết lập trên Ubuntu mới nhất sau đó chuyển sang 12.04 awscli không có ở đó, sau đó đến ngày 14.04 có lỗi về chữ ký của tôi ...
- Câu trả lời Arq không còn phù hợp trong Arq 5
- Sau đó, tôi tìm thấy ý chính ở trên và sao chép nó ở đây vì nó tốt hơn cho cộng đồng
- Đã thử Cloudberry và có vẻ như nó sẽ hoạt động. Tôi sẽ cập nhật tại đây sau 4 ~ 10 giờ