উত্তর:
অ্যামাজন এস 3 ডকুমেন্টেশন অনুসারে :
একবার মুছে ফেলা হলে, কোনও জিনিস পুনরুদ্ধার বা মোছার কোনও পদ্ধতি নেই।
আপনার যদি সংস্করণ সক্ষম করা থাকে তবে হ্যাঁ আপনি পারেন! সংস্করণযুক্ত বালতিতে কোনও ফাইলে মুছে ফেলা অ্যাকশন সত্যই মুছবে না তবে এটি "মুছে ফেলুনকে মুছুন" সহ একটি সংস্করণ যুক্ত করে। আপনি ডাব্লুএসএস সিএলআই দিয়ে মুছার চিহ্নটি মুছতে পারেন:
aws s3api delete-object --bucket yourbucket-name --key "yourfile" --version-id id_of_the_delete_marker
আপনি বালতিতে সমস্ত ফাইলের সাথে পেতে পারেন
aws --output text s3api list-object-versions --bucket yourbucket-name > files.txt
আপনি যদি বালতির সমস্ত ফাইল মুছে ফেলতে চান তবে আপনি চেষ্টা করতে পারেন:
echo '#!/bin/bash' > undeleteScript.sh && aws --output text s3api list-object-versions --bucket yourbucket-name | grep -E "^DELETEMARKERS" | awk '{FS = "[\t]+"; print "aws s3api delete-object --bucket yourbucket-name --key \42"$3"\42 --version-id "$5";"}' >> undeleteScript.sh && . undeleteScript.sh; rm -f undeleteScript.sh;
--output=text
এটির কাজ করতে চাইলে একটি যুক্ত করা দরকার । তিনি ধরে নিচ্ছেন যে আপনি আপনার AWS কমান্ড একটি .txt ফাইলের মাধ্যমে আউটপুট করছেন এবং জেএসএন ফাইল নয়।
আমি উত্তরটি সন্ধান করার সাথে সাথে এই প্রশ্নটি আপডেট করছি:
আপনি এখন এস 3 বালতিতে VERSIONING যুক্ত করতে পারেন। এটি মোছার পরেও এস 3 এর ফলে কোনও সামগ্রীর সংস্করণ রাখবে। সম্পূর্ণ ডকুমেন্টেশন: http://docs.amazonwebservices.com/AmazonS3/latest/dev/ ভার্সনিং এইচটিএমএল
আপনি এখন অ্যাডব্লিউএস কনসোল ব্যবহার করে অবজেক্ট সংস্করণগুলি তালিকাভুক্ত করতে পারেন: http://docs.aws.amazon.com/AmazonS3/latest/UG/managing-objects-versioned-bucket.html
যদি আপনার কাছে সঠিক অনুমতি থাকে তবে আপনি মুছে ফেলা মার্কার (একটি মুছে ফেলা অবজেক্টের সর্বশেষতম সংস্করণ) মুছতে পারেন এবং ফলাফলটি হ'ল বস্তুটি আবার উপলব্ধ।