当前位置: 首页 > 知识库问答 >
问题:

使用AWS SDK生成到S3对象的预签名URL是否需要花费什么?

洪光霁
2023-03-14

在任何语言中使用AWS SDK,您都可以为私有S3对象生成预签名的URL,然后任何拥有该URL的人都可以使用该URL下载该对象。这里对此进行说明:

https://docs.aws.amazon.com/amazons3/latest/dev/shareobjectpresignedurl.html

这是减少自己服务器负载的好方法。如果您的客户端使用follow重定向,则可以将实际的下载工作转移到S3。我的问题是,生成这个URL真的要花什么钱吗?我指的是实际的钱。我明白使用URL会产生GET请求费用,但是实际生成URL呢?它是否等同于S3 GET请求(每1000个请求$.0004),或者PUT请求(每1000个请求$.005),或者两者都是,或者两者都不是,或者其他什么?我好像找不到任何文件。如果你在谈论数以百万计的请求中的10个,这是很重要的。

共有1个答案

堵鸿光
2023-03-14

不,什么都不花。生成预签名URL是一个纯粹的客户端操作。没有与此相关的AWS成本,也没有网络活动。您使用的SDK获取当前凭据、对象的bucket和key、选择的方法(例如GET)、过期时间、可选的HTTP头,以及计算URL和签名,所有这些都是在本地完成的。

值得注意的是,您可以创建一个实际上无法使用的预签名URL。例如,如果使用无效或过期的凭据。或不存在的bucket或对象键。在这两种情况下,您都可以创建预签名的URL,但是当URL最终呈现给S3时,访问将被拒绝。

 类似资料:
  • 我查看了和的文档,但没有看到任何与生成预签名URL相关的内容。AWS web文档仅显示了使用Java、.NET和VisualStudio实现此功能的示例。 http://docs.aws.amazon.com/amazons3/latest/dev/shareobjectpresignedurljavasdk.html

  • 我知道水桶是存在的。当我通过AWS Web GUI导航到此项目并双击它时,它将打开带有URL的对象,并且运行良好: 所以我认为我在使用SDK时肯定做错了什么。

  • 如果你想把自己的资源发放给第三方用户访问,但是又不想开放Bucket的读权限,可以通过生成预签名URL的形式提供给用户一个临时的访问URL。在生成URL时,你可以指定URL过期的时间,从而限制用户长时间访问。 生成一个预签名的URL 如下代码: String bucketName = "your-bucket-name"; String key = "your-object-key"; // 设

  • 如果你想把自己的资源发放给第三方用户访问,但是又不想开放Bucket的读权限,可以通过生成预签名URL的形式提供给用户一个临时的访问URL。在生成URL时,你可以指定URL过期的时间,从而限制用户长时间访问。 生成预签名URL来获取Object <?php $url = $client->generatePresignedUrl(array( 'Bucket' => 'your-buck

  • 我有下面的lambda,它在将文件上传到bucket并将其预签名的URL发送到API时被触发。 这是生成预先签名的URL,但我无法使用它访问文件。当我在浏览器中键入URL时,我会得到以下信息:, 我尝试使用命令

  • 我有一个web应用程序,我用它从用户那里收集一些信息(不是姓名或电子邮件),然后计划让他们通过DocuSign立即在线(不是通过电子邮件)以电子方式签署文档。 为了获得签名url(又名收件人视图),我似乎必须提供收件人的定义。“收件人”定义的一部分是用户名和电子邮件地址。这是真的吗? DocuSign API/SDK是否要求我提供最终用户(亦称签名者)的名称和电子邮件地址?如果我不提供这些东西,A