Google app engine Bloblstore文件API到GCS API

Google app engine Bloblstore文件API到GCS API,google-app-engine,python-2.7,Google App Engine,Python 2.7,我最近注意到,在1.8.1应用程序引擎版本中,他们将文件的状态从“实验性”更改为“不推荐”,如Py2.7运行时Blobstore的API。查看这些文档,它们似乎没有用于云文件存储的类似文件的上下文管理器。是否有人将Blobstorage迁移到GCS API?非常感谢您提供的任何提示和建议。允许您使用appengine中的gcs,使用方式与旧文件api基本相同。我不知道为什么它没有在文档中更加突出 下面是一段来自 编辑: 它在文档中:允许您使用appengine中的gcs,与旧文件api基本相同。

我最近注意到,在1.8.1应用程序引擎版本中,他们将文件的状态从“实验性”更改为“不推荐”,如Py2.7运行时Blobstore的API。查看这些文档,它们似乎没有用于云文件存储的类似文件的上下文管理器。是否有人将Blobstorage迁移到GCS API?非常感谢您提供的任何提示和建议。

允许您使用appengine中的gcs,使用方式与旧文件api基本相同。我不知道为什么它没有在文档中更加突出

下面是一段来自

编辑: 它在文档中:

允许您使用appengine中的gcs,与旧文件api基本相同。我不知道为什么它没有在文档中更加突出

下面是一段来自

编辑:
在文档中:

我确实看到了。我的问题主要是因为缺少上下文管理器,它将底层内容抽象掉了。例如:使用files.open(file_blob,'a')作为f:f.write(payload)文件。finalize(file_blob)您仍然可以这样做:使用gcs.open(filename,'w')作为f:f.write('abcde\n')(这来自blobstore示例,但写入gcs:)哦,我没有意识到这一点。谢谢这将使迁移变得更加容易。我需要在这个答案中包含比较吗?或者您还需要什么?我确实看到了。我的问题主要是因为缺少上下文管理器,它将底层内容抽象掉了。例如:使用files.open(file_blob,'a')作为f:f.write(payload)文件。finalize(file_blob)您仍然可以这样做:使用gcs.open(filename,'w')作为f:f.write('abcde\n')(这来自blobstore示例,但写入gcs:)哦,我没有意识到这一点。谢谢这将使迁移变得更容易。我需要在这个答案中包含比较还是您想要的其他内容?我需要在答案中添加更多内容吗?我遗漏了什么?我需要补充更多的答案吗?我错过了什么?
def create_file(self, filename):
     """Create a file.
     The retry_params specified in the open call will override the default
     retry params for this particular file handle.

     Args:
       filename: filename.
     """
     self.response.write('Creating file %s\n' % filename)

     write_retry_params = gcs.RetryParams(backoff_factor=1.1)
     gcs_file = gcs.open(filename,
                    'w',
                    content_type='text/plain',
                    options={'x-goog-meta-foo': 'foo',
                             'x-goog-meta-bar': 'bar'},
                    retry_params=write_retry_params)
     gcs_file.write('abcde\n')
     gcs_file.write('f'*1024*1024 + '\n')
     gcs_file.close()
     self.tmp_filenames_to_clean_up.append(filename)