我刚刚使用Google Cloud Platform完成了1年的免费试用,现在我正在收费。
当我设置我的第一个项目时,看起来我将其设置为Multi-Regional。我只会在家中发生灾难性故障的情况下使用Google云端存储,因为我会丢失内部和外部硬盘上的数据(例如火灾等)。我相信这种类型的备份,我只需要Coldline存储。我确实将我的项目更改为Coldline,但看起来它只更改了新数据,而不是原始存储数据,因为我仍然需要为多区域存储付费。
据我所知,我必须通过使用"gsutil rewrite -s [STORAGE_CLASS] gs://[PATH_TO_OBJECT]"
或Object Lifestyle Management覆盖数据来更改对象存储类。我无法弄清楚如何做,所以我需要帮助这样做(我甚至不确定在哪里键入这些命令或使用哪种方法(我不是程序员!!))。
我还在另一篇文章中看到我的gsutil命令需要最新的4.22或更高版本。我该怎么检查?我在这篇文章中也看到[PATH_TO_OBJECT]是我的桶。我看到了项目名称,项目ID和项目编号。 My Bucket在该字段中使用了哪些(如果有的话)?
感谢您的任何帮助
我还在另一篇文章中看到我的gsutil命令需要最新的4.22或更高版本。我该怎么检查?
获取gsutil版本:
gsutil version
更新包含gsutil的Cloud SDK:
Windows:使用管理员权限打开命令提示符
gcloud components update
Linux的:
gcloud components update
我看到了项目名称,项目ID和项目编号。在My Bucket的那个字段中使用了哪些(如果有的话)。
使用PROJECT_ID。获取您有权访问的项目列表。此命令将列出每个项目。
gcloud projects list
要查看哪个是您的默认项目:
gcloud config list project
如果默认项目为空或错误,请使用以下命令。
要设置默认项目:
gcloud config set project [PROJECT_ID]
根据我的理解,我必须更改对象存储类,否则我会覆盖数据
假设你的桶名是mybucket
。
步骤1:更改存储桶的默认存储类:
gsutil defstorageclass set coldline gs://mybucket
第2步:手动更改每个对象的存储类。如果您只想选择几个文件,这是一个选项。
gsutil rewrite -s coldline gs://mybucket/objectname
第3步:验证现有的生命周期策略。如果存在现有策略,则相应地更改步骤4。
gsutil lifecycle get gs://mybucket
第4步:更改铲斗的生命周期。此策略会将超过7天的所有文件移至冷线存储。
POLICY(写入lifecycle.json):
{
"lifecycle": {
"rule": [
{
"action": {
"type": "SetStorageClass",
"storageClass": "COLDLINE"
},
"condition": {
"age": 7,
"matchesStorageClass": [
"MULTI_REGIONAL",
"STANDARD",
"DURABLE_REDUCED_AVAILABILITY"
]
}
}
]
}
}
命令:
gsutil lifecycle set lifecycle.json gs://mybucket