বোটো 2 এর boto.s3.key.Keyঅবজেক্টে এমন existsপদ্ধতি ছিল যা পরীক্ষামূলকভাবে হেড অনুরোধ করে ফলাফলটি দেখে এস 3-তে কী উপস্থিত রয়েছে কিনা তা পরীক্ষা করে দেখা গেছে, তবে মনে হয় এটি আর বিদ্যমান নেই। আপনার নিজের এটি করতে হবে:
import boto3
import botocore
s3 = boto3.resource('s3')
try:
s3.Object('my-bucket', 'dootdoot.jpg').load()
except botocore.exceptions.ClientError as e:
if e.response['Error']['Code'] == "404":
# The object does not exist.
...
else:
# Something else has gone wrong.
raise
else:
# The object does exist.
...
load() একটি একক কীটির জন্য একটি হেড অনুরোধ জানায়, এটি দ্রুত, এমনকি যদি প্রশ্নে থাকা অবজেক্টটি বড় হয় বা আপনার বালতিতে অনেকগুলি বস্তু রয়েছে।
অবশ্যই, আপনি সম্ভবত এটি পরীক্ষা করে নিচ্ছেন যে আপনি এটি ব্যবহার করার পরিকল্পনা করছেন কারণ এটি বিদ্যমান। যদি এটি হয় তবে আপনি এটি সম্পর্কে ভুলে যেতে পারেন load()এবং একটি get()বা download_file()সরাসরি করতে পারেন, তবে সেখানে ত্রুটি কেসটি পরিচালনা করতে পারেন।