在app引擎中,我可以使用我的应用程序的默认存储桶来提供像pdf这样的cloudstorage文件:
http://storage.googleapis.com/.appspot.com/
但是,如何在不使用blob_key的情况下在SDK中提供本地cloudstorage文件?
我这样写默认存储桶:
gcs_file_name = '/%s/%s' % (app_identity.get_default_gcs_bucket_name(), file_name) with gcs.open(gcs_file_name, 'w') as f: f.write(data)
SDK ='app_default_bucket'中默认存储桶的名称
在SDK数据存储区中,我有一个:GsFileInfo显示:filename:/app_default_bucket/example.pdf
更新和解决方法:您可以获取非图像文件(如css,js和pdf)的服务URL.
gs_file = '/gs/%s/%s/%s' % (app_identity.get_default_gcs_bucket_name(), folder, filename) serving_url = images.get_serving_url(blobstore.create_gs_key(gs_file))
voscausa.. 11
更新我发现此功能使用SDK提供云存储文件:
此功能尚未记录.
http://localhost:8080/_ah/gcs/app_default_bucket/filename
这个meands我们不需要img服务网址来提供NON图像,如下所示!
要在default_bucket中为图像,css,js和pdf等云存储文件创建e服务URL,我使用此代码进行测试(SDK)和GAE生成:
重要提示:images.get_serving_url()也适用于SDK中的非图像!
在SDK中,您需要使用blobstore读取blob并为cloudstorage对象创建服务URL.
我还在SDK和GAE生产中添加了读取,写入和上载cloudstorage blob的代码.
代码可以在这里找到.