Return a configured Amazon S3 client similar to the one S3A would use.
Return a configured Amazon S3 client similar to the one S3A would use. On Hadoop versions >=3, S3A can assume a role, and the returned S3 client will similarly assume that role.
(partial) Hadoop configuration of fs.s3a.
that this client will access.
to find this bucket.
number of times to retry on AWS.
Name of property from which S3A fetches whether to use path-style S3 access or host-style.
Name of property from which S3A fetches whether to use path-style S3 access or host-style.
org.apache.hadoop.fs.s3a.Constants defines this property only starting with version 2.8. Define it here to support earlier versions.
Interface to build an S3 client. The object io.treeverse.clients.conditional.S3ClientBuilder -- conditionally defined in a separate file according to the supported Hadoop version -- implements this trait. (Scala requires companion objects to be defined in the same file, so it cannot be a companion.)