这是我们的简单用例:user2 想要将 user1 的文档复制到我们应用程序中他或她自己的存储库中。应该很简单吧?我们需要做的就是在 blobstore 中创建第二个相同的 blob,返回的密钥可以与 user2 关联。我们一定在这里遗漏了一些东西。看来应用引擎blob store的主要功能是处理从浏览器上传和下载的blob,而服务器端发起的简单复制操作并不是那么简单。
显而易见的解决方案似乎是使用java中的实验文件api,但没有爱。它可以工作,直到您的文件大小超过 MB 左右,然后它才会失败,这有点出人意料。当我们只需要在存储层中进行复制时,将它们全部读入服务器层似乎也很愚蠢。此外,我们在生产环境中获得实验性功能的可能性很小,尽管不为零。
关于我们环境的一些信息:该应用程序是用 Java 编写的,我们使用的是 blobstore,而不是云存储,并且目前正在使用它。我们是一个小型部门团队,希望证明应用引擎是一个很好的平台,但这个让我们很难过。S3 使这变得非常简单,我们在这里错过了一些非常愚蠢的东西吗?