refactor(Azure): Has now separate config struct

This commit is contained in:
netbenix 2021-12-31 17:18:12 +01:00
parent aeefe112e0
commit 03ffd77555
2 changed files with 32 additions and 30 deletions

View file

@ -12,18 +12,17 @@ import (
"path/filepath"
"scabiosa/Logging"
"scabiosa/SQL"
"scabiosa/Tools"
"strings"
"time"
)
type AzureFileStorage struct {
FileshareName string `json:"fileshareName"`
TargetDirectory string `json:"targetDirectory"`
StorageAccountName string `json:"storageAccountName"`
StorageAccountKey string `json:"storageAccountKey"`
FileshareName string
StorageAccountName string
StorageAccountKey string
}
func (azure AzureFileStorage) upload(fileName string, backupName string, destinationPath string) {
logger := Logging.DetailedLogger("AzureFileStorage", "upload")
@ -43,11 +42,7 @@ func (azure AzureFileStorage) upload(fileName string, backupName string, destina
logger.Fatal(err)
}
if destinationPath != ""{
azure.TargetDirectory = destinationPath
}
u, _ := url.Parse(fmt.Sprintf("https://%s.file.core.windows.net/%s/%s/%s", azure.StorageAccountName, azure.FileshareName ,azure.TargetDirectory, filepath.Base(fileName)))
u, _ := url.Parse(fmt.Sprintf("https://%s.file.core.windows.net/%s/%s/%s", azure.StorageAccountName, azure.FileshareName, destinationPath, filepath.Base(fileName)))
fileURL := azfile.NewFileURL(*u, azfile.NewPipeline(credential, azfile.PipelineOptions{}))
@ -56,7 +51,6 @@ func (azure AzureFileStorage) upload(fileName string, backupName string, destina
fmt.Printf("[%s] Starting upload to Azure File Share...\n", backupName, ".bak")
SQL.NewLogEntry(SQL.GetSQLInstance(), uuid.New(), SQL.LogInfo, backupName, SQL.SQLStage_Upload, SQL.REMOTE_AZURE_FILE, "Starting upload.", time.Now())
progressBar := pb.StartNew(int(fileSize.Size()))
progressBar.Set(pb.Bytes, true)
err = azfile.UploadFileToAzureFile(ctx, file, fileURL,
@ -89,16 +83,20 @@ func readConfig() []byte {
return file
}
func GetAzureStorage() AzureFileStorage {
logger := Logging.DetailedLogger("AzureFileStorage", "GetAzureStorage")
var azureStorage AzureFileStorage
var azureConfig Tools.AzureConfig
var azureFileShare AzureFileStorage
jsonErr := json.Unmarshal(readConfig(), &azureStorage)
jsonErr := json.Unmarshal(readConfig(), &azureConfig)
if jsonErr != nil {
logger.Fatal(jsonErr)
}
return azureStorage
azureFileShare.StorageAccountName = azureConfig.StorageAccountName
azureFileShare.StorageAccountKey = azureConfig.StorageAccountKey
azureFileShare.FileshareName = azureConfig.FileshareName
return azureFileShare
}

View file

@ -16,6 +16,10 @@ type Config struct {
DbUser string `json:"db-user"`
DbPassword string `json:"db-password"`
} `json:"sqlConfig"`
type AzureConfig struct {
FileshareName string `json:"fileshareName"`
StorageAccountName string `json:"storageAccountName"`
StorageAccountKey string `json:"storageAccountKey"`
FolderToBackup []struct {
BackupName string `json:"backupName"`
FolderPath string `json:"folderPath"`