Some S3 providers may not provide the non-required etag on Objects, but currently S3Client's _get_metadata assumes that ETag will always be present on the HEAD response.
https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html
If an S3 client doesn't return ETag on the HeadObject, this results in KeyError: 'ETag' when trying to open an S3Path.
Some S3 providers may not provide the non-required etag on Objects, but currently S3Client's
_get_metadataassumes thatETagwill always be present on the HEAD response.https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html
cloudpathlib/cloudpathlib/s3/s3client.py
Line 157 in 9d5fa70
If an S3 client doesn't return
ETagon the HeadObject, this results inKeyError: 'ETag'when trying to open an S3Path.