我需要使用SignedURL上传到S3存储桶。我还需要上传多部分文件。我有一个golang API,它提供:
我正在尝试完成多部分上载。我有一个webendpoint,它接受来自swift 5客户端的输入:
type CompletedPart struct {
Etag string
PartNumber int
}
type CompleteMultipartUploadRequest struct {
BucketName string
Key string
UploadID string
MultipartUpload []CompletedPart
}
func putObjectMultipartComplete(w http.ResponseWriter, r *http.Request) {
var completeMultipartUploadRequest CompleteMultipartUploadRequest
err := json.NewDecoder(r.Body).Decode(&completeMultipartUploadRequest)
if err != nil {
http.Error(w, fmt.Sprintf("unable to decode request: %s", err.Error()), http.StatusBadRequest)
return
}
var completedParts []types.CompletedPart
for _, part := range completeMultipartUploadRequest.MultipartUpload {
temp := types.CompletedPart{
ETag: aws.String(part.Etag),
PartNumber: int32(part.PartNumber),
}
completedParts = append(completedParts, temp)
}
input := &s3.CompleteMultipartUploadInput{
Bucket: aws.String(completeMultipartUploadRequest.BucketName),
Key: aws.String(completeMultipartUploadRequest.Key),
UploadId: aws.String(completeMultipartUploadRequest.UploadID),
MultipartUpload: &types.CompletedMultipartUpload {
Parts: completedParts,
},
}
client := s3Client()
response, err := client.CompleteMultipartUpload(context.TODO(), input)
if err != nil {
log.Println(err.Error())
http.Error(w, fmt.Sprintf("could not complete multipart upload: %s", err.Error()), http.StatusFailedDependency)
return
}
object := CompleteMultipartUploadResponse{
BucketName: aws.ToString(response.Bucket),
Key: aws.ToString(response.Key),
Etag: aws.ToString(response.ETag),
}
json, err := json.Marshal(object)
w.Header().Set("Content-Type", "application/json")
w.Write(json)
}
我拿回了424。当我检查服务器日志中的错误时,我得到:
2022/02/01 16:39:29操作错误S3: CompleteMultipartUpload, https响应错误StatusCode: 400, Request estID: QREDACTE9, HostID: OdE2MREDACThk=, api错误MalformedXML:您提供的XML格式不正确或未针对我们发布的模式进行验证
我错过了什么?
这段代码最终几乎是正确的。AWS S3 API提到零件号ID必须是一个整数。我不得不从1开始计数,而不是从0开始计数,因为发送带有数字0的零件是无效的。
我正在使用docker compose容器部署3个项目:Eureka、Zuul服务和应用程序。以下是这些项目的配置: 尤里卡: 祖尔: 应用 当我做docker组装时,它正确地旋转容器,没有错误。然而,当我使用API网关调用RESTendpoint时,我得到了一个错误:com。netflix。祖尔。例外ZuuleException:转发错误
以下是我的问题陈述: XYZ学校希望将学生和教职员工的详细信息存储在xml文件中。以下场景有助于设计XML文档。persons将是根标签。每个人都有姓名、年龄、性别、地址的条目。一个人可以是学生也可以是教职员工。学生将有rollno、standard和section。如果是工作人员,则标记和主题。每个人都必须有一个带有以下条目的地址-门牌号、街道、城市和州。 我写的代码如下: ] 它给出了错误-异
我需要一些帮助 我在我的proyect Spring Boot上使用JPA存储库和数据库是SQL Server2012;我的所有存储库都运行良好,但我在删除下一个查询时遇到了问题:
Iam正在尝试对HTTPS url进行API调用: 我面临着以下错误。当我通过cUrl或Postman调用API时,它工作得很好。。。 回溯(最后一次调用):文件“C:\Users\user\AppData\Local\Programs\Python\Python 35-32\lib\site packages\urlib3\connectionpool.py”,urlopen chunked=c
Brew安装,显示此错误。请原谅我的无知,我是Mac的新手。 请报告此错误:http://git.io/brew-troubleshootin/System/Library/Frameworks/Ruby。framework/Versions/2.0/usr/lib/ruby/2.0。0/rubygems/core\u ext/kernel\u require。rb:55:inrequire'/u
我使用PHP CURL发送POSTFIELD,但我得到错误415不支持的媒体类型这是我的代码: 我收到错误信息 HTTP/1.1 415不支持的媒体类型日期:周三,01月2018 18:19:00格林尼治标准时间服务器:Apache缓存控制:无缓存缓存控制:无存储Pragma:无缓存内容长度: 903过期:周四,01月1970 00:00:00格林尼治标准时间设置-Cookie: WMONID=R