全部產品
Search
文件中心

:upload-part-copy

更新時間:Nov 28, 2024

upload-part-copy用於從一個已存在的Object中拷貝資料來上傳一個Part。

注意事項

  • 阿里雲帳號預設擁有設定和擷取Object的許可權。如果您需要通過RAM使用者或者STS的方式進行設定和擷取,您必須擁有oss:PutObjectoss:GetObject許可權。具體操作,請參見為RAM使用者授權自訂的權限原則

  • 當拷貝一個大於1 GB的檔案時,必須使用upload-part-copy的方式進行拷貝。如果想通過單個操作拷貝小於1 GB的檔案,請參見copy-object

  • 執行upload-part-copy的源Bucket地址和目標Bucket地址必須是同一個Region。

  • 調用該介面上傳Part資料前,必須先調用initiate-multipart-upload來擷取一個OSS伺服器產生的Upload ID。

命令格式

ossutil api upload-part-copy --bucket value --key value --copy-source value --part-number value --upload-id value [flags]

參數

類型

說明

--bucket

string

Bucket名稱。

--key

string

Object的完整路徑。

--copy-source

string

拷貝源地址(必須有可讀許可權),其格式為:bucket/UrIEncode(key),需要對來源物件名做url encode編碼。

--copy-source-if-match

string

如果源Object的ETAG值和使用者提供的ETAG相等,則執行拷貝操作;否則返回412 HTTP錯誤碼(預先處理失敗)。

--copy-source-if-modified-since

string

如果指定的時間早於實際修改時間,則正常傳送檔案,並返回200 OK;否則返回304 not modified。

--copy-source-if-none-match

string

如果傳入的ETag值和Object的ETag不匹配,則正常傳輸檔案,並返回200 OK;否則返回304 Not Modified。

--copy-source-if-unmodified-since

string

如果傳入參數中的時間等於或者晚於檔案實際修改時間,則正常傳輸檔案,並返回200 OK;否則返回412 precondition failed錯誤

--copy-source-range

string

源Object的拷貝範圍。

--metadata-directive

string

指定如何設定目標Object的元資訊。

--part-number

string

每一個上傳的Part都有一個標識它的號碼(partNumber)。

--tagging

string

指定Object的標籤。

--tagging-directive

string

指定如何設定目標Object的對象標籤。

--upload-id

string

MultipartUpload事件的ID。

說明

使用樣本

  • 從已存在srcbucket裡srcobject的目前的版本中拷貝資料來上傳一個Part。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1
  • 從已存在srcbucket裡srcobject的目前的版本中拷貝資料來上傳一個Part,以JSON格式顯示。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --output-format json
  • 從已存在srcbucket裡srcobject的目前的版本中拷貝資料來上傳一個Part,以YAML格式顯示。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --output-format json
  • 從已存在srcbucket裡srcobject的目前的版本中拷貝資料來上傳一個Part,拷貝範圍是0-9。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --copy-source-range bytes=0-9
  • 從已存在srcbucket裡srcobject的目前的版本中拷貝資料來上傳一個Part,如果srcObject的ETag 等於 123 則執行拷貝。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --copy-source-if-match 123
  • 從已存在srcbucket裡srcobject的目前的版本中拷貝資料來上傳一個Part,如果srcObject的修改時間早於 Mon, 11 May 2020 08:16:23 GMT 則執行拷貝。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --copy-source-if-unmodified-since "Mon, 11 May 2020 08:16:23 GMT"
  • 從已存在srcbucket裡srcobject的目前的版本中拷貝資料來上傳一個Part,忽略源object的中繼資料,直接採用請求中指定的中繼資料。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --metadata-directive REPLACE --metadata user=aliyun --metadata email=ali***@aliyuncs.com
  • 從已存在srcbucket裡srcobject的目前的版本中拷貝資料來上傳一個Part,忽略源Object的對象標籤,直接採用請求中指定的對象標籤。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --tagging-directive Replace --tagging "TagA=A&TagB=B"
  • 從已存在srcbucket裡srcobject的目前的版本中拷貝資料來上傳一個Part,指定object的存取權限以及儲存類型。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --object-acl private --storage-class IA