mc pipe
語法
mc pipe
命令會將內容從 STDIN 串流到目標物件。
以下命令將 STDIN
的內容寫入與 S3 相容的儲存空間。
echo "My Meeting Notes" | mc pipe s3/engineering/meeting-notes.txt
該命令具有以下語法
mc [GLOBALFLAGS] pipe \
TARGET \
[--attr "string"] \
[--checksum "string"] \
[--enc-kms "string"] \
[--enc-s3 "string"] \
[--enc-c "string"] \
[--storage-class, --sc "string"] \
[--tags "string"]
括號
[]
表示選用參數。同一行上的參數是互相依賴的。
使用管線
|
運算子分隔的參數是互斥的。
將範例複製到文字編輯器,並在終端機/殼層中執行命令之前根據需要修改。
變更於版本 RELEASE.2023-01-11T03-14-16Z:mc pipe
現在支援並行上傳,以提升大型串流的吞吐量。
參數
- TARGET
- 必要
執行命令的 別名 或前綴的完整路徑。
- --attr
- 選用
為物件新增自訂中繼資料。
將鍵值對指定為
KEY=VALUE\;
,並使用反斜線和分號 (\;
) 分隔每一對。例如,--attr key1=value1\;key2=value2\;key3=value3
。
- --checksum
- 選用
於版本 RELEASE.2024-10-02T08-27-28Z 新增。
為上傳的物件新增校驗和。
有效值為:-
MD5
-CRC32
-CRC32C
-SHA1
-SHA256
此標誌需要伺服器尾端標頭,並且適用於 AWS 或 MinIO 目標。
- --enc-kms
使用客戶管理金鑰,使用伺服器端 SSE-KMS 加密 加密或解密物件。
此參數接受格式為
KEY=VALUE
的鍵值對。KEY
物件的完整路徑,格式為
alias/bucket/path/object.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 加密 加密或解密物件。將物件的完整路徑指定為
alias/bucket/prefix/object
。例如
--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
物件的完整路徑,格式為
alias/bucket/path/object.ext
。您可以僅指定頂層路徑,以便對該路徑中的所有操作使用單一加密金鑰。
VALUE
指定用於 SSE-C 加密的 32 位元組 RawBase64 編碼金鑰或 64 位元組十六進位編碼金鑰。
Raw Base64 編碼拒絕
=
填補金鑰。省略填補或使用支援 RAW 格式的 Base64 編碼器。KEY
- 物件的完整路徑,格式為alias/bucket/path/object
。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。
全域標誌
此命令支援任何 全域標誌。
範例
將 STDIN
的內容寫入本機檔案系統
以下命令會將 STDIN 的內容寫入本機檔案系統上的 /tmp
資料夾。
mc pipe /tmp/hello-world.go
將 ISO 映像複製到 S3 儲存體
以下命令會先串流 Debian 的 iso 映像內容,然後使用該串流在 S3 路徑建立物件。
cat debian-live-11.5.0-amd64-mate.iso | mc pipe s3/opensource-isos/debian-11-5.iso
將 MySQL 資料庫傾印串流至 S3
以下命令會先串流 MySQL 資料庫,然後使用該串流,透過 mc pipe
在 S3 上建立備份。
mysqldump -u root -p ******* accountsdb | mc pipe s3/sql-backups/backups/accountsdb-sep-28-2022.sql
將檔案寫入精簡冗餘儲存類別
以下命令會取得 STDIN 串流,並在 S3 上的精簡冗餘儲存類別上建立物件。
mc pipe --storage-class REDUCED_REDUNDANCY s3/personalbuck/meeting-notes.txt
將檔案複製到具有中繼資料的 MinIO 部署
以下命令會將 MP3 檔案上傳到具有 myminio
別名和 music
儲存體的 MinIO 部署。此物件會寫入 Cache-Control
和 Artist
的一些中繼資料。
cat music.mp3 | mc pipe --attr "Cache-Control=max-age=90000,min-fresh=9000;Artist=Unknown" myminio/music/guitar.mp3