OSDN Git Service

1c1e75cc8b32d8737b4a27d5e57a87d2c034700f
[bytom/vapor.git] / toolbar / osssync / sync / sync.go
1 package sync
2
3 import (
4         "github.com/aliyun/aliyun-oss-go-sdk/oss"
5
6         "github.com/bytom/vapor/toolbar/osssync/config"
7         "github.com/bytom/vapor/toolbar/osssync/util"
8 )
9
10 // Sync the struct of the Sync
11 type Sync struct {
12         OssClient *oss.Client
13         OssBucket *oss.Bucket
14         FileUtil  *util.FileUtil
15 }
16
17 // NewSync return one new instance of Sync
18 func NewSync() (*Sync, error) {
19         cfg := &config.Config{}
20         err := config.LoadConfig(&cfg)
21         if err != nil {
22                 return nil, err
23         }
24
25         ossClient, err := oss.New(cfg.Oss.Endpoint, cfg.Oss.AccessKeyID, cfg.Oss.AccessKeySecret)
26         if err != nil {
27                 return nil, err
28         }
29
30         ossBucket, err := ossClient.Bucket("bytom-seed")
31         if err != nil {
32                 return nil, err
33         }
34
35         fileUtil := util.NewFileUtil("./blocks")
36
37         return &Sync{
38                 OssClient: ossClient,
39                 OssBucket: ossBucket,
40                 FileUtil:  fileUtil,
41         }, nil
42 }