Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua praktikal: Gunakan bahasa Go untuk menyepadukan antara muka Awan Qiniu dengan cepat

Petua praktikal: Gunakan bahasa Go untuk menyepadukan antara muka Awan Qiniu dengan cepat

王林
王林asal
2023-07-06 16:57:071038semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn