我正在将 App Engine 与 Python 一起使用。为了存储我的用户的图像,我按照Google 文档中的说明将它们直接写入 blobstore 。
我的代码如下:
# Image insertion in the blobstore
file_name = files.blobstore.create(mime_type='image/jpeg')
with files.open(file_name, 'a') as f:
f.write(self.imageContent)
files.finalize(file_name)
self.blobKey = files.blobstore.get_blob_key(file_name)
logging.info("Blobkey: "+str(self.blobKey))
问题是不稳定的。我没有改变任何东西,从昨天开始有时它会起作用,有时它不起作用。为什么?当我打印 blobkey(我的代码的最后一行)时,我可以看到图像是否已保存到 blobstore 中。
当它工作时,我会显示以下行:
Blobkey: AMIfv94p1cFdqkZa3AhZUF2Tf76szVEwpGgwOpN...
当它不起作用时,我的日志中有这个:
Blobkey: None
最后一个细节:图像(self.imageContent)在每次写入之前都经过预处理并转换为.JPEG。
编辑:
每次,图像都存储在 blobstore 中(我可以在管理控制台的 blobviewer 中看到它们)。这就是发生故障的 get_blob_key 函数......
我想知道在这种情况下我该怎么办?我是否做错了什么导致 App Engine 行为不稳定。我该如何解决这个问题?