aliyun / aliyun-oss-python-sdk

Aliyun OSS SDK for Python
MIT License
932 stars 363 forks source link

update_object_meta replaces previously added headers #323

Open tomplus opened 1 year ago

tomplus commented 1 year ago

Hello.

As I can see in the example in the documentation: https://www.alibabacloud.com/help/en/object-storage-service/latest/manage-object-metadata-1

after run this example

bucket.update_object_meta(key, {'x-oss-meta-author': 'O. Henry'})
bucket.update_object_meta(key, {'x-oss-meta-price': '100 dollar'})

I expect to have two headers x-oss-meta-author, x-oss-meta-price but only last one exists.

It looks like it's caused by this directive: https://github.com/aliyun/aliyun-oss-python-sdk/blob/fadfabbbdddd2b40c9da714a045ea59acd7bcab8/oss2/api.py#L1112

introduced by https://github.com/aliyun/aliyun-oss-python-sdk/commit/7769f1e7fa068b7e53a4c5336b168315382e17ed

Can this directive be removed or exposed as an optional argument? I'm ready to create a PR if you wish.

Thanks.