go-storage

module
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2024 License: MIT

README

Go Storage

A simple Go storage client

Supported storage:

  • Local
  • S3
  • SSH
  • FTP
  • Azure Blob
go get github.com/jkaninda/go-storage
Local Storage
	localStorage := local.NewStorage(local.Config{
		LocalPath:  tmpPath,
		RemotePath: backupDestination,
	})
	err = localStorage.Copy(finalFileName)
	if err != nil {
		log.Fatal("Error copying file, error %v", err)
	}
S3 Storage
s3Storage, err := s3.NewStorage(s3.Config{
    Endpoint:       "",
    Bucket:         "",
    AccessKey:      "",
    SecretKey:      "",
    Region:         "",
    DisableSsl:     "",
    ForcePathStyle: "",
    RemotePath:     "",
    LocalPath:      "",
})
if err != nil {
    log.Fatalf("Error creating s3 storage: %s", err)
}
// Copy file to S3
err = s3Storage.Copy(finalFileName)
if err != nil {
    log.Fatalf("Error copying file, error %v", err)
}
// Download file from S3
err = s3Storage.CopyFrom(finalFileName)
if err != nil {
    log.Fatalf("Error copying file, error %v", err)
}
SSH Storage
sshStorage, err := ssh.NewStorage(ssh.Config{
		Host:       "",
		Port:       22,
		User:       "",
		Password:   "",
		RemotePath: "",
		LocalPath:  "",
	})
	if err != nil {
        log.Fatalf("Error creating SSH storage: %s", err)
	}
	// Copy file to the remote server
	err = sshStorage.Copy(finalFileName)
	if err != nil {
        log.Fatalf("Error copying backup file: %s", err)
	}
// Download file from SSH remote server
err = sshStorage.CopyFrom(finalFileName)
if err != nil {
log.Fatalf("Error copying file, error %v", err)
}
FTP Storage
	ftpStorage, err := ftp.NewStorage(ftp.Config{
		Host:       "",
		Port:       21,
		User:       "",
		Password:   "",
		RemotePath: "",
		LocalPath:  "",
	})
	if err != nil {
        log.Fatalf("Error creating FTP storage: %s", err)
	}
	err = ftpStorage.Copy(finalFileName)
	if err != nil {
        log.Fatalf("Error copying backup file: %s", err)
	}
// Download file from ftp remote server
err = ftpStorage.CopyFrom(finalFileName)
if err != nil {
log.Fatalf("Error copying file, error %v", err)
}
Azure Blob storage
azureStorage, err := azure.NewStorage(azure.Config{
		ContainerName: '',
		AccountName:   '',
		AccountKey:    '',
		RemotePath:    '',
		LocalPath:     '',
	})
	if err != nil {
		log.Fatal("Error creating Azure Blob storage storage: %s", err)
	}
	err = azureStorage.Copy(finalFileName)
	if err != nil {
		log.Fatal("Error copying file: %s", err)
	}

// Download file from Azure Blob remote server
err = azureStorage.CopyFrom(finalFileName)
if err != nil {
log.Fatalf("Error copying file, error %v", err)
}

Directories

Path Synopsis
pkg
ftp
s3
ssh

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL