【问题标题】:Google App Engine - CNAME for Image API URLSGoogle App Engine - 图片 API 网址的 CNAME
【发布时间】:2015-01-15 19:39:37
【问题描述】:

我正在使用 App Engine 来存储和提供来自 Cloudstorage 的图像。我正在使用记录在案的 API here 创建直接从 Google 提供图像而不通过我的应用程序的 URL。要获取 URL,我使用的是 get_serving_url(),它返回 ggpht.com 域上的 URL。

所有这些都运行良好,但我宁愿使用我自己的子域来提供图像。正如 here 所记录的,这对于通过 googleapis.com 访问的 CGS 存储桶是可能的,但是从 googleapis.com 提供图像时,您无法通过向 url 添加参数来动态转换图像。

documentation for the Images API 说:

如果您提供参数,此方法将返回一个用 指定的参数。如果您不提供任何参数,则此 方法返回图片的默认 URL,例如:

http://your_app_id.appspot.com/randomStringImageId

这表明可以在appspot.com 域而不是ggpht.com 上获取URL 这将是完美的,因为我可以为appspot 域设置一个CNAME。可悲的是,我不知道如何制作文档承诺的 URL。

是否可以两全其美?我自己的子域上的图像通过图像 api 机制提供,该机制允许通过 url 参数进行动态操作?

【问题讨论】:

  • 在进一步研究之前,请注意,您将永远无法从链接到 GCS 的自定义域中提供 HTTPS 服务
  • 谢谢 Koma,我认为没问题。它们只是公共图像。

标签: google-app-engine google-cloud-storage


【解决方案1】:

如果你仔细阅读document中的那几行,你会发现他们已经清楚地提到了这个方法(get_serving_URL())返回的URL是always public,但不可猜测; 私人网址目前不是 支持。我认为您尝试使用私有 URL 来提供该图像,这目前是不可能的。将来他们可能会计划这样做。

【讨论】:

  • 我不确定我写了什么让你认为我在尝试使用私有 URL。我只是希望从我自己的域中提供我的图像。人们可能想要这样做的原因有很多:一个是通过查看地址就可以轻松确定图像的来源。我目前在 photo-mark.com 上提供一个网站,但所有图片都来自 ggpht.com。这不太理想。
  • @MarkM:我误解了,因为我认为您想将 lh3.gghpt.com 的 publicURL 更改为您的名字,例如 pics.photo-mark.com。对于您的问题,您需要公共 URL 来提供该图像,因为如果您想要动态转换,则无法从 appspot.com 提供该图像。
  • 但是,您从 blob 存储中提供转换后的图像,而不使用文档 [1] 中给出的任何实例时间。还有一种更好的方法是使用 Image 类来转换图像,并在转换后在您的域上提供该图像。 [1]cloud.google.com/appengine/docs/python/blobstore/…
猜你喜欢
  • 2013-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-25
  • 1970-01-01
  • 1970-01-01
  • 2011-01-18
  • 2011-02-24
相关资源
最近更新 更多