使用Google App Engine PHP的临时文件的最佳解决方案/实践?

时间:2015-06-13 18:36:40

标签: php google-app-engine curl memcached temp

对于使用PHP的GAE上的临时文件,普遍接受的智慧/技术解决方案,请?

我需要使用PHP存储和处理一个图像(几百K大小),暂时(例如,<1秒)需要作为临时文件存在,然后才能在其他地方发送,临时文件可以删除。我的网站需要为潜在的大量用户自动缩放(使用GAE作为标准)。

我的想法是尝试将临时文件存储在内存中(使用tempnam()等),如果失败(例如,该实例上的mem full),请立即尝试使用其他存储。问题是什么?图片必须作为CURL文件提供才能访问它(我认为?)并发送到其他地方,所以Memcache不是一个选项(不能将数据作为文件访问CURL - 或者我可以吗?),但是例如云存储是(通过'gs:// [bucket-name] / ...')。事情是,如果我刚刚将文件写入存储,它是否可以立即读取?这也是一笔巨大的成本...

非常感谢任何帮助!

谢谢, 亚历

1 个答案:

答案 0 :(得分:1)

GCS还提供与您的应用相关联的默认应用程序免费存储桶。此存储桶没有配额。

  

使用默认存储桶

     

使用默认存储桶:

     

确定您的应用是否已创建默认存储桶:

     
      
  • 访问App Engine管理控制台并选择您的应用。
  •   
  • 在左侧导航窗格中选择“应用程序设置”。
  •   
  • 如果您的应用有   默认存储桶,“应用程序设置”页面将包含标签   Google云端存储存储桶,其下方列出了存储桶名称。该   默认存储桶名称通常为.appspot.com,其中   是你的申请ID。
  •   
     

如果您的应用没有默认存储桶,   创建一个:

     
      
  • 访问App Engine管理员控制台并选择您的应用。
  •   
  • 在左侧导航窗格中选择“应用程序设置”,然后滚动到   页面底部为云集成
  •   
  • 单击“创建”并等待   要创建的存储桶。铲斗已完全安装好并准备就绪   使用。
  •   

参考:https://cloud.google.com/appengine/docs/python/googlecloudstorageclient/activate#using_a_default_bucket