我使用 V4 方法为 GCS Bucket 生成上传签名 URL。
要生成我的签名 URL,我使用 go 存储包:https ://cloud.google.com/storage/docs/access-control/signing-urls-with-helpers#storage-signed-url-object-go
这是我的代码:
signedURL, err := storage.SignedURL(bucketFileStorage, fileID, &storage.SignedURLOptions{
GoogleAccessID: serviceAccount.ClientEmail,
PrivateKey: []byte(serviceAccount.PrivateKey),
Method: "PUT",
Expires: time.Now().Add(30 * time.Minute),
Scheme: storage.SigningSchemeV4,
})
我使用 cURL 上传我的文件,如下所示:
curl -X PUT {{MyUploadURL}} --upload-file /path/to/my/file.xxx
它适用于某些文件(PNG、JPEG、JSON 等),但对于一些随机文件,我的 curl 永远不会收到响应并无限期地等待。我尝试失眠,以防我的 cURL 客户端出现问题,但我有相同的模式。
知道为什么吗?我想文件是原因,但我不知道为什么,以及如何检查。