在Google Cloud Platform中将存储类别从Multi-Regional更改为Coldline

问题描述 投票:0回答:1

我刚刚使用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在该字段中使用了哪些(如果有的话)?

感谢您的任何帮助

google-cloud-platform google-cloud-storage gcloud gsutil
1个回答
2
投票

我还在另一篇文章中看到我的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
© www.soinside.com 2019 - 2024. All rights reserved.