2016-05-06 40 views
1

我们正在将图像存储在Google云端存储中。我们已经使用图像服务getServingUrl()生成了一个链接。此链接工作了一段时间(几个小时),然后停止工作。我们已经得到报道,该链接在美国仍然可以访问,但英国却没有。App Engine图像服务链接停止工作(HTTP 404)

这里的链接:http://lh3.googleusercontent.com/HkwzeUinidFxi-z6OO4ANasEuVYZYduhMiPG2SraKstC5Val0xGdTqvePNMr_bs7FLvj1oNzZjSWZe4dKcugaZ5hzaqfWlw=s36

是任何人遇到这个问题呢?如果是的话,有没有人削减他们的票调查?

+0

我确认图像可以在美国看到。另外,当我告诉我的浏览器模拟伦敦坐标时,图像也显示出来。 –

+0

使用PHP而不是java你可以参考这篇文章http://stackoverflow.com/questions/37646849/how-can-we-use-firebase-image-file-and-resize-them-using-get-serving-url/37673504#37673504 –

回答

0

这是多年来已知的行为。 getServingUrl()生成到CDN的临时链接,该链接不保证永远持续。

您必须为每个请求或不时生成链接或使用其他解决方案。

我们最终将图像从Amazon迁移到了S3 + CloudFront。你可以考虑https://cloud.google.com/storage/ &​​

+0

感谢那个信息亚历山大。然而,最近感觉最近有些事情已经发生了变化/破裂 - 我相信,我们一直依靠那些几个月来一直保持稳定的链接。 – jimhooker2002

+0

可能在我们搬出去之后它会保持稳定。当AppEngine处于起步阶段时,我们已经开始了,数据中心层面的停机时间很长。我理解(猜测)服务URL引用的存储位置 - 数据中心ID(甚至可能是机器ID),因此如果数据中心或机架或服务器存在问题,则无法提供服务。如果你需要可靠性,你必须使用复制数据的东西。 –

+0

再次感谢您的想法亚历山大。我认为Google云端存储提供冗余的复制存储,并且图像服务会生成URL并存储元数据,并指向Google云端存储中的正确位置。我猜数据被吸入到CDN中,并且缓存未命中,即它已被逐出,它将再次使用元数据重新加载。 – jimhooker2002