从python后端到Google云存储中文件的公共URL(Google应用程序引擎)

从python后端到Google云存储中文件的公共URL(Google应用程序引擎),python,google-app-engine,file-upload,google-cloud-storage,Python,Google App Engine,File Upload,Google Cloud Storage,我正在开发一个Android应用程序,它与用Python编写的后端Google应用程序引擎进行通信。用户正在上传和下载文件到谷歌云存储。到目前为止,文件通过POST请求发送到GAE后端,然后保存在GCS中。我希望用户直接向GCS发送(以避免通过POST发送大文件)。并且(根据下载请求),我想向该文件发送仅限用户的公共URL。有一个很好的PHP教程: 和 关键的一句话是:“一旦文件以公共可读的方式写入云存储,您就需要使用CloudStorageTools::getPublicUrl获取文件的公共U

我正在开发一个Android应用程序,它与用Python编写的后端Google应用程序引擎进行通信。用户正在上传和下载文件到谷歌云存储。到目前为止,文件通过POST请求发送到GAE后端,然后保存在GCS中。我希望用户直接向GCS发送(以避免通过POST发送大文件)。并且(根据下载请求),我想向该文件发送仅限用户的公共URL。有一个很好的PHP教程: 和
关键的一句话是:“一旦文件以公共可读的方式写入云存储,您就需要使用CloudStorageTools::getPublicUrl获取文件的公共URL。”如何在python中实现同样的操作?

GCS中文件的公共URL如下所示:

https://storage.googleapis.com/<appname>.appspot.com/<filename>
https://storage.googleapis.com/.appspot.com/
当我将文件存储在GCS中时,我会显式地给文件一个文件名,这样我就可以使用上面的模板创建一个服务URL


在GCS中存储文件时是否提供文件名?如果没有,你能做到吗?可能在您的问题中提供了有关如何将文件保存到GCS以获得更好答案的详细信息。

GCS中文件的公共URL如下所示:

https://storage.googleapis.com/<appname>.appspot.com/<filename>
https://storage.googleapis.com/.appspot.com/
当我将文件存储在GCS中时,我会显式地给文件一个文件名,这样我就可以使用上面的模板创建一个服务URL


在GCS中存储文件时是否提供文件名?如果没有,你能做到吗?可能在您的问题中提供了有关如何将文件保存到GCS以获得更好答案的详细信息。

是的,我正在使用GCS.open(文件名、选项…)创建文件。那么,在创建文件时,通过设置正确的“x-goog-acl”选项来公开一个文件就足够了吗?我自己还没有这样做,但听起来似乎可以。请尝试让我们知道。是的,需要做的是将“x-goog-acl”设置为允许读取的任何选项(如“公共读取”),然后我们可以使用您显示的链接。非常感谢。是的,我正在使用gcs.open(文件名、选项…)创建文件。那么,在创建文件时,通过设置正确的“x-goog-acl”选项来公开一个文件就足够了吗?我自己还没有这样做,但听起来似乎可以。请尝试让我们知道。是的,需要做的是将“x-goog-acl”设置为允许读取的任何选项(如“公共读取”),然后我们可以使用您显示的链接。非常感谢。