Google app engine 如何制作一个;交易';在数据存储和存储之间

Google app engine 如何制作一个;交易';在数据存储和存储之间,google-app-engine,google-cloud-datastore,google-cloud-storage,Google App Engine,Google Cloud Datastore,Google Cloud Storage,我有一个文件将被存储在谷歌存储。然后,我需要将有关此文件的数据存储在数据存储中,以便找到该文件。如果我得到文件并将其发送到存储,然后发生了一些事情,导致数据存储中没有未存储的信息,那么该文件将存在,但我将无法找到它。是否有某种技术或方法使整个过程成为“交易”?要么什么都插入,要么什么都不插入?谷歌存储和谷歌数据存储没有提供直接插入的API,但可以通过三步舞来完成。我假设您的数据存储实体名为FileInfo。我们需要另一个名为PreStoreFile的数据存储实体 将PreStoreFile写入包

我有一个文件将被存储在谷歌存储。然后,我需要将有关此文件的数据存储在数据存储中,以便找到该文件。如果我得到文件并将其发送到存储,然后发生了一些事情,导致数据存储中没有未存储的信息,那么该文件将存在,但我将无法找到它。是否有某种技术或方法使整个过程成为“交易”?要么什么都插入,要么什么都不插入?

谷歌存储和谷歌数据存储没有提供直接插入的API,但可以通过三步舞来完成。我假设您的数据存储实体名为
FileInfo
。我们需要另一个名为
PreStoreFile
的数据存储实体

  • PreStoreFile
    写入包含将写入文件的云存储路径和时间戳的数据存储
  • 将文件写入云存储
  • 在单个事务中,写入
    FileInfo
    并从步骤1中删除
    PreStoreFile
  • 最后,添加一个每小时或每一天运行一次并查找旧的
    PreStoreFile
    实体并将其与相应的数据存储对象一起删除的