put-object

更新时间:2025-04-01 03:15:52

您可以通过API级命令向存储空间(Bucket)中上传文件(Object)。

注意事项

  • 添加的Object大小不能超过5 GB。

  • 默认情况下,如果已存在同名Object且对该Object有访问权限,则新添加的Object将覆盖原有的Object。

权限说明

阿里云账号默认拥有全部权限。阿里云账号下的RAM用户或RAM角色默认没有任何权限,需要阿里云账号或账号管理员通过RAM PolicyBucket Policy授予操作权限。

API

Action

说明

API

Action

说明

PutObject

oss:PutObject

上传Object。

oss:PutObjectTagging

上传Object时,如果通过x-oss-tagging指定Object的标签,则需要此操作的权限。

kms:GenerateDataKey

上传Object时,如果Object的元数据包含X-Oss-Server-Side-Encryption: KMS,则需要这两个操作的权限。

kms:Decrypt

命令格式

ossutil api put-object --bucket value --key value [flags]

参数

类型

说明

参数

类型

说明

--body

string

请求体。

--bucket

string

Bucket名称。

--cache-control

string

指定该Object的网页缓存行为。

--content-disposition

string

指定该Object被上传时的名称。

--content-encoding

string

指定该Object的内容编码格式。

--expires

string

过期时间。

--forbid-overwrite

boolean

指定是否覆盖同名目标Object。

--key

string

Object的完整路径。

--metadata

stringArray

指定设置的元数据,如需要自定义携带的元数据,需配置以x-oss-meta-*为前缀的参数。

--object-acl

string

指定Object的访问权限。

--server-side-data-encryption

string

创建Object时,指定服务器端加密方式。

--server-side-encryption

string

指定服务器端加密方式。

--server-side-encryption-key-id

string

表示KMS托管的用户主密钥。

--storage-class

string

指定Object的存储类型。

--tagging

string

指定Object的对象标签,可同时设置多个标签,例如TagA=ATagB=B。

说明

使用示例

  • 以字符串的形式上传文件。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss"
  • 以文件的形式上传。

    ossutil api put-object --bucket examplebucket --key exampleobject --body file://uploadFile
  • 以字符串的形式上传文件并携带自定义元数据。

    ossutil api put-object --bucket examplebucket --key exampleobject  --metadata user=aliyun --metadata email=ali***@aliyuncs.com --body "hi oss"
  • 以字符串的形式上传文件并指定object的标签信息。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --tagging "TagA=A&TagB=B"
  • 以字符串的形式上传文件并指定object的访问权限以及存储类型。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --object-acl private --storage-class IA
  • 以字符串的形式上传文件并指定object服务器端加密方式。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --server-side-encryption KMS --server-side-data-encryption SM4 --server-side-encryption-key-id 9468da86-3509-4f8d-a61e-6eab1eac****
  • 以字符串的形式上传文件并禁止覆盖同名Object。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --forbid-overwrite true
  • 以字符串的形式上传文件并指定该Object被下载时网页的缓存行为。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --cache-control no-cache
  • 以字符串的形式上传文件并指定该Object被下载时的名称。

    ossutil api put-object --bucket examplebucket --key exampleobject --body "hi oss" --content-disposition "attachment;filename=oss_download.jpg"
  • 本页导读 (1)
  • 注意事项
  • 权限说明
  • 命令格式
  • 使用示例