# Seaweedfs

{% code fullWidth="true" %}

```
名称：
   singularity storage update s3 seaweedfs - SeaweedFS S3

用法：
   singularity storage update s3 seaweedfs [命令选项] <名称|ID>

描述：
   --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克隆并且没有区域，则留空。

      示例：
         | <未设置>                | 不确定时使用此选项。
         |                        | 将使用v4签名和空区域。
         | other-v2-signature     | 仅当v4签名不起作用时使用此选项。
         |                        | 例如Jewel / v10之前的CEPH。

   --endpoint
      S3 API的端点。
      
      使用S3克隆时需要。

      示例：
         | localhost:8333 | SeaweedFS S3本地主机

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

   --acl
      创建存储桶和存储或复制对象时使用的Canned ACL。
      
      此ACL用于创建对象，如果没有设置bucket_acl，则用于创建存储桶。
      
      获取更多信息请访问https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
      
      请注意，此ACL适用于在S3上进行服务器端复制对象时，
      S3不复制源中的ACL，而是写入新的ACL。
      
      如果acl是空字符串，则不添加X-Amz-Acl：标题，并且
      将使用默认值（private）。
      

   --bucket-acl
      创建存储桶时使用的Canned ACL。
      
      获取更多信息请访问https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
      
      请注意，仅在创建存储桶时应用此ACL。如果没有设置，
      则使用"acl"。
      
      如果“acl”和“bucket_acl”都是空字符串，则不添加X-Amz-Acl：
      标题，并且将使用默认值（private）。
      

      示例：
         | private            | 所有者拥有FULL_CONTROL权限。
         |                    | 没有其他人有访问权限（默认）。
         | public-read        | 所有者拥有FULL_CONTROL权限。
         |                    | AllUsers组获得读取权限。
         | public-read-write  | 所有者拥有FULL_CONTROL权限。
         |                    | AllUsers组获得读取和写入权限。
         |                    | 通常不推荐在存储桶上授予此权限。
         | authenticated-read | 所有者拥有FULL_CONTROL权限。
         |                    | AuthenticatedUsers组获得读取权限。

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

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

   --max-upload-parts
      单个分块上传中的最大块数。
      
      此选项定义在执行多部分上传时使用的最大分块数。
      
      如果某个服务不支持AWS S3的10000个分块规范，
      这可能是有用的。
      
      Rclone会在上传已知大小的大文件时自动增加块大小，
      以保持在此分块数限制以下。

   --copy-cutoff
      切换到分块复制的截止值。
      
      大于此大小且需要进行服务端复制的任何文件
      都会被分块复制。
      
      最小值为0，最大值为5 GiB。

   --disable-checksum
      不要将MD5校验和与对象元数据一起存储。
      
      通常，rclone会在上传之前计算输入的MD5校验和，
      以便将其添加到对象的元数据中。这对于数据完整性校验很好，
      但对于大文件的开始上传会造成长时间的延迟。

   --shared-credentials-file
      共享凭据文件的路径。
      
      如果env_auth = true，则rclone可以使用共享凭据文件。
      
      如果该变量为空，rclone将查找
      "AWS_SHARED_CREDENTIALS_FILE"环境变量。如果env值为空
      则默认为当前用户的主目录。
      
          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文档。
      
      某些提供商（例如AWS，Aliyun OSS，Netease COS或Tencent 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"。
      大多数服务即使请求超过了1000个对象，
      也会截断响应列表为1000个对象。
      在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
      如果设置，不要尝试检查bucket是否存在或创建它。
      
      如果您知道bucket已经存在，则这可能是减少rclone执行的事务数量的好方法。
      
      如果使用的用户没有bucket创建权限，则可能还需要此选项。在v1.52.0之前，由于错误，
      这将被静默通过。
      

   --no-head
      如果设置，将不会对已上传的对象进行HEAD以检查完整性。
      
      如果尝试最小化rclone执行的事务数量时，这可能很有用。
      
      设置后，这意味着如果rclone在使用PUT上传对象后收到200 OK消息，
      则假设它已正确上传。
      
      特别是它会假设：
      
      - 元数据，包括修改时间，存储类和内容类型与上传时一样
      - 大小与上传时一样
      
      它从单个部分PUT的响应中读取以下项：
      
      - MD5SUM
      - 上传日期
      
      对于多部分上传，不会读取这些项。
      
      如果上传未知长度的源对象，则rclone **将**执行HEAD请求。
      
      设置此标志会增加未检测到的上传失败的机会，
      尤其是错误的大小，因此不建议在正常操作中使用。
      实际上，即使使用该标志，未检测到的上传失败的机会也非常小。
      

   --no-head-object
      如果设置，获取对象之前不执行HEAD请求。

   --encoding
      后端的编码方式。
      
      有关更多信息，请参见概述中的编码部分。

   --memory-pool-flush-time
      内部内存缓冲池将定期刷新的时间间隔。
      
      需要额外的缓冲区（例如multipart）的上传
      将使用内存池进行分配。
      此选项控制将未使用的缓冲区从池中删除的频率。

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

   --disable-http2
      禁用S3后端的http2使用。
      
      目前s3（特别是minio）后端存在一个未解决的问题
      和HTTP/2之间的关系。S3后端默认启用HTTP/2，但可以
      在此禁用。当问题解决后，将删除此标志。
      
      参见：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"。
      
      请注意，使用此选项时，不允许进行文件写操作，
      因此无法上传文件或删除文件。
      
      有关有效格式的格式，请参见时间选项文档。
      

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

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

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


选项：
   --access-key-id value        AWS访问密钥ID。[$ACCESS_KEY_ID]
   --acl value                  创建存储桶和存储或复制对象时使用的Canned ACL。[$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]

   高级

   --bucket-acl value               创建存储桶时使用的Canned ACL。[$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                如果设置，不要尝试检查bucket是否存在或创建它。 (默认值：false) [$NO_CHECK_BUCKET]
   --no-head                        如果设置，将不会对已上传的对象进行HEAD以检查完整性。 (默认值：false) [$NO_HEAD]
   --no-head-object                 如果设置，获取对象之前不执行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]
   --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]

```

{% 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/update/s3/seaweedfs.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.
