使用 Blobstore API 和 Images API 直接从 GAE 中的 GCS 提供图像

2024-03-11

关于 Blobstore 和 Google Cloud Storage (GCS) 的许多问题和答案已有两三年历史,而这些年情况发生了巨大变化。 GCS 不再是一项独立的服务。这是融合的 https://developers.google.com/storage/docs/google-integration现在进入 Google App Engine (GAE)。

谷歌似乎大力推动 GCSBlobstore 已弃用 https://developers.google.com/appengine/docs/python/blobstore/#Python_Writing_files_to_the_Blobstore, 例如,

此处用于将文件写入 Blobstore 的文件 API 功能已 已弃用,并将在未来某个时间删除 支持将文件写入 Google Cloud Storage 并使用 Blobstore 为他们服务。

我相信现在是切换到 GCS 的时候了。

例如,www.example.com是一个基于 GAE 构建的网站,而example.jpg是存储在 GCS 上的图像,我想使用 url 提供该图像http://www.example.com/images/example.jpg

这在过去是不可能的,但现在这是可能的,感谢一体化 https://developers.google.com/storage/docs/google-integration.

我找到了这个:

https://developers.google.com/appengine/docs/python/googlecloudstorageclient/ https://developers.google.com/appengine/docs/python/googlecloudstorageclient/ says:

当 Blobstore API 与 Images API 一起使用时,您会得到 提供图像的强大方法,因为您可以直接提供图像 来自 GCS,绕过 App Engine 应用程序,从而节省实例时间 成本。

我知道如何“绕过 App Engine 应用程序”。有没有关于如何在使用 Blobstore API 和 Images API 提供图像时绕过 GAE 的示例?


说明在这里:https://developers.google.com/appengine/docs/python/images/functions#Image_get_serving_url https://developers.google.com/appengine/docs/python/images/functions#Image_get_serving_url

从 Google Cloud Storage 中托管的图像开始。

首先,使用 Blobstore API 的 create_gs_key() 函数为 GCS 图像对象生成 blob 键。然后,将该 blob 键传递到图像 API 的 get_serving_url() 函数中。

图像 API 将为您提供一个特殊的 URL,该 URL 会跳过您的应用程序引擎应用程序并直接提供图像。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Blobstore API 和 Images API 直接从 GAE 中的 GCS 提供图像 的相关文章

随机推荐

  • Visual Studio 2017 MSBuild 任务开发

    使用 Visual Studio 2017 RC 开发自定义 MSBuild 任务时 我遇到以下问题 只要添加其他依赖项 而不仅仅是Microsoft Build Utilities Core 使用 v15 1 0 preview 0004
  • 如何在 Android 应用程序中请求照片/媒体/文件权限

    在此输入图像描述 https i stack imgur com 2M033 png我希望我的应用程序请求照片 媒体 文件权限 因为第三方库需要它 任何人都可以告诉我要请求哪个特定权限 Thanks 文件 照片和媒体都保存在存储中 您的 A
  • 在 jboss 服务器中为 Web 应用程序进行新部署后,浏览器缓存文件未更新

    我正在使用 jboss Server 7 1 1 来部署 java web 应用程序 对于 js css 字体文件 浏览器缓存不会随着新的更改而更新 每次我们都坚持要求客户清除浏览器中的缓存以使新的更改生效 是否有任何我可以配置的配置 以便
  • VB6中列出文件夹中指定类型的所有文件的任何函数

    我想知道是否有一些内置函数适用于下面描述的场景 输入是父文件夹的路径 该函数必须做的是 它应该列出该父文件夹内的所有 zip 文件 父文件夹可以包含任意数量的子文件夹 这同样适用于子文件夹 任何人都可以帮我解决这个问题吗 VB版不是路障 V
  • Java 桌面应用程序 - 哪种技术? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我需要实现一个Java桌面应用程序 您会推荐哪种框架 SWT Swing Java FX 还是其他框架 我要求该应用程序应在 Windows x
  • Inno Setup TInputQueryWizardPage (CreateInputQueryPage) 上如何减小两个输入框之间的行距

    我有一个TInputQueryWizardPage具有 8 个用户输入的页面 这增加了向导页面 https stackoverflow com q 11778292 但所有值仍然不可见 有没有办法减少两个值之间的行距 以便所有值都以当前向导
  • http-proxy-middleware 中的 60 秒超时

    我在使用时看到 60 秒超时chimurai http proxy middleware in Create React App我不明白它是从哪里来的 我正在端口 5000 上运行 API 并进行配置setupProxy js as con
  • 在 matplotlib 中自定义 x 轴

    In the figure below each unit in the x axis represents a 10mins interval I would like to customize the labels of x axis
  • 如何在午夜更新应用程序小部件?

    我的应用程序有一个小部件 显示今天的日期 需要在午夜更新 该小部件在清单中定义为
  • 为什么使用 UIPanGestureRecognizer 移动对象时会出现延迟?

    我要搬家了UIView对象使用UIPanGestureRecognizer 我在屏幕上拖动手指的次数 我向同一方向移动视图的次数 仅在 X 方向上 向左或向右 Y 方向不变 它工作正常 但是 非常明显 delay 这是处理的方法UIPanG
  • 重命名 IAM 角色

    我在创建 IAM 角色以允许 lambda 函数访问 cloudwatch 日志并创建 EC2 卷快照时犯了一个拼写错误 有没有办法重命名角色 无论是使用控制台还是 AWS CLI 创建角色后 您无法编辑 IAM 角色 这在多个地方都提到过
  • 将 FASTA 文件中的多个序列添加到 python 中的列表中

    我正在尝试组织具有多个序列的文件 在此过程中 我尝试将名称添加到列表中 并将序列添加到与名称列表并行的单独列表中 我弄清楚了如何将名称添加到列表中 但我不知道如何将其后面的序列添加到单独的列表中 我尝试将序列行附加到空字符串中 但它将所有序
  • C# 如何判断 DVD 驱动器托盘是否打开?

    我有一个用 C 编写的 DVD 读取和刻录应用程序 我希望能够检测空驱动器 无磁盘 和打开驱动器之间的区别 编辑 经过更多谷歌搜索后 我认为更好的问题描述是 我想访问驱动器托盘状态 打开或关闭 我可以用 ManagementObjectSe
  • ASP.NET MVC5/IIS Express 无法调试 - 代码未运行

    我启动 VS2013 VB Net MVC5 Web 应用程序 在 HomeController About 方法中设置断点并运行 开始调试 导航到 About 页面并接收消息 Code not running The current Th
  • gnu make“删除中间文件”

    我有以下规则 define compile c ECHO CC lt Q CC CFLAGS c MD o lt The following fixes the dependency file See http make paulandle
  • 从原始数据的字节数组中获取缓冲图像

    我正在使用JNA 我从我的 C 方法中获取原始数据的字节数组 现在我陷入了如何使用这个原始数据字节数组在java中获取缓冲图像的困境 我尝试了一些方法来使其成为 tiff 图像 但我没有取得成功 这是我到目前为止尝试过的代码 这里我的字节数
  • 将子视图延迟加载到非分页 UIScrollView 中

    我正在尝试实现一个类似幻灯片的 UIScrollView 它将填充目录页面的缩略图 选择缩略图将导致主 UIScrollView 移动到所选页面 目录可能包含 100 200 页 我只想在需要时才延迟加载它们 我已经在启用分页的 UIScr
  • 创建用于 XML 导出的多维对象

    我正在导入一个包含大量发票数据的 csv 文件 该数据需要根据供应商 ID 分组在一起 以显示每个供应商的标题以及该供应商 ID 的所有发票的总和 然后在其下方显示每张单独的发票 该项目的目标是导入 CSV 向用户显示数据 允许通过选择框更
  • Javascript 在选中的复选框上克隆此 div,在未选中的情况下删除此 div

    选中该复选框后 克隆正确的 div 并将其显示在示例中 div div 当取消选中该复选框时 删除克隆 并伴随localStorage 有人可以帮我解决这个问题吗 function onClickAvGamesCheckBox var ar
  • 使用 Blobstore API 和 Images API 直接从 GAE 中的 GCS 提供图像

    关于 Blobstore 和 Google Cloud Storage GCS 的许多问题和答案已有两三年历史 而这些年情况发生了巨大变化 GCS 不再是一项独立的服务 这是融合的 https developers google com s