alibabacloud-csharp-sdk
alibabacloud-csharp-sdk copied to clipboard
AlibabaCloud.SDK.Oss20190517 问题简单汇总
由于在阿里云的 SDK 文档中,没有 C# 升级版的示例代码,只能摸索着测试,在目前用到的功能,碰到的异常和问题,罗列出来:
异常
-
GetObjectWithOptionsAsync
报 #10 的异常:Object must implement IConvertible.
(在调用CopyObjectWithOptionsAsync
之前,调用了获取文件的方法,由于报异常,所以没有对复制文件的方法进行测试) -
DeleteMultipleObjectsWithOptionsAsync
异常:unsupported nest list.
-
GetObjectTaggingWithOptionsAsync
异常:The request signature we calculated does not match the signature you provided. Check your key and signing method.
(其他 Object 的方法都能正常访问,这个方法,提示签名算法异常)
其他
-
原 SDK 的
OssObjectSummary
中,含有BucketName
这个属性,在新 SDK 的Models.ObjectSummary
中,不再含有该属性,而是在ListObjectsV2ResponseBody
中统一用Name
。请问,是否确定移除Models.ObjectSummary
中的BucketName
属性? -
ListObjectsV2WithOptionsAsync
请求/返回中的StartAfter
,请问,该属性,是否是原 SDK 中的NextMarker
?- 如果是,在调用
ListObjectsV2WithOptionsAsync
之后,StartAfter
返回值为null
(已确定Bucket
中的文件数量大于Models.ListObjectsV2Request
中的MaxKeys
) - 如果不是,那怎么对
Bucket
中的文件进行分页?
- 如果是,在调用
-
除了个别属性不同,请问,
ListObjects
和ListObjectsV2
还有什么区别吗?看文档,建议使用 V2,意思是,后续ListObjects
会删除吗?- 如果要删除,建议将
ListObjects
标记为已过时,并提示将在 xxx 版本删除。 - 如果不删除,请说明一下两个方法的区别和使用场景。
- 如果要删除,建议将
-
CopyObjectWithOptionsAsync
方法的前两个参数,是拷贝时的目的 Bucket 和 Key 吧?如果是,建议调整参数名(类似:DestBucket 之类的),这样更直观。
总的来说,升级版和旧版,有一些属性上的差异,我觉得是正常的,不过,感觉升级版的 SDK 待完善的地方还有很多,我这里只是我在项目里用到的方法的一个汇总。
感谢反馈,我们安排同学排查下。
感谢反馈,我们安排同学排查下。
请问这个还有下文吗?
@yndu13 这个还有下文吗?
几个月过去了,问题还在(当前版本1.0.6
):
System.InvalidCastException: Object must implement IConvertible.
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at Tea.TeaModel.MapObj(Type propertyType, Object value)
at Tea.TeaModel.ToObject[T](Dictionary`2 dict, T obj)
at Tea.TeaModel.ToObject[T](IDictionary dict)
at AlibabaCloud.SDK.Oss20190517.Client.GetObjectWithOptionsAsync(String bucket, String key, GetObjectRequest request, GetObjectHeaders headers, RuntimeOptions runtime)
at AlibabaCloud.SDK.Oss20190517.Client.GetObjectAsync(String bucket, String key, GetObjectRequest request)
GetObject 好像同样的问题,是不是没得救了?