# Minio

{% code fullWidth="true" %}

```
NAME:
   singularity storage create s3 minio - Minio 对象存储

用法：
   singularity storage create s3 minio [command options] [arguments...]

描述：
   --env-auth
      从运行时获取 AWS 凭证（环境变量或 EC2/ECS 元数据）。
      
      仅当 access_key_id 和 secret_access_key 都为空时应用。

      示例：
         | false | 在下一步输入 AWS 凭证。
         | true  | 从环境（环境变量或 IAM）中获取 AWS 凭证。

   --access-key-id
      AWS 访问密钥 ID。
      
      对于匿名访问或运行时凭证，请留空。

   --secret-access-key
      AWS 秘密访问密钥（密码）。
      
      对于匿名访问或运行时凭证，请留空。

   --region
      要连接的区域。
      
      如果您使用的是 S3 克隆，并且没有区域，请留空。

      示例：
         | <unset>            | 如果不确定，请使用此选项。
         |                    | 将使用 v4 签名和空区域。
         | other-v2-signature | 仅在 v4 签名无法使用时使用此选项。
         |                    | 例如，Jewel/v10 之前的 CEPH。

   --endpoint
      S3 API 的接入点。
      
      使用 S3 克隆时需要提供此选项。

   --location-constraint
      区域限制 - 必须与区域相匹配。
      
      如果不确定，请留空。仅在创建存储桶时使用。

   --acl
      在创建存储桶、存储对象或复制对象时使用的权限控制。
      
      此权限控制用于创建对象，并且如果没有设置 bucket_acl，则也用于创建存储桶。
      
      有关更多信息，请访问 https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
      
      请注意，此权限控制将在服务器端复制对象时应用，
      因为 S3 不会复制源的权限控制，而是写入一个新的权限控制。
      
      如果权限控制为空字符串，则不添加 X-Amz-Acl: 标头，并使用默认权限（private）。

   --bucket-acl
      在创建存储桶时使用的权限控制。
      
      有关更多信息，请访问 https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
      
      请注意，仅在创建存储桶时应用此权限控制。如果未设置，则使用 "acl"。
      
      如果 "acl" 和 "bucket_acl" 都为空字符串，则不添加 X-Amz-Acl: 标头，并使用默认权限（private）。

      示例：
         | private            | 所有者获得 FULL_CONTROL 权限。
         |                    | 没有其他用户有访问权限（默认）。
         | public-read        | 所有者获得 FULL_CONTROL 权限。
         |                    | 所有用户组获得 READ 权限。
         | public-read-write  | 所有者获得 FULL_CONTROL 权限。
         |                    | 所有用户组获得 READ 和 WRITE 权限。
         |                    | 不推荐在存储桶上授予此权限。
         | authenticated-read | 所有者获得 FULL_CONTROL 权限。
         |                    | 所有认证用户组获得 READ 权限。

   --server-side-encryption
      在将对象存储到 S3 时使用的服务器端加密算法。

      示例：
         | <unset> | 禁用
         | AES256  | AES256

   --sse-customer-algorithm
      如果使用 SSE-C，则在将对象存储到 S3 时使用的服务器端加密算法。

      示例：
         | <unset> | 禁用
         | AES256  | AES256

   --sse-kms-key-id
      如果使用 KMS ID，则必须提供密钥的 ARN。

      示例：
         | <unset>                 | 禁用
         | arn:aws:kms:us-east-1:* | arn:aws:kms:*

   --sse-customer-key
      如果使用 SSE-C，则可以提供用于加密/解密数据的秘密加密密钥。
      
      或者，可以提供 --sse-customer-key-base64。

      示例：
         | <unset> | 禁用

   --sse-customer-key-base64
      如果使用 SSE-C，则必须以 Base64 格式提供用于加密/解密数据的秘密加密密钥。
      
      或者，可以提供 --sse-customer-key。

      示例：
         | <unset> | 禁用

   --sse-customer-key-md5
      如果使用 SSE-C，则可以提供秘密加密密钥的 MD5 校验和（可选）。
      
      如果留空，则会自动从提供的 sse_customer_key 计算此值。
      

      示例：
         | <unset> | 禁用

   --upload-cutoff
      切换到分块上传的最小文件大小。
      
      大于此大小的任何文件将以块的形式上传，每块大小为 chunk_size。
      允许的最小值为 0，最大值为 5 GiB。

   --chunk-size
      用于上传的块大小。
      
      当上传大于 upload_cutoff 的文件或大小未知的文件（例如使用 "rclone rcat" 或使用 "rclone mount" 或上传的谷歌照片或谷歌文档）时，将使用此块大小进行分块上传。
      
      请注意，每次传输会在内存中缓冲这个大小的 "--s3-upload-concurrency"个块。
      
      如果您正在通过高速链接传输大文件并且具有足够的内存，则增加此大小将加快传输速度。
      
      当上传已知大小的大文件时，rclone 会自动增加分块大小，以保持在 10,000 个分块限制之下。
      
      未知大小的文件使用配置的 chunk_size 进行上传。
      由于默认的分块大小为 5 MiB，并且最多可以有 10,000 个分块，这意味着默认情况下您可以流式上传的文件的最大大小为 48 GiB。如果要流式上传更大的文件，则需要增加 chunk_size。
      
      增加块大小会减少使用 "-P" 标志时显示的进度统计数据的准确性。
      当 AWS SDK 缓冲了一个块时，rclone 将把其视为已发送，但实际上可能仍在上传中。
      更大的块大小意味着更大的 AWS SDK 缓冲区和与真相更偏离的进度报告。
      

   --max-upload-parts
      多部分上传中的最大部分数。
      
      此选项定义进行多部分上传时要使用的最大多部分块数。
      
      如果服务不支持 AWS S3 中的 10,000 个多部分块的规范，则此选项可能有用。
      
      当上传已知大小的大文件时，rclone 会自动增加分块大小，以保持在此部分数限制之下。
      

   --copy-cutoff
      切换到多部分复制的最小文件大小。
      
      需要服务器端复制的大于此大小的文件将以此大小的块进行复制。
      
      允许的最小值为 0，最大值为 5 GiB。

   --disable-checksum
      不要将 MD5 校验和与对象的元数据一起存储。
      
      通常，rclone 会在上传之前计算输入的 MD5 校验和，以便将其添加到对象的元数据中。这可以用于进行数据完整性检查，但是对于大文件来说，可能会导致长时间的上传延迟。

   --shared-credentials-file
      共享凭证文件的路径。
      
      如果 env_auth = true，则 rclone 可以使用共享凭证文件。
      
      如果此变量为空，则 rclone 将查找 "AWS_SHARED_CREDENTIALS_FILE" 环境变量。如果环境变量的值为空，则将使用当前用户的主目录。
      
          Linux/OSX: "$HOME/.aws/credentials"
          Windows:   "%USERPROFILE%\.aws\credentials"
      

   --profile
      共享凭证文件中要使用的配置文件。
      
      如果 env_auth = true，则 rclone 可以使用共享凭证文件。此变量控制在该文件中使用哪个配置文件。
      
      如果为空，则默认为环境变量 "AWS_PROFILE" 或 "default"（如果环境变量也未设置）。
      

   --session-token
      AWS 会话令牌。

   --upload-concurrency
      多部分上传的并发数。
      
      同一文件的这么多块同时上传。
      
      如果您在高速链接上上传数量较小的大文件，并且这些上传未完全利用您的带宽，则增加此数字可能有助于加快传输速度。

   --force-path-style
      如果为 true，则使用路径样式访问；如果为 false，则使用虚拟主机样式访问。
      
      如果为 true（默认），则 rclone 将使用路径样式访问，如果为 false，则 rclone 将使用虚拟主机样式访问。有关更多信息，请参阅 [AWS S3 文档](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro)。
      
      某些提供者（例如 AWS、阿里云 OSS、网易云 COS 或腾讯云 COS）要求将其设置为 false - rclone 会根据提供者的设置自动执行此操作。

   --v2-auth
      如果为 true，则使用 v2 认证。
      
      如果为 false（默认），则 rclone 将使用 v4 认证。如果设置，则 rclone 将使用 v2 认证。
      
      仅当 v4 签名无法使用时才使用此选项，例如在 Jewel/v10 之前的 CEPH 中使用。

   --list-chunk
      列表块的大小（每个 ListObject S3 请求的响应列表大小）。
      
      此选项也称为 AWS S3 规范中的 "MaxKeys"、"max-items" 或 "page-size"。
      大多数服务对响应列表进行截断，即使请求的大小超过了这个限制。
      在 AWS S3 中，这是一个全局最大值，无法更改，请参阅 [AWS S3](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html)。
      在 Ceph 中，可以通过 "rgw list buckets max chunk" 选项进行增加。
      

   --list-version
      要使用的 ListObjects 版本：1、2 或 0（自动）。
      
      当 S3 最初发布时，它只提供了 ListObjects 调用来枚举存储桶中的对象。
      
      但是，在 2016 年 5 月，引入了 ListObjectsV2 调用。这是更高性能的，应尽可能使用。
      
      如果设置为默认值 0，则 rclone 将根据设置的提供者猜测要调用哪个列表对象方法。如果它的猜测错误，则可以在此处手动设置它。
      

   --list-url-encode
      是否对列表进行 URL 编码：true/false/unset
      
      某些提供者支持对列表进行 URL 编码，若可用，则在文件名中使用控制字符更可靠。如果设置为 unset（默认值），则 rclone 会根据提供者的设置选择要应用的方式，但您可以在此处覆盖 rclone 的选择。
      

   --no-check-bucket
      如果设置，则不尝试检查存储桶是否存在或创建它。
      
      如果您知道存储桶已存在，尽量减少 rclone 进行的事务数，这可能有用。
      
      如果您使用的用户没有创建存储桶的权限，也可能需要使用此选项。在 v1.52.0 之前，由于错误，此选项会静默通过。
      

   --no-head
      如果设置，则不进行 HEAD 操作以检查已上传对象的完整性。
      
      如果尽量减少 rclone 执行的事务数量，这可能有用。
      
      如果 rclone 在 PUT 操作后收到 200 OK 消息，则会假定对象已正确上传。
      
      具体来说，它将假设：
      
      - 元数据，包括修改时间、存储类和内容类型与上传一致
      - 大小与上传一致
      
      它从单个部分 PUT 的响应中读取以下项目：
      
      - MD5SUM
      - 上传的日期
      
      对于多部分上传，不会读取这些项目。
      
      如果上传一个未知长度的源对象，则 rclone **将**执行 HEAD 请求。
      
      设置此标志会增加未检测到的上传故障的可能性，特别是大小不正确，因此不建议在正常操作中使用。实际上，即使使用此标志，未检测到的上传故障的几率也非常小。
      

   --no-head-object
      如果设置，则在 GET 对象时不执行 HEAD 操作。

   --encoding
      后端的编码方式。
      
      有关更多信息，请参阅[概述中的编码部分](/overview/#encoding)。

   --memory-pool-flush-time
      内部内存缓冲池刷新频率。
      
      需要额外缓冲区的上传（例如分块上传）将使用内存池进行分配。
      此选项控制多久删除未使用的缓冲区。

   --memory-pool-use-mmap
      是否在内部内存池中使用 mmap 缓冲区。

   --disable-http2
      禁用 S3 后端使用 http2。
      
      目前，s3 后端（特别是 Minio 后端）存在未解决的问题与 HTTP/2 相关。HTTP/2 在 S3 后端中默认启用，但可以在此禁用。问题解决后，将删除此标志。
      
      参见：https://github.com/rclone/rclone/issues/4673，https://github.com/rclone/rclone/issues/3631，
      

   --download-url
      下载的自定义端点。
      这通常设置为 CloudFront CDN URL，因为 AWS S3 提供通过 CloudFront 网络下载数据的更便宜的出口带宽。

   --use-multipart-etag
      是否在多部分上传中使用 ETag 进行验证
      
      这应该设置为 true、false 或留空以使用提供者的默认值。
      

   --use-presigned-request
      是否在单块上传时使用预签名请求或 PutObject。
      
      如果为 false，则 rclone 会使用 AWS SDK 的 PutObject 上传对象。
      
      rclone < 1.59 的版本使用预签名请求上传单部分对象，将此标志设置为 true 将重新启用该功能。除非特殊情况或测试，否则不应该使用此功能。
      

   --versions
      在目录列表中包括旧版本。

   --version-at
      显示指定时间的文件版本。
      
      参数应为日期 "2006-01-02"、日期时间 "2006-01-02
      15:04:05" 或表示以前时间的持续时间，例如 "100d" 或 "1h"。
      
      请注意，使用此选项时，不允许进行文件写操作，因此无法上传文件或删除文件。
      
      有关有效格式，请参阅 [time 选项文档](/docs/#time-option)。
      

   --decompress
      如果设置，将解压缩 gzip 编码的对象。
      
      可以将对象以 "Content-Encoding: gzip" 上传到 S3。通常情况下，rclone 会将这些文件下载为压缩对象。
      
      如果设置了此标志，则 rclone 会在接收到具有 "Content-Encoding: gzip" 的文件时进行解压缩。这意味着 rclone 无法检查大小和哈希，但是文件内容将被解压缩。
      

   --might-gzip
      如果存储后端可能对对象进行 gzip 压缩，请设置此标志。
      
      通常情况下，提供者在下载时不会更改对象。如果对象没有使用 `Content-Encoding: gzip` 上传，那么在下载时也不会设置该标头。
      
      但是，一些提供者甚至在对象没有使用 `Content-Encoding: gzip` 上传时也可能对其进行 gzip 压缩（例如 Cloudflare）。
      
      这种情况下的一种症状是接收到如下错误：
      
          ERROR corrupted on transfer: sizes differ NNN vs MMM
      
      如果设置了该标志，并且 rclone 下载了具有设置 `Content-Encoding: gzip` 和分块传输编码的对象，则 rclone 将在接收时即时解压缩对象。
      
      如果设置为 unset（默认值），则 rclone 将根据提供者的设置选择要应用的方式，但是您可以在此处覆盖 rclone 的选择。
      

   --no-system-metadata
      禁止设置和读取系统元数据


OPTIONS:
   --access-key-id value           AWS 访问密钥 ID。[$ACCESS_KEY_ID]
   --acl value                     在创建存储桶和存储或复制对象时使用的权限控制。[$ACL]
   --endpoint value                S3 API 的接入点。[$ENDPOINT]
   --env-auth                      从运行时获取 AWS 凭证（环境变量或 EC2/ECS 元数据）。 (默认值：false) [$ENV_AUTH]
   --help, -h                      显示帮助
   --location-constraint value     区域限制 - 必须与区域相匹配。[$LOCATION_CONSTRAINT]
   --region value                  要连接的区域。[$REGION]
   --secret-access-key value       AWS 秘密访问密钥（密码）。[$SECRET_ACCESS_KEY]
   --server-side-encryption value  在将对象存储到 S3 时使用的服务器端加密算法。[$SERVER_SIDE_ENCRYPTION]
   --sse-kms-key-id value          如果使用 KMS ID，则必须提供密钥的 ARN。[$SSE_KMS_KEY_ID]

   Advanced

   --bucket-acl value               在创建存储桶时使用的权限控制。[$BUCKET_ACL]
   --chunk-size value               用于上传的块大小。 (默认值："5Mi") [$CHUNK_SIZE]
   --copy-cutoff value              切换到多部分复制的最小文件大小。 (默认值："4.656Gi") [$COPY_CUTOFF]
   --decompress                     如果设置，将解压缩 gzip 编码的对象。 (默认值：false) [$DECOMPRESS]
   --disable-checksum               不要将 MD5 校验和与对象的元数据一起存储。 (默认值：false) [$DISABLE_CHECKSUM]
   --disable-http2                  禁用 S3 后端使用 http2。 (默认值：false) [$DISABLE_HTTP2]
   --download-url value             下载的自定义端点。[$DOWNLOAD_URL]
   --encoding value                 后端的编码方式。 (默认值："Slash,InvalidUtf8,Dot") [$ENCODING]
   --force-path-style               如果为 true，则使用路径样式访问；如果为 false，则使用虚拟主机样式访问。 (默认值：true) [$FORCE_PATH_STYLE]
   --list-chunk value               列表块的大小（每个 ListObject S3 请求的响应列表大小）。 (默认值：1000) [$LIST_CHUNK]
   --list-url-encode value          是否对列表进行 URL 编码：true/false/unset (默认值："unset") [$LIST_URL_ENCODE]
   --list-version value             要使用的 ListObjects 版本：1、2 或 0（自动）。 (默认值：0) [$LIST_VERSION]
   --max-upload-parts value         多部分上传中的最大部分数。 (默认值：10000) [$MAX_UPLOAD_PARTS]
   --memory-pool-flush-time value   内部内存缓冲池刷新频率。 (默认值："1m0s") [$MEMORY_POOL_FLUSH_TIME]
   --memory-pool-use-mmap           是否在内部内存池中使用 mmap 缓冲区。 (默认值：false) [$MEMORY_POOL_USE_MMAP]
   --might-gzip value               如果存储后端可能对对象进行 gzip 压缩，请设置此标志。 (默认值："unset") [$MIGHT_GZIP]
   --no-check-bucket                如果设置，则不尝试检查存储桶是否存在或创建它。 (默认值：false) [$NO_CHECK_BUCKET]
   --no-head                        如果设置，则不进行 HEAD 操作以检查已上传对象的完整性。 (默认值：false) [$NO_HEAD]
   --no-head-object                 如果设置，则在 GET 对象时不执行 HEAD 操作。 (默认值：false) [$NO_HEAD_OBJECT]
   --no-system-metadata             禁止设置和读取系统元数据 (默认值：false) [$NO_SYSTEM_METADATA]
   --profile value                  共享凭证文件中要使用的配置文件。[$PROFILE]
   --session-token value            AWS 会话令牌。[$SESSION_TOKEN]
   --shared-credentials-file value  共享凭证文件的路径。[$SHARED_CREDENTIALS_FILE]
   --sse-customer-algorithm value   如果使用 SSE-C，则在将对象存储到 S3 时使用的服务器端加密算法。[$SSE_CUSTOMER_ALGORITHM]
   --sse-customer-key value         如果使用 SSE-C，则可以提供用于加密/解密数据的秘密加密密钥。[$SSE_CUSTOMER_KEY]
   --sse-customer-key-base64 value  如果使用 SSE-C，则必须以 Base64 格式提供用于加密/解密数据的秘密加密密钥。[$SSE_CUSTOMER_KEY_BASE64]
   --sse-customer-key-md5 value     如果使用 SSE-C，则可以提供秘密加密密钥的 MD5 校验和（可选）。[$SSE_CUSTOMER_KEY_MD5]
   --upload-concurrency value       多部分上传的并发数。 (默认值：4) [$UPLOAD_CONCURRENCY]
   --upload-cutoff value            切换到分块上传的最小文件大小。 (默认值："200Mi") [$UPLOAD_CUTOFF]
   --use-multipart-etag value       是否在多部分上传中使用 ETag 进行验证 (默认值："unset") [$USE_MULTIPART_ETAG]
   --use-presigned-request          是否在单块上传时使用预签名请求或 PutObject。 (默认值：false) [$USE_PRESIGNED_REQUEST]
   --v2-auth                        如果为 true，则使用 v2 认证。 (默认值：false) [$V2_AUTH]
   --version-at value               显示指定时间的文件版本。 (默认值："off") [$VERSION_AT]
   --versions                       在目录列表中包括旧版本。 (默认值：false) [$VERSIONS]

   General

   --name value  存储的名称（自动生成）
   --path value  存储的路径

```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://data-programs.gitbook.io/singularity/zh/cli-reference/storage/create/s3/minio.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
