问题描述
使用.NET SDK发起RestoreObject请求时出现如下报错:
The XML you provided was not well-formed or did not validate against our published schema.问题原因
对某个Object发起了RestoreObject请求,但是请求XML中包含该接口不支持的Unknown节点。
问题示例
以下请求XML中包含Unknown节点,RestoreObject接口不支持该节点导致请求错误。
POST /coldarchiveobject?restore HTTP/1.1
Host: cold-archive-bucket.oss-cn-hangzhou.aliyuncs.com
Authorization: AWS qn6q**************:77Dv****************
Date: Tue, 21 Apr 2020 11:09:19 GMT
<RestoreRequest>
<Days>2</Days>
<Unknown></Unknown>
</RestoreRequest>解决方案
在使用 .NET SDK 解冻 OSS 中的文件时,参数配置需根据存储类型和 SDK 版本进行正确设置。
使用 C# SDK V1 版本:必须同时设置 request.Days 和 request.Tier 参数。不同存储类型的配置要求如下:
归档存储:设置 request.Tier = null,并根据需要设置 request.Days(指定解冻后保留天数)。
冷归档存储或深度冷归档存储:需根据业务紧急程度设置 request.Tier(可选值:Expedited、Standard、Bulk),同时指定 request.Days。
推荐使用 C# SDK V2 (预览版)版本:该版本支持自动适配不同存储类型的解冻规则。建议优先升级至 C# SDK V2(预览版) 进行操作。具体解冻文件示例请参考GitHub示例。
相关文档
该文章对您有帮助吗?