go-sdk
go-sdk copied to clipboard
BucketManager.AsyncFetch 总是返回 incorrect zone
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
貌似之前一直是可以的
代码里的 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:
- https://developer.qiniu.com/kodo/4097/asynch-fetch 这里说明
Host: api-[Zone].qiniu.com 中的 [Zone] 为七牛各区域机房代号