I would like to know if a key exists in boto3. I can loop the bucket contents and check the key if it matches.
But that seems longer and an overkill. Boto3 official
If you have less than 1000 in a directory or bucket you can get set of them and after check if such key in this set:
files_in_dir = {d['Key'].split('/')[-1] for d in s3_client.list_objects_v2(
Bucket='mybucket',
Prefix='my/dir').get('Contents') or []}
Such code works even if my/dir is not exists.
http://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Client.list_objects_v2