gpt4 book ai didi

google-app-engine - 生产中的 Blobstore 不会获取 BlobKey(而在 dev_appserver 中会获取)

转载 作者:太空宇宙 更新时间:2023-11-03 15:31:05 30 4
gpt4 key购买 nike

我有一个从给定网址获取图像并将其保存到 Google Cloud Storage 并检索服务网址的过程。现在,我的理解(根据我读过的文档)是我还必须在引用 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_app 服务器上出现的?好像一开始就没有生成 key ...

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

还是我做错了什么?谢谢!

最佳答案

blobstore.get()BlobInfo.get() 的同义词,关于 this 的注释页面说:

However, BlobInfo objects are currently not available for GCS objects.

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

此外,您不希望从这两行中收到相同的结果吗?

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

关于google-app-engine - 生产中的 Blobstore 不会获取 BlobKey(而在 dev_appserver 中会获取),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20828265/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com