通过通用存储桶的接入点上传对象 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

通过通用存储桶的接入点上传对象

本节介绍如何使用 Amazon Web Services Management Console、Amazon Command Line Interface或 REST API 通过通用存储桶的接入点上传对象。

在 Amazon Web Services 账户中通过接入点上传对象。
  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. 在页面顶部的导航栏中,选择当前所显示 Amazon Web Services 区域的名称。接下来,选择要列出其接入点的区域。

  3. 在控制台左侧的导航窗格中,选择接入点

  4. (可选)按名称搜索接入点。只有您选择的 Amazon Web Services 区域中的接入点才会出现在此处。

  5. 选择要管理或使用的接入点的名称。

  6. 对象选项卡下,选择上传

  7. 将要上传的文件和文件夹拖放到此处,或者选择添加文件添加文件夹

    注意

    可使用 Amazon S3 控制台上传的文件的最大大小为 160 GB。要上传大于 160GB 的文件,请使用 Amazon Command Line Interface(Amazon CLI)、Amazon SDK 或 Amazon S3 REST API。

  8. 要更改访问控制列表权限,请选择 Permissions(权限)。

  9. Access control list (ACL) [访问控制列表 (ACL)]下,编辑权限。

    有关对象访问权限的信息,请参阅 使用 S3 控制台为对象设置 ACL 权限。您可以向公众(世界上的每一个人)授予对您的对象的读取访问权限,使其能够获取您正在上传的所有文件。但是,我们建议您不要更改公共读取访问的默认设置。授予公有读取访问权限适用于一小部分的使用案例(如存储桶用于网站时)。您始终可以在上传对象后更改对象权限。

  10. 要配置其他附加属性,请选择 Properties(属性)。

  11. 存储类下,为正在上传的文件选择存储类。

    有关存储类的更多信息,请参阅 了解和管理 Amazon S3 存储类

  12. 要更新对象的加密设置,请在服务器端加密设置下执行以下操作:

    1. 选择 Specify an encryption key(指定加密密钥)。

    2. 加密设置下,选择使用默认加密的存储桶设置覆盖默认加密的存储桶设置

    3. 如果您选择覆盖默认加密的存储桶设置,则必须配置以下加密设置。

      • 要使用由 Amazon S3 托管的密钥加密上传的文件,请选择 Amazon S3 托管式密钥(SSE-S3)

        有关更多信息,请参阅 使用具有 Amazon S3 托管式密钥的服务器端加密(SSE-S3)

      • 要使用存储在 Amazon Key Management Service(Amazon KMS)中的密钥加密上传的文件,请选择 Amazon Key Management Service 密钥(SSE-KMS)。然后,为 Amazon KMS 密钥选择以下选项之一:

        • 要从可用的 KMS 密钥列表中进行选择,请选择从您的 Amazon KMS keys 中进行选择,然后从可用密钥的列表中选择您的 KMS 密钥

          Amazon 托管式密钥(aws/s3)和您的客户自主管理型密钥都显示在此列表中。有关客户自主管理型密钥的更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的客户密钥和 Amazon 密钥

        • 要输入 KMS 密钥 ARN,请选择输入 Amazon KMS key ARN,然后在显示的字段中输入您的 KMS 密钥 ARN。

        • 要在 Amazon KMS 控制台中创建新的客户自主管理型密钥,请选择创建 KMS 密钥

          有关创建 Amazon KMS key 的更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的创建密钥

        重要

        您只能使用与存储桶所在相同的 Amazon Web Services 区域中可用的 KMS 密钥。Amazon S3 控制台仅列出与存储桶位于同一区域中的前 100 个 KMS 密钥。要使用未列出的 KMS 密钥,您必须输入 KMS 密钥 ARN。如果您希望使用其他账户拥有的 KMS 密钥,则必须首先有权使用该密钥,然后必须输入相应的 KMS 密钥 ARN。

        Amazon S3 仅支持对称加密 KMS 密钥,不支持非对称 KMS 密钥。有关更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的确定对称和非对称 KMS 密钥

  13. 要使用其他校验和,请选择 On(打开)。然后对于 Checksum function(校验和函数),选择要使用的函数。Amazon S3 在收到整个对象后计算并存储校验和值。您可以使用 Precalculated value(预计算值)框来提供预先计算的值。这样,Amazon S3 会将您提供的值与其计算的值进行比较。如果两个值不匹配,Amazon S3 将生成错误。

    其他校验和使您能够指定要用于验证数据的校验和算法。有关其他校验和的更多信息,请参阅在 Amazon S3 中检查对象完整性

  14. 要向上传的所有对象添加标签,请选择 Add tag (添加标签)。在字段中输入标签名称。输入标签的值。

    对象标签为您提供了对存储进行分类的方法。每个标签都是一个键-值对。键和标签值区分大小写。对于每个对象,您最多可以有 10 个标签。标签键的长度最大可以为 128 个 Unicode 字符,标签值的长度最大可以为 255 个 Unicode 字符。有关对象标签的更多信息,请参阅 使用标签对存储进行分类

  15. 要添加元数据,请选择添加元数据

    1. 类型下,请选择系统定义用户定义

      对于系统定义元数据,您可以选择通用的 HTTP 标头,如 Content-TypeContent-Disposition。有关系统定义元数据的列表以及您能否添加值的信息,请参阅系统定义的对象元数据。以前缀 x-amz-meta- 开头的任何元数据都被视为用户定义的元数据。用户定义元数据会与对象存储在一起,并会在您下载该对象时返回。密钥及其值均必须符合 US-ASCII 标准。用户定义元数据最大可为 2 KB。如需详细了解系统定义和用户定义的元数据,请参阅使用对象元数据

    2. 对于,请选择一个键。

    3. 键入该键的值。

  16. 要上传对象,请选择上传

    Amazon S3 将上传您的对象。上传完成后,您可以在上传:状态页面上看到成功消息。

以下 put-object 示例命令显示了如何使用 Amazon CLI 通过接入点上传您的对象。

以下命令使用接入点 my-access-point 上传 Amazon Web Services 账户 111122223333 的对象 puppy.jpg

aws s3api put-object --bucket arn:aws:s3:Amazon Web Services 区域:111122223333:accesspoint/my-access-point --key puppy.jpg --body puppy.jpg
注意

S3 会自动为所有接入点生成接入点别名,这些接入点别名可以在任何使用存储桶名称来执行对象级操作的地方使用。有关更多信息,请参阅 通用存储桶的接入点别名

有关更多信息和示例,请参阅《Amazon CLI 命令参考》中的 put-object

您可以使用 REST API 通过接入点上传对象。有关更多信息,请参阅《Amazon Simple Storage Service API 参考》中的 PutObject

可以使用适用于 Python 的 Amazon SDK 通过接入点上传对象。

Python

在以下示例中,使用名为 my-access-point 的接入点为 Amazon 账户 111122223333 上传名为 hello.txt 的文件。

import boto3 s3 = boto3.client('s3') s3.upload_file('/tmp/hello.txt', 'arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point', 'hello.txt')