您可以通过API级命令向存储空间(Bucket)中上传文件(Object)。
注意事项
添加的Object大小不能超过5 GB。
默认情况下,如果已存在同名Object且对该Object有访问权限,则新添加的Object将覆盖原有的Object。
权限说明
阿里云账号默认拥有全部权限。阿里云账号下的RAM用户或RAM角色默认没有任何权限,需要阿里云账号或账号管理员通过RAM Policy或Bucket Policy授予操作权限。
API | Action | 说明 |
API | Action | 说明 |
PutObject |
| 上传Object。 |
| 上传Object时,如果通过x-oss-tagging指定Object的标签,则需要此操作的权限。 | |
| 上传Object时,如果Object的元数据包含X-Oss-Server-Side-Encryption: KMS,则需要这两个操作的权限。 | |
|
命令格式
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"
- 本页导读 (1)
- 注意事项
- 权限说明
- 命令格式
- 使用示例