使用预签名 URL 上传对象 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用预签名 URL 上传对象

您可以使用预签名 URL 来允许他人将对象上传到您的 Amazon S3 存储桶。使用预签名 URL 将允许在不要求另一方拥有 Amazon 安全凭证或权限的情况下进行上传。预签名 URL 受创建它的用户的权限所限制。也即,如果您收到预签名 URL 来上传对象,则仅当该 URL 的创建者拥有上传该对象所需的权限时,您才能上传对象。

当有人使用该 URL 上传对象时,Amazon S3 将在指定的存储桶中创建对象。如果存储桶中已存在具有预签名 URL 中指定的相同键的对象,则 Amazon S3 会将现有对象替换为上传的对象。上传后,存储桶拥有者将拥有该对象。

有关预签名 URL 的一般信息,请参阅使用预签名 URL

可以使用适用于 Visual Studio 的 Amazon Explorer 生成预签名 URL 来上传对象,而不需要编写任何代码。也可以使用 Amazon SDK 以编程方式生成预签名 URL。

如果您使用 Visual Studio,还可以在 Amazon Toolkit for Visual Studio 中使用 Amazon Explorer 来生成预签名 URL,而无需编写任何代码。有关更多信息,请参阅 Amazon Toolkit for Visual Studio 用户指南中的从 Amazon Explorer 中使用 Amazon S3

有关安装 Amazon Explorer 的说明,请参阅《Amazon Toolkit for Visual Studio 用户指南》中的安装和设置 Amazon Toolkit for Visual Studio

  1. 在 Amazon S3 视图中选择一个存储桶,然后打开上下文菜单(右键单击)。

  2. 选择创建预签名 URL,然后设置过期日期和时间。

  3. 选择 PUT 可指定此预签名 URL 将用于上传对象。

  4. 选择 Generate(生成)按钮。

  5. 要将此 URL 复制到剪贴板,请选择 Copy(复制)

  6. 要使用此 URL,您可以通过 curl 命令发送 PUT 请求。包括您在创建 URL 时指定的文件路径以及预签名 URL 本身。

    curl -X PUT -T "/path/to/file" "presigned URL"

有关使用 Amazon SDK 生成预签名 URL 来上传对象的示例,请参阅使用 Amazon SDK 为 Amazon S3 创建预签名 URL

使用 Amazon SDK 生成预签名 URL 时,最长到期时间为创建之时起 7 天。

注意

对于 2019 年 3 月 20 日之后启动的所有 Amazon Web Services 区域,您需要随请求指定 endpoint-urlAmazon Web Services 区域。有关所有 Amazon S3 区域和端点的列表,请参阅《Amazon 一般参考》中的区域和端点