Petua praktikal: Gunakan bahasa Go untuk menyepadukan antara muka Awan Qiniu dengan cepat
Pengenalan:
Semasa proses pembangunan, kita selalunya perlu menggunakan storan awan untuk menyimpan dan mengurus sejumlah besar fail. Qiniu Cloud ialah penyedia perkhidmatan storan awan terkemuka, menyediakan perkhidmatan storan awan yang stabil, cekap dan selamat. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk menyepadukan antara muka Awan Qiniu dengan cepat dan memberikan contoh kod.
1. Pasang SDK
Sebelum kita mula, kita perlu memasang Qiniu Cloud SDK. Pasang SDK bahasa Go melalui arahan berikut:
go get -u github.com/qiniu/api.v7
2. Konfigurasikan kekunci dan konfigurasi Awan Qiniu
Sebelum menggunakan Awan Qiniu, kita perlu mendaftar akaun di tapak web rasmi Awan Qiniu dan mencipta Baldi. Kemudian, kita perlu mendapatkan AccessKey dan SecretKey dari Qiniu Cloud dan mengkonfigurasi ruang storan fail yang sepadan.
Kami meletakkan AccessKey dan SecretKey dalam fail konfigurasi Dengan mengandaikan bahawa fail tersebut adalah config.ini, ia boleh dikonfigurasikan dalam format berikut:
[Qiniu] AccessKey = YOUR_ACCESS_KEY SecretKey = YOUR_SECRET_KEY Bucket = YOUR_BUCKET Domain = YOUR_DOMAIN
3 Initialize Qiniu Cloud Client
Seterusnya, kami perlu memulakan klien Cloud Qiniu .
package main import ( "fmt" "github.com/qiniu/api.v7/auth/qbox" "github.com/qiniu/api.v7/storage" "gopkg.in/ini.v1" "log" ) var ( accessKey string secretKey string bucket string domain string putPolicy storage.PutPolicy mac *qbox.Mac uploader *storage.FormUploader cfg *storage.Config client *storage.Client ) func init() { cfg, _ = storage.NewConfigFromJSON([]byte(`{"Zone":"ZoneZoneAuto"}`)) client, _ = storage.NewClient(cfg) } func main() { // 读取配置文件 cfg, err := ini.Load("config.ini") if err != nil { log.Fatalf("读取配置文件错误:%v ", err) return } // 获取配置项 accessKey = cfg.Section("Qiniu").Key("AccessKey").String() secretKey = cfg.Section("Qiniu").Key("SecretKey").String() bucket = cfg.Section("Qiniu").Key("Bucket").String() domain = cfg.Section("Qiniu").Key("Domain").String() putPolicy = storage.PutPolicy{ Scope: bucket, } // 初始化Mac mac = qbox.NewMac(accessKey, secretKey) // 初始化uploader uploader = storage.NewFormUploader(client) }
Dalam kod di atas, kami menggunakan auth/qbox dan pakej storan qiniu, dan memulakan beberapa pembolehubah global, termasuk AccessKey, SecretKey, Bucket, Domain dan objek antara muka Qiniu Cloud.
4. Muat naik fail
Di bawah kami akan menunjukkan cara memuat naik fail ke Qiniu Cloud.
func uploadFile(localFile, key string) error { ret := storage.PutRet{} err := uploader.PutFile(nil, &ret, putPolicy.UploadToken(mac), key, localFilePath, nil) if err != nil { return fmt.Errorf("上传文件错误:%v", err) } log.Printf("文件上传成功,文件名为:%s,ETag:%s ", ret.Key, ret.Hash) return nil } func main() { // ...省略其他代码... localFilePath := "test.jpg" key := "mytest.jpg" err := uploadFile(localFilePath, key) if err != nil { log.Fatalf("上传文件失败:%v ", err) return } }
Dalam kod di atas, kami menentukan fungsi bernama uploadFile untuk memuat naik fail setempat ke ruang storan awan Qiniu. Dalam fungsi utama, kami menentukan laluan fail tempatan dan nama fail untuk dimuat naik ke Qiniu Cloud.
Ringkasan:
Artikel ini memperkenalkan cara menggunakan bahasa Go untuk menyepadukan antara muka Awan Qiniu dengan cepat dan memberikan contoh kod yang berkaitan. Melalui contoh ini, kami boleh menggunakan perkhidmatan storan awan Qiniu Cloud dengan mudah dalam projek kami sendiri. Saya harap artikel ini dapat membantu pembangun yang menggunakan Qiniu Cloud.
Atas ialah kandungan terperinci Petua praktikal: Gunakan bahasa Go untuk menyepadukan antara muka Awan Qiniu dengan cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!