Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 从谷歌云存储服务静态文件?_Google App Engine_Google Cloud Storage - Fatal编程技术网

Google app engine 从谷歌云存储服务静态文件?

Google app engine 从谷歌云存储服务静态文件?,google-app-engine,google-cloud-storage,Google App Engine,Google Cloud Storage,我想为app engine中托管的应用程序提供存储在google云存储中的静态文件。在HTML文件中,我使用 <link href="https://storage.cloud.google.com/my_bucket/custom.css" rel="stylesheet"> 如果登录用户的google帐户具有访问bucket的权限,则它可以正常工作。 因为任何人都可以访问我的应用程序,在这种情况下,静态文件将不会被提供 是否可以公开bucket中的静态文件?我将静态文件(c

我想为app engine中托管的应用程序提供存储在google云存储中的静态文件。在HTML文件中,我使用

<link href="https://storage.cloud.google.com/my_bucket/custom.css" rel="stylesheet">

如果登录用户的google帐户具有访问bucket的权限,则它可以正常工作。 因为任何人都可以访问我的应用程序,在这种情况下,静态文件将不会被提供


是否可以公开bucket中的静态文件?我将静态文件(custom.css)设置为“公共共享”(ACL设置为“公共读取”),但其他用户仍无法访问它。

我不确定您是如何上载文件的,以及为什么公共读取设置不正确,但您也可以通过。只需找到bucket和文件并单击
公开共享
复选标记,即可获得链接

或者,您可以使用with public read立即上载该文件:

gsutil cp -a public-read custom.css gs://my_backet

除了通过手动更改每个静态文件外,您还可以使用以下方式公开查看:

用于设置当前存储桶对象的公共读取

gsutil -m acl set -R -a public-read gs://BUCKET_NAME
用于将未来上载设置为默认值

gsutil -m defacl set public-read gs://BUCKET_NAME
“公开共享”复选框将自动选中上载的每个文件

对于,请确保您已为组和用户输入授权id或电子邮件,并为组和用户输入域,否则您将收到如下错误消息:

'DefAclCommand' object has no attribute 'continue_on_error'

您也可以在或中执行此操作。

添加文件后,是否通过在存储桶上设置默认ACL来执行此操作?是的。我使用了files.gs.create(“/gs/my_bucket/custom.css”,acl='public-read')。缺少复选标记!谢谢你的照片,否则我就找不到了。