Files
go-storage/README.md

126 lines
2.6 KiB
Markdown
Raw Normal View History

2024-10-23 02:36:04 +02:00
# Go Storage
2024-10-23 03:52:05 +02:00
A simple Go storage client
2024-10-23 03:52:46 +02:00
2024-10-23 03:52:05 +02:00
Supported storage:
2024-10-23 02:36:04 +02:00
- Local
- S3
- SSH
- FTP
2024-12-06 16:13:24 +01:00
- Azure Blob
2024-10-23 02:46:31 +02:00
```go
go get github.com/jkaninda/go-storage
```
### Local Storage
```go
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
```go
s3Storage, err := s3.NewStorage(s3.Config{
Endpoint: "",
Bucket: "",
AccessKey: "",
SecretKey: "",
Region: "",
DisableSsl: "",
ForcePathStyle: "",
RemotePath: "",
LocalPath: "",
})
if err != nil {
2024-10-23 03:52:05 +02:00
log.Fatalf("Error creating s3 storage: %s", err)
2024-10-23 02:46:31 +02:00
}
2024-10-23 03:52:05 +02:00
// Copy file to S3
2024-10-23 02:46:31 +02:00
err = s3Storage.Copy(finalFileName)
if err != nil {
2024-10-23 03:52:05 +02:00
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
```go
sshStorage, err := ssh.NewStorage(ssh.Config{
Host: "",
Port: "",
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
```go
ftpStorage, err := ftp.NewStorage(ftp.Config{
Host: "",
Port: "",
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)
2024-10-23 02:46:31 +02:00
}
2024-12-06 16:13:24 +01:00
```
### Azure Blob storage
```go
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)
}
2024-10-23 02:46:31 +02:00
```