您可以通過API級命令向儲存空間(Bucket)中上傳檔案(Object)。
注意事項
添加的Object大小不能超過5 GB。
預設情況下,如果已存在同名Object且對該Object有存取權限,則新添加的Object將覆蓋原有的Object。
許可權說明
阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM Policy或Bucket Policy授予操作許可權。
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"