Documentation

mc put

New in version mc: RELEASE.2024-02-24T01-33-20Z

Syntax

The mc put uploads an object from the local file system to a bucket on a target S3 deployment.

mc put provides a simplified interface for uploading files compared to mc cp or mc mirror. mc put uses a one-way upload function that trades efficiency for the power and complexity of the other commands.

The following uploads the file logo.png from the local file system at path ~/images/collateral/ to a bucket called marketing on the MinIO deployment with the alias of minio.

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

The command has the following syntax:

mc [GLOBALFLAGS] put                      \
                 TARGET                   \
                 [--enc-c value]          \
                 [--enc-kms value]        \
                 [--enc-s3 value]         \
                 [--if-not-exists]        \
                 [--parallel, -P integer] \
                 [--part-size, -s string]
  • Brackets [] indicate optional parameters.

  • Parameters sharing a line are mutually dependent.

  • Parameters separated using the pipe | operator are mutually exclusive.

Copy the example to a text editor and modify as-needed before running the command in the terminal/shell.

Parameters

TARGET
Required

The full path to the alias or prefix where the command should run. The TARGET must contain an alias and bucket name.

The TARGET may also contain the following optional components: - PREFIX where the object should upload to - OBJECT-NAME to use in place of the file names

Valid TARGETs could take any of the following forms: - ALIAS/BUCKET - ALIAS/BUCKET/PREFIX - ALIAS/BUCKET/OBJECT-NAME - ALIAS/BUCKET/PREFIX/OBJECT-NAME

--enc-c
Optional

Encrypt or decrypt objects using client provided keys. Repeat the flag to pass multiple keys.

Keys must be in either Raw Base64 or Hex format.

--enc-kms
Optional

Encrypt or decrypt objects using specific server-side keys. Repeat the flag to pass multiple keys.

Defaults to the value in the MC_ENC_KMS environment variable.

--enc-s3
Optional

Encrypt or decrypt objects using default server-side keys and configurations. Repeat the flag to pass multiple keys.

Defaults to the value in the MC_ENC_S3 environment variable.

--parallel, --P
Optional

For multi-part uploads, specify the number of parts of the object to upload in parallel.

If not defined, defaults to a value of 4.

--part-size, -s
Optional

Specify the size to use for each part of a multi-part upload.

If not defined, defaults to a value of 16MiB.

Global Flags

This command supports any of the global flags.

Examples

Upload a File and Specify the Object Name

The following command uploads the file logo.png from the local file system to the business bucket on the minio deployment, uploading it on the destination as company-logo.png.

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

Upload a Multipart Object in Parallel with a Specified Part Size

The following command uploads a file in chunks of 20MiB each and uploads 8 parts of the file in parallel. 8 parts are uploaded in succession until all parts of the object have uploaded.

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