উত্তর:
অ্যামাজনের এখন স্বয়ংক্রিয়ভাবে সামগ্রীর মেয়াদ শেষ হওয়ার জন্য বালতি নীতিমালা সেট করার ক্ষমতা রয়েছে:
http://docs.amazonwebservices.com/AmazonS3/latest/UG/ObjectExpiration.html
ইতিমধ্যে অ্যামাজন এস 3 লাইফাইসাইকেল চালু করেছে (সূচনা ব্লগ পোস্ট অ্যামাজন এস 3 - অবজেক্টের মেয়াদোত্তীর্ণতা দেখুন ), যেখানে আপনি বালতিতে বস্তুর জন্য সর্বাধিক বয়স নির্দিষ্ট করতে পারেন - এস 3 এপিআই বা এডাব্লুএস পরিচালনার মাধ্যমে তার ব্যবহারের বিশদগুলির জন্য অবজেক্টের সমাপ্তি দেখুন কনসোল।
আপনি নিজের বালতি দিয়ে চালানোর জন্য স্ক্রিপ্ট লিখতে s3cmd ব্যবহার করতে পারেন এবং পূর্ব শর্তের ভিত্তিতে ফাইলগুলি মুছতে পারেন।
এর উপরে আপনাকে কিছু কোড (বাশ, অজগর) লিখতে হবে।
আপনি http://s3tools.org/s3cmd থেকে s3cmd ডাউনলোড করতে পারেন
s3cmd ইউটিলিটি
উত্সটি ব্যবহার করে পুরানো বালতিগুলি মুছতে শেল স্ক্রিপ্ট :
http://shout.setfive.com/2011/12/05/deleting-files-older-than-specified-time-with-s3cmd-and-bash/
#!/bin/bash
# Usage: ./deleteOld "bucketname" "30 days"
s3cmd ls s3://$1 | while read -r line; do
createDate=`echo $line|awk {'print $1" "$2'}`
createDate=`date -d"$createDate" +%s`
olderThan=`date -d"-$2" +%s`
if [[ $createDate -lt $olderThan ]]
then
fileName=`echo $line|awk '{$1=$2=$3=""; print $0}' | sed 's/^[ \t]*//'`
echo $fileName
if [[ $fileName != "" ]]
then
s3cmd del "$fileName"
fi
fi
done;
Video 1280x720 (2)13201781136780000000.mp4
তবে কেবল ভিডিওটি দেয় না।
না, এস 3 হ'ল একটি ডেটাস্টোর। পুরানো ফাইলগুলি পর্যায়ক্রমে মুছতে আপনার কিছু বাইরের ক্লায়েন্ট ব্যবহার করতে হবে।
আমি খুব দ্রুত সমাধান পেয়েছি ডাব্লুএস ক্লিপ ব্যবহার করে ব্যাচ মুছুন
#!/usr/bin/env php
<?php
//remove files which were created 24 hrs ago
$fcmd = 'aws s3 ls s3://<bucket>/<prefix>/ | awk \'{$3=""; print $0}\'';//remove file size and handle file with spaces
exec($fcmd, $output, $return_var);
$seconds_24_hour = 24 * 60 * 60;
$file_deleted_count = 0;
if (!empty($output)) {
$deleted_keys = array();
foreach ($output as $file) {
$file_path = substr($file, 21);
$file_time_stamp = substr($file, 0, 19); //2017-09-19 07:59:41
if (time() - strtotime($file_time_stamp) > $seconds_24_hour) {
$deleted_keys[]["Key"] = "<prefix>/" . $file_path;
$file_deleted_count++;
}
}
if (!empty($deleted_keys)) {
$json_data_delete = array("Objects" => $deleted_keys);
echo $cmd = ("aws s3api delete-objects --bucket <bucket> --delete '" . json_encode($json_data_delete) . "'");
system($cmd);
}
echo "\n$file_deleted_count files deleted from content_media\n";
}
ব্যাচ মুছার জন্য উল্লেখ /programming//a/41734090/1589444
100% পাস কেস সহ স্থানের সাথে ফাইল হ্যান্ডলিংয়ের জন্য রেফারেন্স /programming/