文件

mc put

新版本:RELEASE.2024-02-24T01-33-20Z

語法

mc put 會將物件從本機檔案系統上傳到目標 S3 部署上的儲存桶。

mc cpmc mirror 相比,mc put 提供了一個簡化的檔案上傳介面。mc put 使用單向上傳功能,以效率換取其他命令的功能和複雜性。

以下範例會將本機檔案系統路徑 ~/images/collateral/ 中的檔案 logo.png 上傳到別名為 minio 的 MinIO 部署上的 marketing 儲存桶。

mc put ~/images/collateral/logo.png minio/marketing

此命令具有以下語法

mc [GLOBALFLAGS] put                      \
                 TARGET                   \
                 [--checksum value]       \
                 [--disable-multipart]    \
                 [--enc-kms value]        \
                 [--enc-s3 value]         \
                 [--enc-c value]          \
                 [--if-not-exists]        \
                 [--parallel, -P integer] \
                 [--part-size, -s string]
  • 括號 [] 表示選用參數。

  • 同一行共用參數是相互依賴的。

  • 使用管道 | 運算子分隔的參數是互斥的。

將範例複製到文字編輯器並根據需要修改,然後在終端機/shell 中執行命令。

參數

TARGET
必要

指令應執行的 別名 或前綴的完整路徑。目標 (TARGET) *必須* 包含一個 別名bucket 名稱。

目標 (TARGET) 也可能包含以下可選的組件:- 物件應上傳到的前綴 (PREFIX) - 用來取代檔案名稱的物件名稱 (OBJECT-NAME)

有效的目標 (TARGET) 可以採用以下任何一種形式: - 別名/儲存桶 - 別名/儲存桶/前綴 - 別名/儲存桶/物件名稱 - 別名/儲存桶/前綴/物件名稱

--checksum
可選

在版本 RELEASE.2024-10-02T08-27-28Z 中新增。

將校驗和新增到已上傳的物件。

有效的值為: - MD5 - CRC32 - CRC32C - SHA1 - SHA256

此標誌需要伺服器追蹤標頭,並且適用於 AWS 或 MinIO 目標。

--disable-multipart
可選

在版本 RELEASE.2024-10-02T08-27-28Z 中新增。

停用多部分上傳,並指示 mc 在單一 PUT 操作中傳送物件。

--enc-kms

使用客戶端管理的金鑰,使用伺服器端 SSE-KMS 加密 加密或解密物件。

此參數接受格式為 KEY=VALUE 的鍵值對

KEY

物件的完整路徑,如 別名/儲存桶/路徑/物件.ext

您可以僅指定頂層路徑,以便在該路徑中的所有操作中使用單一加密金鑰。

VALUE

指定外部 KMS 上的現有資料金鑰。

請參閱 mc admin kms key create 參考資料,以建立資料金鑰。

例如

--enc-kms "myminio/mybucket/prefix/object.obj=mybucketencryptionkey"

您可以透過重複參數來指定多個加密金鑰。

指定前綴的路徑,以將加密套用至該路徑上所有符合的物件

--enc-kms "myminio/mybucket/prefix/=mybucketencryptionkey"
--enc-s3
可選

使用 KMS 管理的金鑰,透過伺服器端 SSE-S3 加密 加密或解密物件。將物件的完整路徑指定為 別名/儲存桶/前綴/物件

例如

--enc-s3 "myminio/mybucket/prefix/object.obj"

您可以多次指定參數以表示要加密的不同物件。

--enc-s3 "myminio/mybucket/foo/fooobject.obj" --enc-s3 "myminio/mybucket/bar/barobject.obj"

指定前綴的路徑,以將加密套用至該路徑上所有符合的物件

--enc-s3 "myminio/mybucket/foo"
--enc-c
可選

使用客戶端管理的金鑰,透過伺服器端 SSE-C 加密 加密或解密物件。

此參數接受格式為 KEY=VALUE 的鍵值對

KEY

物件的完整路徑,如 別名/儲存桶/路徑/物件.ext

您可以僅指定頂層路徑,以便在該路徑中的所有操作中使用單一加密金鑰。

VALUE

指定用於 SSE-C 加密的 32 位元組 RawBase64 編碼金鑰 *或* 64 位元組十六進位編碼金鑰。

Raw Base64 編碼**拒絕** = 填補的金鑰。省略填補或使用支援 RAW 格式的 Base64 編碼器。

  • KEY - 物件的完整路徑,如 別名/儲存桶/路徑/物件

  • VALUE - 用於加密物件的 32 位元組 RAW Base64 編碼資料金鑰。

例如

# RawBase64-Encoded string "mybucket32byteencryptionkeyssec"
--enc-c "myminio/mybucket/prefix/object.obj=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"

您可以透過重複參數來指定多個加密金鑰。

指定前綴的路徑,以將加密套用至該路徑上所有符合的物件

--enc-c "myminio/mybucket/prefix/=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"

注意

MinIO 強烈建議不要在生產工作負載中使用 SSE-C 加密。請改用透過 --enc-kms 的 SSE-KMS 或透過 --enc-s3 參數的 SSE-S3。

--parallel, --P
可選

對於多部分上傳,請指定要平行上傳的物件部分數量。

如果未定義,則預設值為 4

--part-size, -s
可選

指定用於多部分上傳的每個部分的大小。

如果未定義,則預設值為 16MiB

全域旗標

此指令支援任何 全域旗標

範例

上傳檔案並指定物件名稱

以下指令會將本機檔案系統中的檔案 logo.png 上傳到 minio 部署上的 business 儲存桶,並將其上傳到目的地作為 company-logo.png

mc put images/collateral/logo.png minio/business/company-logo.png

平行上傳具有指定部分大小的多部分物件

以下指令會以 20MiB 的區塊上傳檔案,並平行上傳檔案的 8 個部分。 依序上傳 8 個部分,直到上傳物件的所有部分為止。

mc put ~/videos/collateral/splash-page.mp4 minio/business --parallel 8 --part-size 20MiB