GAE = 谷歌应用引擎 GCS = 谷歌云存储
我的 GAE 应用程序接收对实际存储在 GCS 存储桶上的文件的 GET 请求。我想将这些请求重定向到它们的真实位置,并在重定向的请求中包含一个身份验证令牌,以便 GCS 接受为它们提供服务。
要发出重定向,GAE 会公开webapp2.RequestHandler.redirect
它不允许我向原始请求添加任何标头。
是否可以重定向 GET 请求并在其中包含身份验证令牌?
GAE = 谷歌应用引擎 GCS = 谷歌云存储
我的 GAE 应用程序接收对实际存储在 GCS 存储桶上的文件的 GET 请求。我想将这些请求重定向到它们的真实位置,并在重定向的请求中包含一个身份验证令牌,以便 GCS 接受为它们提供服务。
要发出重定向,GAE 会公开webapp2.RequestHandler.redirect
它不允许我向原始请求添加任何标头。
是否可以重定向 GET 请求并在其中包含身份验证令牌?
HTTP 重定向只是一个带有 3XX 状态码的响应。您不能将标头或响应正文转发到新位置。
也就是说,您将希望在客户端上实现一些逻辑。您的客户端必须向您的 GAE 应用程序发出一个请求,然后处理响应,然后再向 GCS 发出一个请求,其中包含您要提供的所有标头或正文(在您的情况下是身份验证令牌)。
我也用这个更新了另一个线程,但以防万一你没有看到它。
在即将发布的 AppEngine 1.6.4 版本中,我们添加了将 Google Storage 对象名称传递给 blobstore.send_blob() 的功能,以便从您的 AppEngine 应用程序发送任意大小的 Google Storage 文件。我们为您的应用程序创建正确的令牌以访问 Google Storage 存储桶中的对象。
这是 1.6.4 的预发布公告。