qiniu / go-sdk

golang sdk
MIT License
134 stars 62 forks source link

BucketManager.AsyncFetch 总是返回 incorrect zone #13

Open huangjunwen opened 3 years ago

huangjunwen commented 3 years ago
import (
    "log"

    "github.com/qiniu/go-sdk/v7/auth"
    "github.com/qiniu/go-sdk/v7/storage"
)

func main() {
    mac := auth.New("ak", "sk")
    m := storage.NewBucketManagerEx(mac, nil, nil)
    ret, err := m.AsyncFetch(storage.AsyncFetchParam{
        Url:              "https://thirdwx.qlogo.cn/mmopen/..../132",
        Bucket:           "bucket-name",
        Key:              "path/to/avatar",
        CallbackURL:      "https://callback.com",
        CallbackBody:     "bucket=$(bucket)&key=$(key)&etag=$(etag)&fname=$(fname)&fsize=$(fsize)&mimeType=$(mimeType)&endUser=$(endUser)&attach=",
        CallbackBodyType: "application/x-www-form-urlencoded",
    })
    if err != nil {
        log.Fatalln(err)
    }
    log.Println(ret)
}
2021/03/09 09:58:21 incorrect zone

貌似之前一直是可以的

huangjunwen commented 3 years ago

代码里的 regionXXX.ApiHost 是不是缺少了区域机房代号?

        // regionHuanan 表示华南机房
    regionHuanan = Region{
                // ....
        RsHost:    "rs-z2.qbox.me",
        RsfHost:   "rsf-z2.qbox.me",
        ApiHost:   "api.qiniu.com",           // 这里应该是 api-z2.qiniu.com ?
        IovipHost: "iovip-z2.qbox.me",
    }

我 fork 了一份 https://github.com/huangjunwen/go-sdk/commit/0edaa129d3ba76b26f2d7a244db431e4f66aad66, 加上 zone 再测试就好了.

麻烦能否跟进一下这个问题, 谢谢

Ref: