func (c *ReplicaClient) Type() string {
	return ReplicaClientType
}
Type returns "s3" as the client type.
package s3
import (
	"context"
	"crypto/tls"
	"fmt"
	"io"
	"net"
	"net/http"
	"os"
	"path"
	"regexp"
	"strings"
	"sync"
	"time"
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/credentials"
	"github.com/aws/aws-sdk-go/aws/defaults"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/s3"
	"github.com/aws/aws-sdk-go/service/s3/s3manager"
	"github.com/benbjohnson/litestream"
	"github.com/benbjohnson/litestream/internal"
	"golang.org/x/sync/errgroup"
)
const ReplicaClientType = "s3"
const MaxKeys = 1000
const DefaultRegion = "us-east-1"
var _ litestream.ReplicaClient = (*ReplicaClient)(nil)
type ReplicaClient struct {
	mu       sync.Mutex
	s3       *s3.S3  
	uploader *s3manager.Uploader
	AccessKeyID     string
	SecretAccessKey string
	Region         string
	Bucket         string
	Path           string
	Endpoint       string
	ForcePathStyle bool
	SkipVerify     bool
}
func NewReplicaClient() *ReplicaClient {
	return &ReplicaClient{}
}