在创建快照时为标记添加标签

时间:2017-09-08 12:19:29

标签: c# .net-core google-cloud-platform google-compute-engine

我正在使用以下代码创建包含预期标签的快照:

static async void TakeSnapshots(string zone, string diskName)
{
    Dictionary<string, string> dict = new Dictionary<string, string>();
    dict.Add("env", "prod");
    dict.Add("backup", "auto");

    Random r = new Random();

    Google.Apis.Compute.v1.Data.Snapshot snapshot = new Google.Apis.Compute.v1.Data.Snapshot()
    {
        Name = "test-" + r.Next(1, 1000),
        Description = "Description",
        Labels = dict
    };

    var request = computeService.Disks.CreateSnapshot(snapshot, project, zone, diskName);

    try
    {
        var response = await request.ExecuteAsync();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

但是正在创建没有标签的快照。我做错了什么或事情坏了吗?

Google.Apis.Compute.v1 SDK版本为:1.29.1.958

1 个答案:

答案 0 :(得分:0)

在google-cloud中,快照的创建仅接受来自请求体字典的必需属性。

标签是要添加到资源的东西,对于创建资源来说,这不是必需的。因此,google-cloud代码会忽略标记,从请求中标记属性。

您需要POST另一个请求以添加标签资源。 谷歌云处理的好处是:如果您创建快照,即使快照尚未完成,您也可以通过其他请求标记资源。

因此,它实际上并没有阻止我们执行操作。

希望它有所帮助!