Skip to content

AlibabaCloud.SDK.Oss20190517 问题简单汇总 #11

Open
@jacksonwj

Description

@jacksonwj

由于在阿里云的 SDK 文档中,没有 C# 升级版的示例代码,只能摸索着测试,在目前用到的功能,碰到的异常和问题,罗列出来:

异常

  1. GetObjectWithOptionsAsyncAlibabaCloud.SDK.Oss20190517 仍然无法使用 #10 的异常:Object must implement IConvertible.(在调用 CopyObjectWithOptionsAsync 之前,调用了获取文件的方法,由于报异常,所以没有对复制文件的方法进行测试)

  2. DeleteMultipleObjectsWithOptionsAsync 异常:unsupported nest list.

  3. GetObjectTaggingWithOptionsAsync 异常:The request signature we calculated does not match the signature you provided. Check your key and signing method.(其他 Object 的方法都能正常访问,这个方法,提示签名算法异常)

其他

  1. 原 SDK 的 OssObjectSummary 中,含有 BucketName 这个属性,在新 SDK 的 Models.ObjectSummary 中,不再含有该属性,而是在 ListObjectsV2ResponseBody 中统一用 Name。请问,是否确定移除 Models.ObjectSummary 中的 BucketName 属性?

  2. ListObjectsV2WithOptionsAsync 请求/返回中的 StartAfter,请问,该属性,是否是原 SDK 中的 NextMarker

    • 如果是,在调用 ListObjectsV2WithOptionsAsync 之后,StartAfter 返回值为 null(已确定 Bucket 中的文件数量大于 Models.ListObjectsV2Request 中的 MaxKeys
    • 如果不是,那怎么对 Bucket 中的文件进行分页?
  3. 除了个别属性不同,请问,ListObjectsListObjectsV2 还有什么区别吗?看文档,建议使用 V2,意思是,后续 ListObjects 会删除吗?

    • 如果要删除,建议将 ListObjects 标记为已过时,并提示将在 xxx 版本删除。
    • 如果不删除,请说明一下两个方法的区别和使用场景。
  4. CopyObjectWithOptionsAsync 方法的前两个参数,是拷贝时的目的 Bucket 和 Key 吧?如果是,建议调整参数名(类似:DestBucket 之类的),这样更直观。

总的来说,升级版和旧版,有一些属性上的差异,我觉得是正常的,不过,感觉升级版的 SDK 待完善的地方还有很多,我这里只是我在项目里用到的方法的一个汇总。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions