【问题标题】:TransformationError on blob via get_serving_url (app engine)通过 get_serving_url(应用引擎)在 blob 上的 TransformationError
【发布时间】:2012-12-28 21:09:38
【问题描述】:

转换错误

对于特定图像,此错误不断出现。

其他图片没有问题,我想知道这个异常的原因可能是什么。

来自谷歌:

“尝试转换图像时出错。”

更新:

开发服务器工作正常,只有现场它失败。

谢谢

【问题讨论】:

  • blob 查看器中是否存在 blob?
  • 是的。我做的第一件事是检查 blob 查看器,结果很好。

标签: google-app-engine blob


【解决方案1】:

如果没有更多信息,我会说图像已损坏,或者其格式无法与 get_serving_url 一起使用(例如动画 GIF)。

【讨论】:

  • 图片格式类型为JPG (image/jpeg @ 300 * 241),图片在blob viewer中渲染
  • 在问题跟踪器上打开一个问题并附上图片。
  • 在执行了一些额外的测试之后,我使用的图像确实是损坏的。
【解决方案2】:

我一直在与这个错误作斗争,以防有人发现他们得到了可怕的 TransformationError 请注意,您需要确保您的应用对要为其生成 url 的文件具有所有者权限

它在您的 IAM 选项卡中看起来像这样:
App Engine 应用默认服务帐号
your-project-name-here@appspot.gserviceaccount.com

在该成员的 IAM 中,您希望向下滚动到 Storage 并向该用户授予“Storage Object Admin”。只要您的存储桶在同一个项目下...如果没有,我不确定如何...

【讨论】:

    【解决方案3】:

    这个 TransformationError 异常似乎是因为权限错误而出现的,所以有点误导。

    我之所以收到此错误,是因为我在另一个项目中的存储桶上使用了 Bucket Policy Only 权限。

    但是,在将其改回对象级别权限并授予我的 App Engine 应用程序访问权限(来自不同项目)之后,我能够执行 App Engine 标准图像操作(google.appengine.api.images.get_serving_url) 我试图实现。

    确保您在控制台 UI 中或通过 gsutil 正确设置权限,如下所示:

    gsutil acl ch -u my-project-a@appspot.gserviceaccount.com:OWNER gs://my-project-b
    

    【讨论】:

      猜你喜欢
      • 2018-05-22
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2014-02-17
      • 2018-11-14
      • 2013-04-03
      • 1970-01-01
      相关资源
      最近更新 更多