Can someone please explain the differences in these two calls. The first one gives the correct server_side_encryption and the second one gives an error. The other attributes give the same value-
#!/usr/bin/pythonimport boto3
import botocores3 = boto3.resource('s3')
s3_client = boto3.client('s3')object = s3.Object('abcdefhkjl9999','error.html')print(object.bucket_name)
print(object.key)
print(object.last_modified)
print(object.storage_class)
print(object.server_side_encryption)bucket = s3.Bucket('abcdefhkjl9999')
for object in bucket.objects.all():print("#############################")print(object.bucket_name)print(object.key)print(object.last_modified)print(object.storage_class)print(object.server_side_encryption)The output is -
abcdefhkjl9999
error.html
2017-08-20 22:58:02+00:00
REDUCED_REDUNDANCY
aws:kms
#############################
abcdefhkjl9999
error.html
2017-08-20 22:58:02+00:00
REDUCED_REDUNDANCY
Traceback (most recent call last):
File "./test3.py", line 26, in <module>
print(object.server_side_encryption)
AttributeError: 's3.ObjectSummary' object has no attribute 'server_side_encryption'