我刚刚在Google Cloud Platform上完成了为期一年的免费试用,现在正在向我收费。
当我设置第一个项目时,好像将其设置为“多区域”一样。仅当我的家发生灾难性故障时,我才会使用Google Cloud Storage,因为我的内部和外部硬盘驱动器上的数据都丢失了(例如,火灾等)。我相信对于这种备份,我只需要Coldline存储。我确实将项目更改为Coldline,但看起来它仅更改了新数据,而不更改了原始存储的数据,因为我仍然需要为多区域存储付费。
据我了解,我必须通过使用"gsutil rewrite -s [STORAGE_CLASS] gs://[PATH_TO_OBJECT]"
覆盖数据或通过对象生活方式管理来更改对象存储类。我也不知道该怎么做,所以我需要帮助(我什至不确定在哪里键入这些命令或使用哪种方法(我不是程序员!)。
我还在另一篇文章中看到我的gsutil命令需要更新到4.22或更高版本。我该如何检查?我还在这篇文章中看到[PATH_TO_OBJECT]是“我的存储桶”。我看到一个项目名称,项目ID和项目编号。该字段中的哪个(如果有的话)用于“我的存储桶”?
谢谢您的帮助
答案 0 :(得分:2)
我还在另一篇文章中看到我的gsutil命令需要最新 4.22或更高。我该如何检查?
获取gsutil版本:
gsutil version
更新包含gsutil的Cloud SDK:
Windows: 打开具有管理员权限的命令提示符
gcloud components update
Linux:
gcloud components update
我看到一个项目名称,项目ID和项目编号。这些之中的哪一个 (如果有)用于该字段中的“我的存储桶”。
使用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