Google app engine 迁移到人力资源部“;此应用程序无权访问该blob“;

Google app engine 迁移到人力资源部“;此应用程序无权访问该blob“;,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,我刚迁移到HRD,现在它告诉我我无法访问自己的blob Uncaught exception from servlet java.lang.SecurityException: This application does not have access to that blob. at com.google.appengine.api.blobstore.BlobstoreServiceImpl.fetchData(BlobstoreServiceImpl.java:200) at com.dr

我刚迁移到HRD,现在它告诉我我无法访问自己的blob

Uncaught exception from servlet
java.lang.SecurityException: This application does not have access to that blob.
at com.google.appengine.api.blobstore.BlobstoreServiceImpl.fetchData(BlobstoreServiceImpl.java:200)
at com.droidastic.telljokes.server.servlet.ServeBlobsServlet.checkBlobKeyExists(ServeBlobsServlet.java:100)
at com.droidastic.telljokes.server.servlet.ServeBlobsServlet.doGet(ServeBlobsServlet.java:64)

这在我迁移到人力资源部之前发生过。我把我的键作为字符串存储在数据存储中,当我迁移时,这些字符串键不会被重新写入。那真是一场噩梦


无论如何,您的blobstore密钥可能没有被重新写入以指向HRD中新应用程序中的新密钥。这可能是因为您将它们存储为字符串或其他类似于Java中BlobstoreKey的东西。

仍然让我抓狂。。。我可以至少还原别名吗?!我试着禁用新版本,但没用。删除需要72小时…我不认为删除会改变任何事情。我没有给blob他们的密钥,密钥是自动分配的,我设置的是blob标题,标题仍然正确,blob密钥正确,我可以在blobviewer中看到blob。但是当我想要访问它们时,我得到了上面的异常:/@Felix但是一旦它们被生成,你在哪里存储blob密钥?如果像Albert指出的那样将它们存储为字符串,那么迁移过程无法判断它们是blob键,也不会更新它们。哦,现在我明白了:)是的,我将它们存储为字符串,然后我创建它们,如下所示:BlobKey=new BlobKey(this.params.BlobKey);这不是预期用途吗:/?我怎样才能恢复这些斑点?我建议你就此提出另一个问题。:)