**Describe the situation**

The author implemented it but enabled only for DiskS3.
CC @excitoon 
const String & format,
    const S3::URI & uri,
    const String & access_key_id,
    const String & secret_access_key,
    UInt64 max_connections,
    UInt64 max_single_read_retries,
    const String & compression_method,
    bool distributed_processing,
    const std::optional<FormatSettings> & format_settings,
    ContextPtr ctx)
{
    ClientAuthentication client_auth{uri, access_key_id, secret_access_key, max_connections, {}, {}};
    updateClientAndAuthSettings(ctx, client_auth);
    return getTableStructureFromDataImpl(format, client_auth, max_single_read_retries, compression_method, distributed_processing, uri.key.find_first_of("*?{") != std::string::npos, format_settings, ctx);
}
ColumnsDescription StorageS3::getTableStructureFromDataImpl(