2013-12-22 73 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. 如果禁用了寫入,請爲應用程序重新啓用數據存儲寫入。
相關問題