boto.s3.key.Key
Objek Boto 2 dulu memiliki exists
metode yang memeriksa jika kunci ada pada S3 dengan melakukan permintaan HEAD dan melihat hasilnya, tetapi tampaknya tidak ada lagi. Anda harus melakukannya sendiri:
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()
apakah permintaan HEAD untuk satu kunci, yang cepat, bahkan jika objek tersebut besar atau Anda memiliki banyak objek di ember Anda.
Tentu saja, Anda mungkin memeriksa apakah objek itu ada karena Anda berencana menggunakannya. Jika demikian, Anda bisa melupakan load()
dan melakukan get()
atau download_file()
langsung, kemudian menangani kasing kesalahan di sana.