【问题标题】:Can I store a blob with a key_name with Google Appengine ndb?我可以使用 Google Appengine ndb 存储带有 key_name 的 blob 吗?
【发布时间】:2012-11-22 09:00:10
【问题描述】:

我正在构建一个可以上传图片的服务。在 blob 创建时,我想提供一个 key_name,相关实体稍后将使用它来检索它。

【问题讨论】:

  • 我的印象是我可以将 key_name 添加到 blob 的 blobInfo 对象,但不确定这是否是正确的方法。
  • 这是正确的做法

标签: python google-app-engine blob blobstore


【解决方案1】:

当您将数据上传到 blobstore 时,您会收到一个 blob_key 和一个 file_name。 blob_key 是唯一的。 file_name 不是唯一的。当您使用相同的 file_name 进行另一次上传时,新版本会以相同的 file_name 和新的唯一 blob_key 存储在 blobstore 中。第一个 blob 不会被删除。你必须自己做。

要管理这些上传的 Blob,您需要使用自己的 key_name 创建一个数据存储实体。为此,您可以使用 file_name。您可以在此实体中使用 BlobKeyProperty (NDB) 或 blobstore.BlobReferenceProperty (datastore) 来引用您的 blob(以保存您的 blob_key 引用)。这样,您的 key_name / file_name 就可以唯一标识您的 blob。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 2013-07-16
    • 1970-01-01
    • 2021-03-22
    • 2018-11-14
    • 1970-01-01
    相关资源
    最近更新 更多