

# 目录存储桶的差异
<a name="s3-express-differences"></a>

使用 Amazon S3 时，您可以选择最适合您应用程序和性能要求的存储桶类型。目录存储桶是一种最适合低延迟或数据驻留应用场景的存储桶。要了解有关目录存储桶的更多信息，请参阅[使用目录存储桶](directory-buckets-overview.md)。

 有关目录存储桶差异的更多信息，请参阅以下主题。

**Topics**
+ [目录存储桶的差异](#s3-express-specifications)
+ [目录存储桶支持的 API 操作](#s3-express-differences-api-operations)
+ [目录存储桶不支持的 Amazon S3 功能](#s3-express-differences-unsupported-features)

## 目录存储桶的差异
<a name="s3-express-specifications"></a>
+ **目录存储桶名称** 
  +  目录存储桶名称由您提供的基本名称和后缀组成，该后缀包含存储桶所在 AWS 区域（可用区或本地区域）的 ID 后跟 `--x-s`。有关规则列表和目录存储桶名称的示例，请参阅[目录存储桶命名规则](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)。
+ **`ListObjectsV2` 行为** 
  + 对于目录存储桶，`ListObjectsV2` 不按字母表顺序返回对象。此外，前缀必须以分隔符结尾，并且只能将“/”指定为分隔符。
  + 对于目录存储桶，`ListObjectsV2` 响应包含仅与正在进行的分段上传相关的前缀。
+ **删除行为** – 当您删除目录存储桶中的对象时，Amazon S3 会递归删除对象路径中的所有空目录。例如，如果您删除对象键 `dir1/dir2/file1.txt`，Amazon S3 会删除 `file1.txt`。如果 ` dir1/` 和 `dir2/` 目录为空且不包含其他对象，Amazon S3 还会删除这些目录。
+ **ETag 与校验和**：目录存储桶的实体标签（ETag）是对象独有的随机字母数字字符串，而不是 MD5 校验和。有关在目录存储桶中使用附加校验和的更多信息，请参阅 [其他 S3 校验和最佳实践](s3-express-optimizing-performance.md#s3-express-optimizing-performance-checksums)。
+ **`DeleteObjects` 请求中的对象键** 
  + `DeleteObjects` 请求中的对象键必须至少包含一个非空格字符。`DeleteObjects` 请求中不支持完全由空格组成的字符串。
  + `DeleteObjects` 请求中的对象键不能包含 Unicode 控制字符，但换行符（`\n`）、制表符（`\t`）和回车符（`\r`）字符除外。
+ **区域和可用区端点** – 目录存储桶的存储桶管理 API 操作可通过区域端点使用，称为区域端点 API 操作。区域端点 API 操作的示例包括 CreateBucket 和 DeleteBucket。创建目录存储桶后，您可以使用可用区端点 API 操作来上传和管理目录存储桶中的对象。可用区端点 API 操作可通过可用区端点执行。可用区端点 API 操作的示例包括 `PutObject` 和 `CopyObject`。使用目录存储桶时，您必须在所有请求中指定区域。对于区域端点，您可以指定区域，例如 `s3express-control.us-west-2.amazonaws.com`。对于可用区端点，您需要同时指定区域和可用区，例如 `s3express-usw2-az1.us-west-2.amazonaws.com`。有关更多信息，请参阅 [目录存储桶的区域和可用区端点](s3-express-Regions-and-Zones.md)。
+ **分段上传** – 您可以使用分段上传流程，上传和复制目录存储桶中存储的大型对象。但是，对存储在目录存储桶中的对象使用分段上传流程时，会有以下一些区别。有关更多信息，请参阅 [对目录桶使用分段上传](s3-express-using-multipart-upload.md)。
  + 对象的创建日期是分段上传完成的日期。
  + 分段上传的分段编号必须连续。如果您尝试使用非连续分段编号完成分段上传请求，Amazon S3 会生成 HTTP `400 (Bad Request)` 错误。
  + 只有在通过 `s3express:CreateSession` 权限明确向分段上传的发起者授予了对 `AbortMultipartUpload` 的访问权限时，才能中止分段上传请求。有关更多信息，请参阅 [使用 IAM 对区域端点 API 操作进行授权](s3-express-security-iam.md)。
+ **清空目录存储桶**：通过 AWS Command Line Interface（CLI）执行的 `s3 rm` 命令、通过 Mountpoint 执行的 `delete` 操作以及通过 AWS 管理控制台执行的**清空**存储桶选项按钮无法删除目录存储桶中正在进行的分段上传。要删除这些正在进行的分段上传，请使用 `ListMultipartUploads` 操作列出存储桶中正在进行的分段上传，然后使用 `AbortMultipartUpload` 操作中止所有正在进行的分段上传。
+ **AWS Local Zones**：仅目录存储桶支持 Local Zones，通用存储桶不支持 Local Zones。
  +  位于 Local Zones 中的目录存储桶不支持向现有对象追加数据。您只能向位于可用区内的目录存储桶中的现有对象追加数据。

## 目录存储桶支持的 API 操作
<a name="s3-express-differences-api-operations"></a>

目录存储桶同时支持区域（存储桶级或控制面板）和可用区（对象级或数据面板）端点 API 操作。有关更多信息，请参阅[目录存储桶的联网](s3-express-networking.md)和[端点和网关 VPC 端点](directory-bucket-high-performance.md#s3-express-overview-endpoints)。有关支持的 API 操作的列表，请参阅[目录存储桶 API 操作](s3-express-APIs.md)。

## 目录存储桶不支持的 Amazon S3 功能
<a name="s3-express-differences-unsupported-features"></a>

目录存储桶不支持以下 Amazon S3 功能：
+ AWS 托管策略
+ 适用于 S3 的 AWS PrivateLink
+ MD5 校验和
+ 多重验证 (MFA) 删除
+ S3 对象锁定
+ 申请方付款
+ S3 访问授权
+ Amazon CloudWatch 请求指标
+ S3 事件通知
+ S3 生命周期转换操作
+ S3 多区域接入点
+ S3 对象 Lambda 接入点
+ S3 版本控制
+ S3 清单
+ S3 复制 
+ 对象标签
+ S3 Select
+ 服务器访问日志
+ 静态网站托管
+ S3 Storage Lens 存储统计管理工具
+ S3 Storage Lens 组
+ S3 Transfer Acceleration
+ 具有 AWS Key Management Service（AWS KMS）密钥的双层服务器端加密（DSSE-KMS）
+ 具有客户提供密钥的服务器端加密（SSE-C）
+ 在 Amazon S3 控制台中创建新存储桶时复制现有存储桶的设置的选项
+ 增强拒绝访问（HTTP `403 Forbidden`）错误消息