您可以通過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"