Google cloud platform 在Google云平台中将存储类从多区域更改为Coldline

Google cloud platform 在Google云平台中将存储类从多区域更改为Coldline,google-cloud-platform,google-cloud-storage,gcloud,gsutil,Google Cloud Platform,Google Cloud Storage,Gcloud,Gsutil,我刚刚用谷歌云平台完成了一年的免费试用,现在我正在付费 当我设置我的第一个项目时,它看起来像是我将其设置为多区域的。我只会在家中发生灾难性故障时使用谷歌云存储,我会丢失内部和外部硬盘上的数据(如火灾等)。我相信对于这种类型的备份,我只需要Coldline存储。我确实将我的项目改为Coldline,但它看起来只更改了新数据,而不是原始存储的数据,因为我仍然需要支付多区域存储的费用 据我所知,我必须通过使用“gsutil rewrite-s[Storage\u Class]gs://[PATH\u

我刚刚用谷歌云平台完成了一年的免费试用,现在我正在付费

当我设置我的第一个项目时,它看起来像是我将其设置为多区域的。我只会在家中发生灾难性故障时使用谷歌云存储,我会丢失内部和外部硬盘上的数据(如火灾等)。我相信对于这种类型的备份,我只需要Coldline存储。我确实将我的项目改为Coldline,但它看起来只更改了新数据,而不是原始存储的数据,因为我仍然需要支付多区域存储的费用

据我所知,我必须通过使用
“gsutil rewrite-s[Storage\u Class]gs://[PATH\u to\u Object]”覆盖数据或通过对象生活方式管理来更改对象存储类。我也不知道怎么做,所以我需要帮助(我甚至不知道在哪里输入这些命令或者使用哪种方法(我不是程序员!!))

我还在另一篇文章中看到,我的gsutil命令需要更新到4.22或更高版本。我怎么检查这个??在这篇文章中,我还看到[PATH_TO_OBJECT]是我的Bucket。我看到一个项目名称、项目ID和项目编号。这些(如果有的话)中的哪一个用于我的铲斗

谢谢你的帮助

我还在另一篇文章中看到,我的gsutil命令需要更新 4.22或更高。我怎么检查这个

获取gsutil版本:

gsutil version
更新包含gsutil的云SDK:

窗口: 打开具有管理员权限的命令提示符

gcloud components update
Linux:

gcloud components update
我看到一个项目名称、项目ID和项目编号。这是哪一个 (如果有)在该字段中用于我的铲斗

使用项目ID。获取您有权访问的项目列表。此命令将列出每个项目

gcloud projects list
要查看默认项目,请执行以下操作:

gcloud config list project
gcloud config set project [PROJECT_ID]
如果默认项目为空或错误,请使用以下命令

要设置默认项目,请执行以下操作:

gcloud config list project
gcloud config set project [PROJECT_ID]
据我所知,我必须更改对象存储类 要么我重写了数据

假设您的bucket名称是
mybucket

步骤1:更改bucket的默认存储类:

gsutil defstorageclass set coldline gs://mybucket
步骤2:手动更改每个对象的存储类。如果您只想选择几个文件,这是一个选项

gsutil rewrite -s coldline gs://mybucket/objectname
步骤3:验证现有的生命周期策略。如果存在现有策略,则相应地更改步骤4

gsutil lifecycle get gs://mybucket
步骤4:更改存储桶的生命周期。此策略将所有早于7天的文件移动到coldline存储

策略(写入lifecycle.json):

命令:

gsutil lifecycle set lifecycle.json gs://mybucket

在我解决了一些问题之后,我完成了第一步。因此,我的存储桶的默认存储类现在是coldline。我不认为我需要执行第2步,因为我希望我的整个桶都是冷线(但我不确定,因为我不知道对象是什么)。在步骤3中,我被告知我的bucket没有生命周期配置,所以我继续执行步骤4。我是否使用所有括号等在不同的行中键入您提交的保单??如果是这样的话,在我键入该命令后,我是否键入您在它之后显示的命令,gsutil lifecycle set lifecycle.json gs://mybucket???复制并粘贴到文件中,不要手动键入json。CLI不关心json是否是一个大的行,但是如果您收到错误消息,那么如果json是格式化的,那么调试就容易多了。是的,使用我给您的命令行更改bucket名称。对象是存储在bucket中的文件。很抱歉,我对编程命令等一无所知。如果我将上述策略复制并粘贴到管理命令提示符中,我会收到关于无法识别的命令的各种错误消息。你在上一篇文章中说过要粘贴到文件中。我不知道应该在哪里做。看起来coldline存储的变化发生在我的桶上,所以我甚至需要执行步骤4??从我最初对该主题的阅读中,我认为您可以做一个或另一个(gsutil重写数据或使用生命周期管理)。谢谢你的帮助,顺便说一句!!!正如我在回答中所示:
POLICY(write-to-lifecycle.json):
如果我在管理提示中键入:POLICY(write-to-lifecycle.json):我会收到错误消息,因此我认为我不应该这样做。对不起,我不是程序员,我是兽医,所以这对我来说是全新的。