# Cloudflare

{% code fullWidth="true" %}

```
NAME:
    singularity storage create s3 cloudflare - Cloudflare R2 存储

USAGE:
    singularity storage create s3 cloudflare [命令选项] [参数...]

DESCRIPTION:
    --env-auth
        从运行环境获取 AWS 凭证 (环境变量或 EC2/ECS 元数据，如果没有环境变量)。

        仅当 access_key_id 和 secret_access_key 为空时生效。

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

    --access-key-id
        AWS 访问密钥 ID。

        如果要进行匿名访问或使用运行时凭证，请留空。

    --secret-access-key
        AWS 秘密访问密钥（密码）。

        如果要进行匿名访问或使用运行时凭证，请留空。

    --region
        要连接的区域。

        示例:
        | auto | R2 存储桶会自动分布在 Cloudflare 的数据中心以实现低延迟。

    --endpoint
        S3 API 的终端节点。

        使用 S3 克隆时必填。

    --bucket-acl
        创建存储桶时使用的预设 ACL。

        更多信息请访问 https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl。

        注意，该 ACL 仅在创建存储桶时应用。如果未设置，则使用 "acl"。

        如果 "acl" 和 "bucket_acl" 是空字符串，则不会添加 X-Amz-Acl: 头，并将使用默认值（私有）。

        示例:
        | private            | 拥有者具有 FULL_CONTROL 权限。
        |                    | 无其他人有访问权限（默认值）。
        | public-read        | 拥有者具有 FULL_CONTROL 权限。
        |                    | AllUsers 组具有 READ 权限。
        | public-read-write  | 拥有者具有 FULL_CONTROL 权限。
        |                    | AllUsers 组具有 READ 和 WRITE 权限。
        |                    | 通常不建议在存储桶上授予该权限。
        | authenticated-read | 拥有者具有 FULL_CONTROL 权限。
        |                    | AuthenticatedUsers 组具有 READ 权限。

    --upload-cutoff
        切换为分块上传的文件截止大小。

        大于该大小的文件将分块上传，每块大小为 chunk_size。
        最小值为 0，最大值为 5 GiB。

    --chunk-size
        上传时使用的块大小。

        对于大于 upload_cutoff 的文件或大小未知的文件（例如来自 "rclone rcat"、"rclone mount"、Google 照片或 Google 文档），将使用此块大小进行分块上传。

        注意，每个传输的内存中会缓冲 "--s3-upload-concurrency" 个此大小的块。

        如果您正在通过高速链接传输大型文件，并且有足够的内存，则增加此值将加速传输。

        Rclone 会自动增加块大小，以保持在 10,000 块的限制之下，以上传已知大小的大型文件。

        未知大小的文件使用配置的块大小进行上传。由于默认的块大小为 5 MiB，最多可以有 10,000 个块，这意味着默认情况下，您可以流式传输的文件的最大大小为 48 GiB。如果您希望流式传输更大的文件，您需要增加块大小。

        增加块大小会降低使用 "-P" 标志显示的进度统计的准确性。当 Rclone 缓冲 AWS SDK 时，它将发送给块，而实际上它可能仍在上传。较大的块大小意味着较大的 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" 环境变量。如果 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 文档](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro)。

        某些提供商（例如 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 中，这是一个全局最大值，无法更改，请参阅 [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
        如果设置了此标志，则获取对象之前不会执行 HEAD 操作。

    --encoding
        后端的编码方式。

        查看 [概览中的编码部分](/overview/#encoding) 以获取更多信息。

    --memory-pool-flush-time
        内部内存缓冲池刷新的频率。

        需要额外缓冲区的上传（例如分块上传）将使用内存池进行内存分配。
        此选项控制在内存池中何时删除未使用的缓冲区。

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

    --disable-http2
        禁用 S3 后端的 http2 使用。

        当前 s3（特别是 minio）后端存在问题，并且没有解决。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"。

        请注意，使用此选项时不允许执行文件写操作，因此无法上传文件或删除文件。

        有关有效格式，请参阅[时间选项文档](/docs/#time-option)。

    --decompress
        如果设置了此标志，则会解压缩经过 gzip 编码的对象。

        可以将对象以 "Content-Encoding: gzip" 上传到 S3。通常情况下，rclone 会将这些文件作为压缩对象下载。

        如果设置了此标志，则 rclone 将在接收到这些文件时将其解压缩为 "Content-Encoding: gzip"。这意味着 rclone 无法检查大小和哈希，但文件内容将会被解压缩。

    --might-gzip
        如果后端可能会对对象进行 gzip 压缩，则设置此标志。

        通常，提供者在下载时不会更改对象。如果一个对象没有使用 `Content-Encoding: gzip` 上传，则在下载时也不会设置。

        但是，某些提供商甚至可能在没有使用 `Content-Encoding: gzip` 的情况下对对象进行压缩（例如 Cloudflare）。

        所以，如果设置了此标志并且 rclone 使用支持分块传输编码的 `Content-Encoding: gzip` 和 `chunked` 的对象，则 rclone 将会边下载边解压缩这些对象。

        如果设置为 unset（默认值），则 rclone 将根据提供商设置来进行选择，但您可以在此处覆盖 rclone 的选择。

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


OPTIONS:
    --access-key-id value      AWS 访问密钥 ID。[$ACCESS_KEY_ID]
    --endpoint value           S3 API 的终端节点。[$ENDPOINT]
    --env-auth                 从运行时环境获取 AWS 凭证（环境变量或 EC2/ECS 元数据，如果没有环境变量）。(默认值: false)[$ENV_AUTH]
    --help, -h                 显示帮助信息
    --region value             要连接的区域。[$REGION]
    --secret-access-key value  AWS 秘密访问密钥（密码）。[$SECRET_ACCESS_KEY]

    高级

    --bucket-acl value               创建存储桶时使用的预设 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                如果设置了此标志，则不尝试检查存储桶是否存在或创建它。 (默认值: 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]

    常规

    --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/cloudflare.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.
