mc put
新版本:RELEASE.2024-02-24T01-33-20Z
語法
mc put
會將物件從本機檔案系統上傳到目標 S3 部署上的儲存桶。
與 mc cp
或 mc 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 目標。
- --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。
全域旗標
此指令支援任何 全域旗標。
範例
上傳檔案並指定物件名稱
以下指令會將本機檔案系統中的檔案 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