全部產品
Search
文件中心

:put-object

更新時間:Apr 02, 2025

您可以通過API級命令向儲存空間(Bucket)中上傳檔案(Object)。

注意事項

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

  • 預設情況下,如果已存在同名Object且對該Object有存取權限,則新添加的Object將覆蓋原有的Object。

許可權說明

阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM PolicyBucket Policy授予操作許可權。

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=A和TagB=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"