Google cloud storage 提供的文本框中的源bucket服务帐户的电子邮件地址,然后授予存储管理员权限] 如果您正在使用gcloud cli[命令行工具],并且已登录到源项目,则可以立即运行gsutil命令。但是,如果未正确验证,则可能会出现访问权限错误。通过运行以下命令gcloud auth activate service account--key file=/path/to/source service account.json,您可以使用服务帐户文件[您在上面1.中创建和下载的文件]进行身份验证。完成此操作后,您将使用服务帐户登录到GCP。您现在可以运行gsutil命令来传输文件 完成后,使用gcloud auth list检查登录状态。而且,您可以使用gcloud配置设置帐户“account”来切换帐户。

Google cloud storage 提供的文本框中的源bucket服务帐户的电子邮件地址,然后授予存储管理员权限] 如果您正在使用gcloud cli[命令行工具],并且已登录到源项目,则可以立即运行gsutil命令。但是,如果未正确验证,则可能会出现访问权限错误。通过运行以下命令gcloud auth activate service account--key file=/path/to/source service account.json,您可以使用服务帐户文件[您在上面1.中创建和下载的文件]进行身份验证。完成此操作后,您将使用服务帐户登录到GCP。您现在可以运行gsutil命令来传输文件 完成后,使用gcloud auth list检查登录状态。而且,您可以使用gcloud配置设置帐户“account”来切换帐户。,google-cloud-storage,Google Cloud Storage,干杯。“项目”是一种组织工具的结构。。。不管怎样,对象都存在于桶中。所以你只能把它从一个桶复制到另一个桶。@HannahS如果有一个答案对你有用,请将它标记为已接受的答案。这奖励了作者,也帮助了其他有同样问题的人。这似乎是在同一个项目的两个桶之间复制。你有从一个项目复制到另一个项目的例子吗?这个例子中的bucket可以在不同的项目中。本例中没有提到特定项目。问题在于凭据,您必须拥有访问这两个项目的凭据。@JohnAndrews对我有效的方法是:尝试执行gsutil cp命令,如本问题其他部分所述

干杯。

“项目”是一种组织工具的结构。。。不管怎样,对象都存在于桶中。所以你只能把它从一个桶复制到另一个桶。@HannahS如果有一个答案对你有用,请将它标记为已接受的答案。这奖励了作者,也帮助了其他有同样问题的人。这似乎是在同一个项目的两个桶之间复制。你有从一个项目复制到另一个项目的例子吗?这个例子中的bucket可以在不同的项目中。本例中没有提到特定项目。问题在于凭据,您必须拥有访问这两个项目的凭据。@JohnAndrews对我有效的方法是:尝试执行
gsutil cp
命令,如本问题其他部分所述,并且它会给您一个错误,告诉您哪个服务帐户缺少权限。然后,将其添加到bucket的权限中(我使用了角色存储对象Admin)并重试。我最终使用了:
gsutil-m rsync-pPr PROD-15745 gs://eci_staging\u transfer/PROD-15745
,其中PROD-15745是要复制的文件夹,而eci_staging\u则传输bucket名称。更有用的
gsutil
cmds:
gsutil cp dmesg.txt gs://my_bucket/
(只需复制一个文件),
gsutil ls-al gs://my_bucket/
(在那里列出文件),
gsutil rm gs://my_bucket/dmesg.txt
(删除文件)。
ls
输出格式与您习惯的不同。您也可以通过GCP控制台GUI随时检查bucket内容。这是我最简单的方法。在我看来,这个答案是最好的方法。完美答案:)这非常好,而且非常快,因为-m使它并行运行,并且使用rsync,因此它可以高效地复制未更改的文件。您确实需要一个在这两个项目上都具有正确权限的帐户。不知道为什么会被否决,这是快速完成此任务的最有效方法。gsutil rsync通过复制、更新或删除目标文件夹中已在源文件夹中更改的任何文件,使目标文件夹的内容与源文件夹的内容相同。上面的链接包括“]”,因此如果单击该链接,它将断开。这是正确的答案:问题。如果我在同一项目和地区内从bucket->bucket复制,我需要付费吗?如果我从bucket->bucket复制同一地区但不同的项目,我需要付费吗?谁能帮我回答这个问题?我成功地在两个项目之间复制,没有任何问题。不错
gsutil cp gs://bucket1/obj gs://bucket2/obj2
gsutil -m rsync -r gs://my/source/project/bucket/files/ gs://my/target/project/bucket/directory/
gsutil -m rsync -r gs://bucket-source/dir gs://bucket-destination/dir