您可以通过API级命令向存储空间(Bucket)中上传文件(Object)。
注意事项
阿里云账号默认拥有上传文件的权限。如果您需要通过RAM用户或者STS的方式进行上传,您必须拥有
oss:PutObject
权限。具体操作,请参见为RAM用户授权自定义的权限策略。添加的Object大小不能超过5 GB。
默认情况下,如果已存在同名Object且对该Object有访问权限,则新添加的Object将覆盖原有的Object。
命令格式
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=A和TagB=B。 |
put-object命令对应API接口PutObject。关于API中的具体参数含义,请参见PutObject。
关于支持的全局命令行选项,请参见支持的全局命令行选项。
使用示例
以字符串的形式上传文件。
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"