Google cloud storage 如何将Google云存储桶从一个项目复制到另一个项目?

Google cloud storage 如何将Google云存储桶从一个项目复制到另一个项目?,google-cloud-storage,google-compute-engine,Google Cloud Storage,Google Compute Engine,我有一个计算引擎实例,Postgres在project1上运行。我想把它迁移到谷歌云SQL环境提供的完全管理的postgres上,在project2上,所以是一个不同的项目。 为了做到这一点,我将SSHed放入我的VM实例中,并将数据库转储到一个文件中 现在我想将数据库恢复到project2上的Google Cloud SQL中 我正在考虑将文件保存到project1的存储桶中,然后以某种方式将其移动到project2,但我不知道如何将存储桶从project1复制到project2我认为从您停止

我有一个计算引擎实例,Postgres在project1上运行。我想把它迁移到谷歌云SQL环境提供的完全管理的postgres上,在project2上,所以是一个不同的项目。 为了做到这一点,我将SSHed放入我的VM实例中,并将数据库转储到一个文件中

现在我想将数据库恢复到project2上的Google Cloud SQL中


我正在考虑将文件保存到project1的存储桶中,然后以某种方式将其移动到project2,但我不知道如何将存储桶从project1复制到project2我认为从您停止的位置执行此操作的最快方法是

  • 转储文件后,在SSH会话中,检查实例上激活的服务帐户

    $gcloud验证列表

  • 复制标记为活动的帐户

    - 31X0X6X0X4X8-compute@developer.gserviceaccount.com ACTIVE
    
  • 然后,转到project2云控制台上的存储页面,创建一个新的存储桶
  • 单击右侧的“更多选项”图标以编辑bucket权限。将服务帐户添加为具有写入权限的用户实体
  • 将转储文件从实例复制到project2上的bucket

    $gsutil cp/home/user/dump.gz gs://bucket-on-project2/

  • 将数据库从bucket导入到googlecloudsql
  • 如果您只想在存储桶之间转换文件:

    使用浏览器, 您可以在云控制台中导航到存储->传输

    使用th CloudSDK并考虑到您对两个项目上的两个bucket都有正确的写/读权限

    $ gsutil cp gs://bucket-on-project1/dump.gz gs://bucket-on-project2/