2013-12-22 114 views

回答

6

您可以将app2的服务帐户添加到存储区的ACL列表,以允许应用程序访问存储区。

首先,你需要找到应用的服务帐户名,这是在管理控制台中的应用程序设置页中列出,但它也只是<app-id>@appspot.gservicaccount.com

然后添加使用该帐户的ACL斗富gsutil acl ch,通过将app2的服务帐户添加到ACL列表中。

最后,它可能会是这样的:

gsutil acl ch -u -R [email protected]:WRITE gs://bucket-foo 
+0

这是不可能通过网站设置,但'gsutil'仍然工作(没有-R标志)。 –

+0

读取权限需要恢复'gsutil -m acl ch -r -u app2:READ gs:// bucket' –

1

这谷歌文档,工作对我来说:https://cloud.google.com/appengine/docs/python/console/datastoreadmin?hl=lv#restoring_data_to_another_app

恢复数据到另一个应用程序

如果备份使用Google云端存储的数据,您可以将备份恢复到用于创建备份的应用以外的应用。

从一个应用程序恢复备份数据到不同的应用程序:

  1. 使用谷歌云平台控制台,找到了用于备份的水桶项目,并添加目标应用程序(App Engine的默认将要恢复的应用程序的服务帐户电子邮件)添加到具有编辑权限的项目团队。
  2. 在要复制其数据的应用程序中进行新备份。在上一步中设置的权限不会追溯到现有的备份,因此目标应用将无法访问这些较早的备份。目标应用程序只能访问授予权限后所做的备份。
  3. (可选)为您的目标应用程序禁用数据存储。 (这通常是一个好主意,以避免还原和写入数据存储的任何新数据之间发生冲突。)
  4. 转到目标应用程序的管理页面,然后单击打开数据存储管理。
  5. 在标记为导入备份信息的按钮旁边的文本框中,指定包含备份的存储区,格式为/ gs/my_bucket。这将导致显示该存储桶中所有备份的列表。或者,为特定备份提供文件句柄;可以通过选择备份并单击信息从源应用程序获取句柄;文件句柄出现在标签Handle旁边。
  6. 点击导入备份信息。
  7. 生成的选择页面显示您指定的存储桶的可用备份,除非您通过其句柄指定备份。选择所需的备份,然后单击以下选项之一: 如果要将此备份保留在应用程序的可用备份列表中,请将其添加到备份列表。 如果要从此备份中恢复,但不希望将备份显示在应用程序的可用备份列表中,请从备份中恢复。
  8. 在显示的咨询页面中,注意带有复选框的实体列表。默认情况下,所有实体都将被恢复。取消选中您不想恢复的每个实体旁边的复选框。
  9. 同样在咨询页面中,请注意,默认队列及其预配置的性能设置用于还原作业。如果您需要不同的队列性能特征,请将其更改为您配置不同的另一个队列。
  10. 单击还原启动还原。请注意显示作业状态页面。
  11. 如果禁用了写入,请为应用程序重新启用数据存储写入。
相关问题