生产中的Blobstore没有得到BlobKey(而在dev_appserver中它确实如此)

 黄骏捷 发布于 2023-02-07 16:32

我有一个流程可以从给定的网址中提取图片并将其保存到Google云端存储并检索服务网址.现在,我的理解(从我读过的文档中)是我还必须在引用GCS文件的过程中创建一个blob.如果我的理解不正确,请告诉我.

获取图像并尝试保存图像的处理程序是:

img_request = urlfetch.fetch(img_url)
    if img_request.status_code == 200:
        img_title               = hashlib.sha1(img_url).hexdigest()
        img_content             = img_request.content
        img_type                = img_request.headers['content-type']
        cloud_storage_filename  = '/images/%s/%s' % (self.source_name, img_title)

        blobstore_filename      = '/gs%s' % cloud_storage_filename
        blobstore_key           = blobstore.create_gs_key(blobstore_filename)

        cloud_storage_file      = gcs.open(filename=cloud_storage_filename, mode='w', content_type=img_type)
        cloud_storage_file.write(img_content)
        cloud_storage_file.close()

        # If I print blobstore_key at this stage, I am getting a result here.
        blobstore_key           = blobstore.get(blobstore_key).key()
        blobstore_serving_url   = images.get_serving_url(blobstore_key)

        # Structured Property to be part of a Datastore Model
        img_model = data_model.Image(
            s_source_url    = img_url,
            k_blob_key      = blobstore_key,
            s_serving_url   = blobstore_serving_url
        )
        return img_model

这在dev_appserver上工作正常,但是在生产中它会引发以下错误:

   blobstore_key           = blobstore.get(blobstore_key).key()
   AttributeError: 'NoneType' object has no attribute 'key'

为什么在生产中而不是在dev_appserver上引发此错误?好像密钥首先没有生成...

正如我在代码中所评论的那样,当我打印blobstore_key之前blobstore.get(blobstore_key).key()打印时,它会打印出一个键,所以它一直工作到那里.问题是,大概是,当我打电话blobstore.get()给钥匙时,它会None......为什么???

或者我做错了什么?谢谢!

1 个回答
  • blobstore.get()是该词的同义词BlobInfo.get(),此页面上的注释说:

    但是,BlobInfo对象当前不适用于GCS对象.

    这可以解释为什么你的blobstore.get()回报None.

    另外,您不期望从这两行获得相同的结果吗?

    blobstore_key = blobstore.create_gs_key(blobstore_filename)
    blobstore_key = blobstore.get(blobstore_key).key()
    

    2023-02-07 16:33 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有