为什么S3存在时无法访问图像。

时间:2012-07-24 01:36:01

标签: amazon-s3

我们构建了一个将渲染图像上传到S3的应用程序。然后我们将所有图像URL返回给第三方,第三方拉下所有渲染文件。问题是第三方收到错误无法获取渲染文件,这意味着我们提供的URL不会返回图像。

如果他们第二次尝试使用相同的网址,一切正常。如果我们尝试通过我们的浏览器加载图片网址,那就在那里。

我们原本以为它与跨S3的传播有关。我们的地区有文件,但第三方地区还没有图像。所以我们延迟了10分钟;这没有帮助。我们可以将其增加到30分钟或一小时,但这使得测试更加困难,而亚马逊表示它只需要几秒钟。

关于可能发生的事情的任何想法?为什么具有适当权限的图像不会在第三方服务第一次要求时返回?

1 个答案:

答案 0 :(得分:1)

如您所说的这个问题没有意义,因为如果使用浏览器或您的第三方下载文件的客户端没有区别。

我唯一想到的是网址构建和通过https访问。

您可以使用 https ://< bucket-name> .s3.amazonaws.com /<文件名>创建对象网址,您可能会收到以下错误:

curl:(51)SSL对等证书或SSH远程密钥不正常

或者使用Firefox获得: This Connection is Untrusted

用户可以通过忽略证书错误轻松解决此问题,但如果第三方使用的是API,则可能会因使用错误的异常处理而隐藏此问题。

您是否有关于第三方如何尝试检索此文件的更多信息?